Search in sources :

Example 96 with ParallelTest

use of io.strimzi.test.annotations.ParallelTest in project strimzi by strimzi.

the class KafkaConnectBuildTest method testValidationUniqueNames.

@ParallelTest
public void testValidationUniqueNames() {
    KafkaConnect kc = new KafkaConnectBuilder().withNewMetadata().withName(cluster).withNamespace(namespace).endMetadata().withNewSpec().withBootstrapServers("my-kafka:9092").withNewBuild().withNewDockerOutput().withImage("my-image:latest").withPushSecret("my-docker-credentials").endDockerOutput().withPlugins(new PluginBuilder().withName("my-connector").withArtifacts(jarArtifactWithChecksum).build(), new PluginBuilder().withName("my-connector").withArtifacts(jarArtifactNoChecksum).build()).endBuild().endSpec().build();
    assertThrows(InvalidResourceException.class, () -> {
        KafkaConnectBuild.fromCrd(new Reconciliation("test", kc.getKind(), kc.getMetadata().getNamespace(), kc.getMetadata().getName()), kc, VERSIONS);
    });
}
Also used : KafkaConnectBuilder(io.strimzi.api.kafka.model.KafkaConnectBuilder) Reconciliation(io.strimzi.operator.common.Reconciliation) KafkaConnect(io.strimzi.api.kafka.model.KafkaConnect) PluginBuilder(io.strimzi.api.kafka.model.connect.build.PluginBuilder) ParallelTest(io.strimzi.test.annotations.ParallelTest)

Example 97 with ParallelTest

use of io.strimzi.test.annotations.ParallelTest in project strimzi by strimzi.

the class KafkaConnectBuildTest method testBuildconfigWithDockerOutput.

@ParallelTest
public void testBuildconfigWithDockerOutput() {
    Map<String, Quantity> limit = new HashMap<>();
    limit.put("cpu", new Quantity("500m"));
    limit.put("memory", new Quantity("512Mi"));
    Map<String, Quantity> request = new HashMap<>();
    request.put("cpu", new Quantity("1000m"));
    request.put("memory", new Quantity("1Gi"));
    KafkaConnect kc = new KafkaConnectBuilder().withNewMetadata().withName(cluster).withNamespace(namespace).endMetadata().withNewSpec().withBootstrapServers("my-kafka:9092").withNewBuild().withNewDockerOutput().withImage("my-image:latest").withPushSecret("my-docker-credentials").endDockerOutput().withPlugins(new PluginBuilder().withName("my-connector").withArtifacts(jarArtifactWithChecksum).build(), new PluginBuilder().withName("my-connector2").withArtifacts(jarArtifactNoChecksum).build()).withResources(new ResourceRequirementsBuilder().withLimits(limit).withRequests(request).build()).endBuild().endSpec().build();
    KafkaConnectBuild build = KafkaConnectBuild.fromCrd(new Reconciliation("test", kc.getKind(), kc.getMetadata().getNamespace(), kc.getMetadata().getName()), kc, VERSIONS);
    KafkaConnectDockerfile dockerfile = new KafkaConnectDockerfile("my-image:latest", kc.getSpec().getBuild());
    BuildConfig bc = build.generateBuildConfig(dockerfile);
    assertThat(bc.getMetadata().getName(), is(KafkaConnectResources.buildConfigName(cluster)));
    assertThat(bc.getMetadata().getNamespace(), is(namespace));
    Map<String, String> expectedDeploymentLabels = TestUtils.map(Labels.STRIMZI_CLUSTER_LABEL, this.cluster, Labels.STRIMZI_NAME_LABEL, KafkaConnectResources.buildPodName(cluster), Labels.STRIMZI_KIND_LABEL, KafkaConnect.RESOURCE_KIND, Labels.KUBERNETES_NAME_LABEL, KafkaConnectBuild.APPLICATION_NAME, Labels.KUBERNETES_INSTANCE_LABEL, this.cluster, Labels.KUBERNETES_PART_OF_LABEL, Labels.APPLICATION_NAME + "-" + this.cluster, Labels.KUBERNETES_MANAGED_BY_LABEL, AbstractModel.STRIMZI_CLUSTER_OPERATOR_NAME);
    assertThat(bc.getMetadata().getLabels(), is(expectedDeploymentLabels));
    assertThat(bc.getSpec().getSource().getDockerfile(), is(dockerfile.getDockerfile()));
    assertThat(bc.getSpec().getOutput().getTo().getKind(), is("DockerImage"));
    assertThat(bc.getSpec().getOutput().getTo().getName(), is("my-image:latest"));
    assertThat(bc.getSpec().getOutput().getPushSecret().getName(), is("my-docker-credentials"));
    assertThat(bc.getSpec().getStrategy().getDockerStrategy(), is(notNullValue()));
    assertThat(bc.getSpec().getResources().getLimits(), is(limit));
    assertThat(bc.getSpec().getResources().getRequests(), is(request));
    assertThat(bc.getMetadata().getOwnerReferences().size(), is(1));
    assertThat(bc.getMetadata().getOwnerReferences().get(0), is(build.createOwnerReference()));
}
Also used : HashMap(java.util.HashMap) ResourceRequirementsBuilder(io.fabric8.kubernetes.api.model.ResourceRequirementsBuilder) Quantity(io.fabric8.kubernetes.api.model.Quantity) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) KafkaConnect(io.strimzi.api.kafka.model.KafkaConnect) PluginBuilder(io.strimzi.api.kafka.model.connect.build.PluginBuilder) KafkaConnectBuilder(io.strimzi.api.kafka.model.KafkaConnectBuilder) Reconciliation(io.strimzi.operator.common.Reconciliation) BuildConfig(io.fabric8.openshift.api.model.BuildConfig) ParallelTest(io.strimzi.test.annotations.ParallelTest)

Example 98 with ParallelTest

use of io.strimzi.test.annotations.ParallelTest in project strimzi by strimzi.

the class KafkaConnectBuildTest method testFromCrd.

@ParallelTest
public void testFromCrd() {
    KafkaConnect kc = new KafkaConnectBuilder().withNewMetadata().withName(cluster).withNamespace(namespace).endMetadata().withNewSpec().withBootstrapServers("my-kafka:9092").withNewBuild().withNewDockerOutput().withImage("my-image:latest").withPushSecret("my-docker-credentials").endDockerOutput().withPlugins(new PluginBuilder().withName("my-connector").withArtifacts(jarArtifactWithChecksum).build(), new PluginBuilder().withName("my-connector2").withArtifacts(jarArtifactNoChecksum).build()).endBuild().endSpec().build();
    KafkaConnectBuild.fromCrd(new Reconciliation("test", kc.getKind(), kc.getMetadata().getNamespace(), kc.getMetadata().getName()), kc, VERSIONS);
}
Also used : KafkaConnectBuilder(io.strimzi.api.kafka.model.KafkaConnectBuilder) Reconciliation(io.strimzi.operator.common.Reconciliation) KafkaConnect(io.strimzi.api.kafka.model.KafkaConnect) PluginBuilder(io.strimzi.api.kafka.model.connect.build.PluginBuilder) ParallelTest(io.strimzi.test.annotations.ParallelTest)

Example 99 with ParallelTest

use of io.strimzi.test.annotations.ParallelTest in project strimzi by strimzi.

the class KafkaConnectBuildTest method testDeploymentWithoutPushSecret.

@ParallelTest
public void testDeploymentWithoutPushSecret() {
    KafkaConnect kc = new KafkaConnectBuilder().withNewMetadata().withName(cluster).withNamespace(namespace).endMetadata().withNewSpec().withBootstrapServers("my-kafka:9092").withNewBuild().withNewDockerOutput().withImage("my-image:latest").endDockerOutput().withPlugins(new PluginBuilder().withName("my-connector").withArtifacts(jarArtifactWithChecksum).build(), new PluginBuilder().withName("my-connector2").withArtifacts(jarArtifactNoChecksum).build()).endBuild().endSpec().build();
    KafkaConnectBuild build = KafkaConnectBuild.fromCrd(new Reconciliation("test", kc.getKind(), kc.getMetadata().getNamespace(), kc.getMetadata().getName()), kc, VERSIONS);
    Pod pod = build.generateBuilderPod(true, ImagePullPolicy.IFNOTPRESENT, null, null);
    assertThat(pod.getSpec().getVolumes().size(), is(1));
    assertThat(pod.getSpec().getContainers().get(0).getArgs(), is(defaultArgs));
    assertThat(pod.getSpec().getVolumes().get(0).getName(), is("dockerfile"));
    assertThat(pod.getSpec().getVolumes().get(0).getConfigMap().getName(), is(KafkaConnectResources.dockerFileConfigMapName(cluster)));
    assertThat(pod.getSpec().getContainers().get(0).getVolumeMounts().size(), is(1));
    assertThat(pod.getSpec().getContainers().get(0).getVolumeMounts().get(0).getName(), is("dockerfile"));
    assertThat(pod.getSpec().getContainers().get(0).getVolumeMounts().get(0).getMountPath(), is("/dockerfile"));
}
Also used : KafkaConnectBuilder(io.strimzi.api.kafka.model.KafkaConnectBuilder) Pod(io.fabric8.kubernetes.api.model.Pod) Reconciliation(io.strimzi.operator.common.Reconciliation) KafkaConnect(io.strimzi.api.kafka.model.KafkaConnect) PluginBuilder(io.strimzi.api.kafka.model.connect.build.PluginBuilder) ParallelTest(io.strimzi.test.annotations.ParallelTest)

Example 100 with ParallelTest

use of io.strimzi.test.annotations.ParallelTest in project strimzi by strimzi.

the class KafkaConnectBuildTest method testValidKanikoOptions.

@ParallelTest
public void testValidKanikoOptions() {
    List<String> expectedArgs = new ArrayList<>(defaultArgs);
    expectedArgs.add("--reproducible");
    expectedArgs.add("--single-snapshot");
    expectedArgs.add("--log-format=json");
    KafkaConnect kc = new KafkaConnectBuilder().withNewMetadata().withName(cluster).withNamespace(namespace).endMetadata().withNewSpec().withBootstrapServers("my-kafka:9092").withNewBuild().withNewDockerOutput().withImage("my-image:latest").withPushSecret("my-docker-credentials").withAdditionalKanikoOptions("--reproducible", "--single-snapshot", "--log-format=json").endDockerOutput().withPlugins(new PluginBuilder().withName("my-connector").withArtifacts(jarArtifactWithChecksum).build(), new PluginBuilder().withName("my-connector2").withArtifacts(jarArtifactNoChecksum).build()).endBuild().endSpec().build();
    KafkaConnectBuild build = KafkaConnectBuild.fromCrd(new Reconciliation("test", kc.getKind(), kc.getMetadata().getNamespace(), kc.getMetadata().getName()), kc, VERSIONS);
    Pod pod = build.generateBuilderPod(true, ImagePullPolicy.IFNOTPRESENT, null, null);
    assertThat(pod.getSpec().getContainers().get(0).getArgs(), is(expectedArgs));
}
Also used : KafkaConnectBuilder(io.strimzi.api.kafka.model.KafkaConnectBuilder) Pod(io.fabric8.kubernetes.api.model.Pod) Reconciliation(io.strimzi.operator.common.Reconciliation) ArrayList(java.util.ArrayList) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) KafkaConnect(io.strimzi.api.kafka.model.KafkaConnect) PluginBuilder(io.strimzi.api.kafka.model.connect.build.PluginBuilder) ParallelTest(io.strimzi.test.annotations.ParallelTest)

Aggregations

ParallelTest (io.strimzi.test.annotations.ParallelTest)1226 Kafka (io.strimzi.api.kafka.model.Kafka)404 Deployment (io.fabric8.kubernetes.api.model.apps.Deployment)368 KafkaBuilder (io.strimzi.api.kafka.model.KafkaBuilder)348 Reconciliation (io.strimzi.operator.common.Reconciliation)286 IntOrString (io.fabric8.kubernetes.api.model.IntOrString)278 Container (io.fabric8.kubernetes.api.model.Container)272 Quantity (io.fabric8.kubernetes.api.model.Quantity)236 HashMap (java.util.HashMap)234 LocalObjectReference (io.fabric8.kubernetes.api.model.LocalObjectReference)228 ArrayList (java.util.ArrayList)226 PodSecurityContextBuilder (io.fabric8.kubernetes.api.model.PodSecurityContextBuilder)222 PodDisruptionBudget (io.fabric8.kubernetes.api.model.policy.v1.PodDisruptionBudget)212 EnvVar (io.fabric8.kubernetes.api.model.EnvVar)208 Map (java.util.Map)208 ContainerEnvVar (io.strimzi.api.kafka.model.ContainerEnvVar)206 ParallelSuite (io.strimzi.test.annotations.ParallelSuite)202 CoreMatchers.is (org.hamcrest.CoreMatchers.is)202 MatcherAssert.assertThat (org.hamcrest.MatcherAssert.assertThat)202 ServiceAccount (io.fabric8.kubernetes.api.model.ServiceAccount)200