Annotation Interface CloudContainer


@Retention(RUNTIME) @Target(FIELD) public @interface CloudContainer
Cloud Container The Cloud Container provides the ability to integration test applications across one or more cloud platforms. It is not intended to allow deep testing of a container, for that level of testing you should use a dedicated container manager like the Docker, Kubernetes or Podman(to be written) Managers.
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The image attribute provides the Image that is used to create the Cloud Container.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The cloudContainerTag is used to identify the Cloud Container to other Managers or Shared Environments.
    Defines the environment properties to provided to the container
    exposedPorts indicate which ports are to be exposed by the provider.
    Provides any run arguments for the container, if required.
    boolean
    The start attribute indicates whether the Cloud Container should be started automatically.
    int
    If the Cloud Container is to be automatically started, the startOrder dictates when they are started.
  • Element Details

    • cloudContainerTag

      String cloudContainerTag
      The cloudContainerTag is used to identify the Cloud Container to other Managers or Shared Environments. If a test is using multiple Cloud Containers, each separate Cloud Container must have a unique tag. If two Cloud Containers use the same tag, they will refer to the same Cloud Container.
      Default:
      "PRIMARY"
    • image

      String image
      The image attribute provides the Image that is used to create the Cloud Container. The image name must not include the Registry as this is provided in the CPS. If using a public official image from DockerHub, then the image name must be prefixed with library/, for example library/httpd:latest, the cloud Manager will not default to the library namespace like the Docker commands do.
    • start

      boolean start
      The start attribute indicates whether the Cloud Container should be started automatically. If the test needs to perform some work before the container is started, then start=false should be used, after which ICloudContainer.start() can be called to start the container.
      Default:
      true
    • startOrder

      int startOrder
      If the Cloud Container is to be automatically started, the startOrder dictates when they are started. Cloud Containers with a startOrder=1 will start first, then 2, then 3 etc.
      Default:
      1
    • exposedPorts

      CloudContainerPort[] exposedPorts
      exposedPorts indicate which ports are to be exposed by the provider. Unlike the Docker Manager, the Cloud container cannot automatically detect which ports are exposed during the image build, therefore ANY port that needs to be opened to the container will need to be declared here.
      Default:
      {}
    • environmentProperties

      CloudContainerEnvProp[] environmentProperties
      Defines the environment properties to provided to the container
      Default:
      {}
    • runArguments

      String[] runArguments
      Provides any run arguments for the container, if required.
      Default:
      {}