EntityUserOperator extends AbstractModel { @Override protected List<Container> getContainers(ImagePullPolicy imagePullPolicy) { return singletonList(new ContainerBuilder() .withName(USER_OPERATOR_CONTAINER_NAME) .withImage(getImage()) .withArgs("/opt/strimzi/bin/user_operator_run.sh") .withEnv(getEnvVars()) .withPorts(singletonList(createContainerPort(HEALTHCHECK_PORT_NAME, HEALTHCHECK_PORT, "TCP"))) .withLivenessProbe(ProbeGenerator.httpProbe(livenessProbeOptions, livenessPath + "healthy", HEALTHCHECK_PORT_NAME)) .withReadinessProbe(ProbeGenerator.httpProbe(readinessProbeOptions, readinessPath + "ready", HEALTHCHECK_PORT_NAME)) .withResources(getResources()) .withVolumeMounts(getVolumeMounts()) .withImagePullPolicy(determineImagePullPolicy(imagePullPolicy, getImage())) .withSecurityContext(templateContainerSecurityContext) .build()); } protected  EntityUserOperator(HasMetadata resource); void setWatchedNamespace(String watchedNamespace); String getWatchedNamespace(); void setReconciliationIntervalMs(long reconciliationIntervalMs); long getReconciliationIntervalMs(); void setClientsCaValidityDays(int clientsCaValidityDays); long getClientsCaValidityDays(); void setClientsCaRenewalDays(int clientsCaRenewalDays); long getClientsCaRenewalDays(); void setZookeeperSessionTimeoutMs(long zookeeperSessionTimeoutMs); long getZookeeperSessionTimeoutMs(); void setZookeeperConnect(String zookeeperConnect); String getZookeeperConnect(); void setKafkaBootstrapServers(String kafkaBootstrapServers); String getKafkaBootstrapServers(); static String userOperatorName(String cluster); static String metricAndLogConfigsName(String cluster); static String roleBindingName(String cluster); @Override String getAncillaryConfigMapKeyLogConfig(); static EntityUserOperator fromCrd(Kafka kafkaAssembly); List<Volume> getVolumes(); RoleBinding generateRoleBinding(String namespace, String watchedNamespace); void setContainerEnvVars(List<ContainerEnvVar> envVars); void setContainerSecurityContext(SecurityContext securityContext); @Override String createLog4jProperties(OrderedProperties properties); static final String ENV_VAR_RESOURCE_LABELS; static final String ENV_VAR_KAFKA_BOOTSTRAP_SERVERS; static final String ENV_VAR_ZOOKEEPER_CONNECT; static final String ENV_VAR_WATCHED_NAMESPACE; static final String ENV_VAR_FULL_RECONCILIATION_INTERVAL_MS; static final String ENV_VAR_ZOOKEEPER_SESSION_TIMEOUT_MS; static final String ENV_VAR_CLIENTS_CA_CERT_SECRET_NAME; static final String ENV_VAR_CLIENTS_CA_KEY_SECRET_NAME; static final String ENV_VAR_CLIENTS_CA_NAMESPACE; static final String ENV_VAR_CLIENTS_CA_VALIDITY; static final String ENV_VAR_CLIENTS_CA_RENEWAL; static final String ENV_VAR_CLUSTER_CA_CERT_SECRET_NAME; static final String ENV_VAR_EO_KEY_SECRET_NAME; static final Probe DEFAULT_HEALTHCHECK_OPTIONS; }
@Test public void testGetContainers() { List<Container> containers = entityUserOperator.getContainers(null); assertThat(containers.size(), is(1)); Container container = containers.get(0); assertThat(container.getName(), is(EntityUserOperator.USER_OPERATOR_CONTAINER_NAME)); assertThat(container.getImage(), is(entityUserOperator.getImage())); checkEnvVars(getExpectedEnvVars(), container.getEnv()); assertThat(container.getLivenessProbe().getInitialDelaySeconds(), is(Integer.valueOf(livenessProbe.getInitialDelaySeconds()))); assertThat(container.getLivenessProbe().getTimeoutSeconds(), is(Integer.valueOf(livenessProbe.getTimeoutSeconds()))); assertThat(container.getReadinessProbe().getInitialDelaySeconds(), is(Integer.valueOf(readinessProbe.getInitialDelaySeconds()))); assertThat(container.getReadinessProbe().getTimeoutSeconds(), is(Integer.valueOf(readinessProbe.getTimeoutSeconds()))); assertThat(container.getPorts().size(), is(1)); assertThat(container.getPorts().get(0).getContainerPort(), is(Integer.valueOf(EntityUserOperator.HEALTHCHECK_PORT))); assertThat(container.getPorts().get(0).getName(), is(EntityUserOperator.HEALTHCHECK_PORT_NAME)); assertThat(container.getPorts().get(0).getProtocol(), is("TCP")); assertThat(container.getVolumeMounts().get(0).getMountPath(), is("/opt/user-operator/custom-config/")); assertThat(container.getVolumeMounts().get(0).getName(), is("entity-user-operator-metrics-and-logging")); }