diff --git a/src/test/java/org/csanchez/jenkins/plugins/kubernetes/KubernetesTest.java b/src/test/java/org/csanchez/jenkins/plugins/kubernetes/KubernetesTest.java index 05996c8bde..9add4a8c75 100644 --- a/src/test/java/org/csanchez/jenkins/plugins/kubernetes/KubernetesTest.java +++ b/src/test/java/org/csanchez/jenkins/plugins/kubernetes/KubernetesTest.java @@ -123,7 +123,8 @@ public void upgradeFrom_1_15_9_invalid() { assertEquals("blah", template.getYaml()); assertEquals(Collections.singletonList("blah"), template.getYamls()); assertNull(template._getYamls()); - log.getMessages().stream().anyMatch(msg -> msg.contains("Found several persisted YAML fragments in pod template java")); + log.getMessages().stream() + .anyMatch(msg -> msg.contains("Found several persisted YAML fragments in pod template java")); } @Test @@ -183,7 +184,7 @@ public void upgradeFrom_0_12() throws Exception { public void upgradeFrom_0_10() throws Exception { List templates = cloud.getTemplates(); PodTemplate template = templates.get(0); - DescribableList,NodePropertyDescriptor> nodeProperties = template.getNodeProperties(); + DescribableList, NodePropertyDescriptor> nodeProperties = template.getNodeProperties(); assertEquals(1, nodeProperties.size()); ToolLocationNodeProperty property = (ToolLocationNodeProperty) nodeProperties.get(0); assertEquals(1, property.getLocations().size()); @@ -202,11 +203,28 @@ public void upgradeFrom_0_8() throws Exception { assertEquals(cloud.DEFAULT_WAIT_FOR_POD_SEC, cloud.getWaitForPodSec()); } - private void assertPodTemplates(List templates) { - assertEquals(1, templates.size()); + @Test + @LocalData() + @Issue("JENKINS-70287") + public void mixedPrivivilegedPodTemplates() throws Exception { + List templates = cloud.getTemplates(); + assertPodTemplates(templates, 2, 2); + PodTemplate template = templates.get(0); + assertEquals(2, template.getContainers().size()); + assertEquals(true, template.getContainers().get(0).isPrivileged()); + assertEquals(false, template.getContainers().get(1).isPrivileged()); + PodTemplate baseTemplate = templates.get(1); + assertEquals(1, baseTemplate.getContainers().size()); + assertEquals(true, baseTemplate.getContainers().get(0).isPrivileged()); + assertEquals(Collections.emptyList(), template.getYamls()); + assertNull(template.getYaml()); + } + + private void assertPodTemplates(List templates, Integer... numbers) { + assertEquals(numbers.length > 0 ? numbers[0] : 1, templates.size()); PodTemplate podTemplate = templates.get(0); assertEquals(Integer.MAX_VALUE, podTemplate.getInstanceCap()); - assertEquals(1, podTemplate.getContainers().size()); + assertEquals(numbers.length > 1 ? numbers[1] : 1, podTemplate.getContainers().size()); ContainerTemplate containerTemplate = podTemplate.getContainers().get(0); assertEquals("jenkins/inbound-agent", containerTemplate.getImage()); assertEquals("jnlp", containerTemplate.getName()); diff --git a/src/test/resources/org/csanchez/jenkins/plugins/kubernetes/KubernetesTest/mixedPrivivilegedPodTemplates/config.xml b/src/test/resources/org/csanchez/jenkins/plugins/kubernetes/KubernetesTest/mixedPrivivilegedPodTemplates/config.xml new file mode 100644 index 0000000000..6d7e44ca95 --- /dev/null +++ b/src/test/resources/org/csanchez/jenkins/plugins/kubernetes/KubernetesTest/mixedPrivivilegedPodTemplates/config.xml @@ -0,0 +1,239 @@ + + + + 2.235.2 + DEVELOPMENT + 2 + NORMAL + true + + + false + + ${JENKINS_HOME}/workspace/${ITEM_FULLNAME} + ${ITEM_ROOTDIR}/builds + + + + + + kubernetes + jnlp + + + jnlp + java + false + false + true + 2147483647 + 100 + 0 + 0 + + + NORMAL + false + + false + + + + /mnt + false + + + /host + /mnt/host + + + + + jnlp + jenkins/inbound-agent + true + true + /home/jenkins + + ${computer.jnlpmac} ${computer.name} + true + 500m + 250Mi + 500m + 250Mi + + + a + b + + + c + d + + + + + + 0 + 0 + 0 + 0 + 0 + + + + busybox + busybox + false + 600002 + 1000 + true + /home/jenkins + cat + + true + 500m + 250Mi + 500m + 250Mi + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + a + b + + + c + d + + + + + aa + bb + + + + + + + + + + + + + true + + + jnlp + true + false + false + 2147483647 + 100 + 0 + 0 + + false + + + /mnt + false + + + /host + /mnt/host + + + + + jnlp-base + busybox + true + 600002 + 1000 + true + /home/jenkins + cat + + true + 500m + 250Mi + 500m + 250Mi + + + + + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + true + + + https://192.168.64.1 + true + false + false + default + 10 + 5 + 0 + 0 + + + jenkins + slave + + + biff + johnson + + + false + 32 + 600 + + + + 5 + 0 + + + + all + false + false + + + + all + 0 + + + +