From bfc24914e75de7cd0901866fa4094a2e34c65e72 Mon Sep 17 00:00:00 2001 From: Karl Heinz Marbaise Date: Thu, 4 Oct 2018 19:26:34 +0200 Subject: [PATCH 1/8] First working example. --- jenkins-client-it/pom.xml | 110 ++++++++++++++++++ jenkins-client-it/src/site/site.xml | 12 ++ .../it/testcontainer/FirstContainerTest.java | 70 +++++++++++ .../src/test/resources/Dockerfile | 5 + .../src/test/resources/config.xml | 70 +++++++++++ .../src/test/resources/log4j2-test.xml | 27 +++++ .../src/test/resources/plugins.txt | 10 ++ pom.xml | 7 +- 8 files changed, 310 insertions(+), 1 deletion(-) create mode 100644 jenkins-client-it/pom.xml create mode 100644 jenkins-client-it/src/site/site.xml create mode 100644 jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java create mode 100644 jenkins-client-it/src/test/resources/Dockerfile create mode 100644 jenkins-client-it/src/test/resources/config.xml create mode 100644 jenkins-client-it/src/test/resources/log4j2-test.xml create mode 100644 jenkins-client-it/src/test/resources/plugins.txt diff --git a/jenkins-client-it/pom.xml b/jenkins-client-it/pom.xml new file mode 100644 index 00000000..faeaac15 --- /dev/null +++ b/jenkins-client-it/pom.xml @@ -0,0 +1,110 @@ + + + + + 4.0.0 + + + com.offbytwo.jenkins + jenkins-client-parent + 0.3.9-SNAPSHOT + + + jenkins-client-it + Jenkins API client for Java :: IT + + + + com.offbytwo.jenkins + jenkins-client + ${project.version} + + + + + + junit + junit + test + + + org.testcontainers + testcontainers + test + + + + org.mockito + mockito-core + test + + + + org.assertj + assertj-core + test + + + + + + org.apache.maven.plugins + maven-gpg-plugin + + true + + + + org.apache.maven.plugins + maven-jar-plugin + + true + + + + org.apache.maven.plugins + maven-install-plugin + + true + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + + run-docker-its + + + + maven-failsafe-plugin + + + integration-test + + integration-test + verify + + + + ${docker.container.network} + + + + + + + + + + diff --git a/jenkins-client-it/src/site/site.xml b/jenkins-client-it/src/site/site.xml new file mode 100644 index 00000000..39d61857 --- /dev/null +++ b/jenkins-client-it/src/site/site.xml @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java b/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java new file mode 100644 index 00000000..fa69494d --- /dev/null +++ b/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java @@ -0,0 +1,70 @@ +package com.offbytwo.jenkins.it.testcontainer; + +import java.io.IOException; +import java.net.URI; + +import org.junit.ClassRule; +import org.junit.Test; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.containers.output.OutputFrame.OutputType; +import org.testcontainers.containers.output.ToStringConsumer; +import org.testcontainers.images.builder.ImageFromDockerfile; + +import com.offbytwo.jenkins.JenkinsServer; +import com.offbytwo.jenkins.model.View; + +public class FirstContainerTest { + +// public static GenericContainer jenkins = new GenericContainer("jenkins/jenkins:2.142-slim") +// .withExposedPorts(8080); +// @ClassRule +// public static GenericContainer jenkins = new GenericContainer("jenkins:1.651.3") +// .withExposedPorts(8080); +// withCopyFileToContainer(MountableFile.forClasspathResource("/app.jar"), "/") + + @ClassRule + public static GenericContainer jenkins = new GenericContainer( + new ImageFromDockerfile() + .withFileFromClasspath("plugins.txt", "/plugins.txt") + .withFileFromClasspath( "config.xml", "/config.xml" ) + .withDockerfileFromBuilder(builder -> + { + builder + .from("jenkins:1.651.3") + .copy("plugins.txt", "/usr/share/jenkins/ref/plugins.txt") + .copy("config.xml", "/usr/share/jenkins/ref/config.xml") + .run("/usr/local/bin/plugins.sh", "/usr/share/jenkins/ref/plugins.txt"); + + })); + + + @Test + public void testName() throws InterruptedException, IOException { + System.out.println("Hello world."); + + String containerIpAddress = jenkins.getContainerIpAddress(); + Integer mappedPort = jenkins.getMappedPort(8080); + System.out.println("IP:" + containerIpAddress + " mappedPort:" + mappedPort); + + JenkinsServer jenkinsServer = new JenkinsServer(URI.create("http://" + containerIpAddress + ":" + mappedPort + "/")); + + ToStringConsumer stdoutStringConsumer = new ToStringConsumer(); + ToStringConsumer stderrStringConsumer = new ToStringConsumer(); + jenkins.followOutput(stdoutStringConsumer, OutputType.STDOUT); + jenkins.followOutput(stderrStringConsumer, OutputType.STDERR); + + String utf8String = stdoutStringConsumer.toUtf8String(); + String utf8StringErr = stderrStringConsumer.toUtf8String(); + + System.out.println(utf8String); + System.out.println(utf8StringErr); + + while (!jenkinsServer.isRunning()) { + Thread.sleep(500); + }; + + View job = jenkinsServer.getView( "Test-View" ); + + System.out.println( "Job:" + job.getDescription() + " " + job.getName()); + } +} diff --git a/jenkins-client-it/src/test/resources/Dockerfile b/jenkins-client-it/src/test/resources/Dockerfile new file mode 100644 index 00000000..7b4118a6 --- /dev/null +++ b/jenkins-client-it/src/test/resources/Dockerfile @@ -0,0 +1,5 @@ +FROM jenkins:1.651.3 +MAINTAINER "docker@soebes.de" +COPY ./plugins.txt /usr/share/jenkins/ref/plugins.txt +COPY ./config.xml /usr/share/jenkins/ref/config.xml +RUN /usr/local/bin/plugins.sh /usr/share/jenkins/ref/plugins.txt diff --git a/jenkins-client-it/src/test/resources/config.xml b/jenkins-client-it/src/test/resources/config.xml new file mode 100644 index 00000000..6bf7ac5f --- /dev/null +++ b/jenkins-client-it/src/test/resources/config.xml @@ -0,0 +1,70 @@ + + + + 1453986179962 + + + hudson.slaves.Messages + + SlaveComputer.DisconnectedBy + + anonymous + : Manually turned off + + + + + 1.625.3 + 2 + NORMAL + true + + + false + + ${JENKINS_HOME}/workspace/${ITEM_FULLNAME} + ${ITEM_ROOTDIR}/builds + + + + + 5 + 0 + + + + All + false + false + + + + + Test-View + false + false + + + + test + + + + + + + + + + + + false + + + All + 50000 + + + + true + diff --git a/jenkins-client-it/src/test/resources/log4j2-test.xml b/jenkins-client-it/src/test/resources/log4j2-test.xml new file mode 100644 index 00000000..0633b1ef --- /dev/null +++ b/jenkins-client-it/src/test/resources/log4j2-test.xml @@ -0,0 +1,27 @@ + + + + + + + + %d %p %c{1.} [%t] %m%n + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jenkins-client-it/src/test/resources/plugins.txt b/jenkins-client-it/src/test/resources/plugins.txt new file mode 100644 index 00000000..e802c9d0 --- /dev/null +++ b/jenkins-client-it/src/test/resources/plugins.txt @@ -0,0 +1,10 @@ +timestamper:1.7.2 +credentials:1.24 +junit:1.10 +token-macro:1.12.1 +throttle-concurrents:1.9.0 +jacoco:1.0.19 +job-dsl:1.41 +config-file-provider:2.10.0 +testng-plugin:1.10 +cloudbees-folder: 5.12 diff --git a/pom.xml b/pom.xml index 8015cefa..f14e31a8 100644 --- a/pom.xml +++ b/pom.xml @@ -181,7 +181,11 @@ ${mockito-core.version} test - + + org.testcontainers + testcontainers + 1.9.1 + org.jenkins-ci.main jenkins-test-harness @@ -485,6 +489,7 @@ jenkins-client + jenkins-client-it jenkins-client-it-docker From e982752801d0919a82641d5af9a5d944c7e33499 Mon Sep 17 00:00:00 2001 From: Karl Heinz Marbaise Date: Sat, 13 Oct 2018 13:46:37 +0200 Subject: [PATCH 2/8] Fixed FirstContainerTest --- .../it/testcontainer/FirstContainerTest.java | 93 ++++++++++--------- 1 file changed, 47 insertions(+), 46 deletions(-) diff --git a/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java b/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java index fa69494d..67000ced 100644 --- a/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java +++ b/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java @@ -21,50 +21,51 @@ public class FirstContainerTest { // public static GenericContainer jenkins = new GenericContainer("jenkins:1.651.3") // .withExposedPorts(8080); // withCopyFileToContainer(MountableFile.forClasspathResource("/app.jar"), "/") - - @ClassRule - public static GenericContainer jenkins = new GenericContainer( - new ImageFromDockerfile() - .withFileFromClasspath("plugins.txt", "/plugins.txt") - .withFileFromClasspath( "config.xml", "/config.xml" ) - .withDockerfileFromBuilder(builder -> - { - builder - .from("jenkins:1.651.3") - .copy("plugins.txt", "/usr/share/jenkins/ref/plugins.txt") - .copy("config.xml", "/usr/share/jenkins/ref/config.xml") - .run("/usr/local/bin/plugins.sh", "/usr/share/jenkins/ref/plugins.txt"); - - })); - - - @Test - public void testName() throws InterruptedException, IOException { - System.out.println("Hello world."); - - String containerIpAddress = jenkins.getContainerIpAddress(); - Integer mappedPort = jenkins.getMappedPort(8080); - System.out.println("IP:" + containerIpAddress + " mappedPort:" + mappedPort); - - JenkinsServer jenkinsServer = new JenkinsServer(URI.create("http://" + containerIpAddress + ":" + mappedPort + "/")); - - ToStringConsumer stdoutStringConsumer = new ToStringConsumer(); - ToStringConsumer stderrStringConsumer = new ToStringConsumer(); - jenkins.followOutput(stdoutStringConsumer, OutputType.STDOUT); - jenkins.followOutput(stderrStringConsumer, OutputType.STDERR); - - String utf8String = stdoutStringConsumer.toUtf8String(); - String utf8StringErr = stderrStringConsumer.toUtf8String(); - - System.out.println(utf8String); - System.out.println(utf8StringErr); - - while (!jenkinsServer.isRunning()) { - Thread.sleep(500); - }; - - View job = jenkinsServer.getView( "Test-View" ); - - System.out.println( "Job:" + job.getDescription() + " " + job.getName()); - } + + @ClassRule + public static GenericContainer jenkinsTestContainer = new GenericContainer<>( + new ImageFromDockerfile() + .withFileFromClasspath("plugins.txt", "/plugins.txt") + .withFileFromClasspath("config.xml", "/config.xml") + .withDockerfileFromBuilder(builder -> + { + builder + .from("jenkins:1.651.3") + .copy("plugins.txt", "/usr/share/jenkins/ref/plugins.txt") + .copy("config.xml", "/usr/share/jenkins/ref/config.xml") + .run("/usr/local/bin/plugins.sh", "/usr/share/jenkins/ref/plugins.txt"); + + }) + ); + + + @Test + public void testName() throws InterruptedException, IOException { + System.out.println("Hello world."); + + String containerIpAddress = jenkinsTestContainer.getContainerIpAddress(); + Integer mappedPort = jenkinsTestContainer.getMappedPort(8080); + System.out.println("IP:" + containerIpAddress + " mappedPort:" + mappedPort); + + JenkinsServer jenkinsServer = new JenkinsServer(URI.create("http://" + containerIpAddress + ":" + mappedPort + "/")); + + ToStringConsumer stdoutStringConsumer = new ToStringConsumer(); + ToStringConsumer stderrStringConsumer = new ToStringConsumer(); + jenkinsTestContainer.followOutput(stdoutStringConsumer, OutputType.STDOUT); + jenkinsTestContainer.followOutput(stderrStringConsumer, OutputType.STDERR); + + String utf8String = stdoutStringConsumer.toUtf8String(); + String utf8StringErr = stderrStringConsumer.toUtf8String(); + + System.out.println(utf8String); + System.out.println(utf8StringErr); + + while (!jenkinsServer.isRunning()) { + Thread.sleep(500); + } + + View job = jenkinsServer.getView("Test-View"); + + System.out.println("Job:" + job.getDescription() + " " + job.getName()); + } } From 109ed3f875f83c2071310f00747c546cb4a750e6 Mon Sep 17 00:00:00 2001 From: Karl Heinz Marbaise Date: Mon, 10 Dec 2018 19:46:41 +0100 Subject: [PATCH 3/8] Saved. --- jenkins-client-it/pom.xml | 2 +- .../it/testcontainer/FirstContainerTest.java | 2 +- .../src/test/resources/Dockerfile | 5 --- .../src/test/resources/logback-test.xml | 16 ++++++++++ .../jenkins/client/JenkinsHttpClient.java | 32 +++++++++++++------ pom.xml | 4 +-- 6 files changed, 43 insertions(+), 18 deletions(-) delete mode 100644 jenkins-client-it/src/test/resources/Dockerfile create mode 100644 jenkins-client-it/src/test/resources/logback-test.xml diff --git a/jenkins-client-it/pom.xml b/jenkins-client-it/pom.xml index faeaac15..0e497054 100644 --- a/jenkins-client-it/pom.xml +++ b/jenkins-client-it/pom.xml @@ -11,7 +11,7 @@ com.offbytwo.jenkins jenkins-client-parent - 0.3.9-SNAPSHOT + 0.4.0-SNAPSHOT jenkins-client-it diff --git a/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java b/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java index 67000ced..581eb713 100644 --- a/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java +++ b/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java @@ -13,7 +13,7 @@ import com.offbytwo.jenkins.JenkinsServer; import com.offbytwo.jenkins.model.View; -public class FirstContainerTest { +class FirstContainerTest { // public static GenericContainer jenkins = new GenericContainer("jenkins/jenkins:2.142-slim") // .withExposedPorts(8080); diff --git a/jenkins-client-it/src/test/resources/Dockerfile b/jenkins-client-it/src/test/resources/Dockerfile deleted file mode 100644 index 7b4118a6..00000000 --- a/jenkins-client-it/src/test/resources/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM jenkins:1.651.3 -MAINTAINER "docker@soebes.de" -COPY ./plugins.txt /usr/share/jenkins/ref/plugins.txt -COPY ./config.xml /usr/share/jenkins/ref/config.xml -RUN /usr/local/bin/plugins.sh /usr/share/jenkins/ref/plugins.txt diff --git a/jenkins-client-it/src/test/resources/logback-test.xml b/jenkins-client-it/src/test/resources/logback-test.xml new file mode 100644 index 00000000..23f40bbe --- /dev/null +++ b/jenkins-client-it/src/test/resources/logback-test.xml @@ -0,0 +1,16 @@ + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n + + + + + + + + + + + + \ No newline at end of file diff --git a/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java b/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java index 4eadc5c9..b98f87ae 100755 --- a/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java +++ b/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java @@ -5,14 +5,16 @@ */ package com.offbytwo.jenkins.client; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.offbytwo.jenkins.client.util.EncodingUtils; -import com.offbytwo.jenkins.client.util.RequestReleasingInputStream; -import com.offbytwo.jenkins.client.validator.HttpResponseValidator; -import com.offbytwo.jenkins.model.BaseModel; -import com.offbytwo.jenkins.model.Crumb; -import com.offbytwo.jenkins.model.ExtractHeader; -import net.sf.json.JSONObject; +import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; +import static org.apache.commons.lang.StringUtils.isNotBlank; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.util.List; +import java.util.Map; + import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.http.HttpEntity; @@ -51,9 +53,20 @@ import java.util.Map; import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.collect.Lists; +import com.google.common.io.ByteStreams; +import com.offbytwo.jenkins.client.util.EncodingUtils; +import com.offbytwo.jenkins.client.util.RequestReleasingInputStream; import com.offbytwo.jenkins.client.util.ResponseUtils; import com.offbytwo.jenkins.client.util.UrlUtils; -import static org.apache.commons.lang.StringUtils.isNotBlank; +import com.offbytwo.jenkins.client.validator.HttpResponseValidator; +import com.offbytwo.jenkins.model.BaseModel; +import com.offbytwo.jenkins.model.Crumb; +import com.offbytwo.jenkins.model.ExtractHeader; + +import net.sf.json.JSONObject; public class JenkinsHttpClient implements JenkinsHttpConnection { @@ -86,6 +99,7 @@ public JenkinsHttpClient(URI uri, CloseableHttpClient client) { this.uri = uri; this.mapper = getDefaultMapper(); this.client = client; + this.httpResponseValidator = new HttpResponseValidator(); // this.contentExtractor = new HttpResponseContentExtractor(); this.jenkinsVersion = EMPTY_VERSION; diff --git a/pom.xml b/pom.xml index f14e31a8..136a51c8 100644 --- a/pom.xml +++ b/pom.xml @@ -53,7 +53,7 @@ 1.644 4.12 - 1.9.5 + 2.23.0 2.4 1.4.7-jenkins-1 1.6.1 @@ -184,7 +184,7 @@ org.testcontainers testcontainers - 1.9.1 + 1.10.1 org.jenkins-ci.main From da5905c0e6969d88c375ae2d64be8cfbbe9dcba9 Mon Sep 17 00:00:00 2001 From: Karl Heinz Marbaise Date: Sat, 30 Mar 2019 17:33:05 +0100 Subject: [PATCH 4/8] Upgraded testcontainers to 1.11.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 136a51c8..d8e88570 100644 --- a/pom.xml +++ b/pom.xml @@ -184,7 +184,7 @@ org.testcontainers testcontainers - 1.10.1 + 1.11.1 org.jenkins-ci.main From 2f16da47bfe7120392e8d85310f3d10c769e1433 Mon Sep 17 00:00:00 2001 From: Karl Heinz Marbaise Date: Sat, 20 Apr 2019 21:34:01 +0200 Subject: [PATCH 5/8] Get it compiling. --- .../jenkins/client/JenkinsHttpClient.java | 36 ++++++------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java b/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java index b98f87ae..3f7cff71 100755 --- a/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java +++ b/jenkins-client/src/main/java/com/offbytwo/jenkins/client/JenkinsHttpClient.java @@ -5,16 +5,16 @@ */ package com.offbytwo.jenkins.client; -import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; -import static org.apache.commons.lang.StringUtils.isNotBlank; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.util.List; -import java.util.Map; - +import com.fasterxml.jackson.databind.ObjectMapper; +import com.offbytwo.jenkins.client.util.EncodingUtils; +import com.offbytwo.jenkins.client.util.RequestReleasingInputStream; +import com.offbytwo.jenkins.client.util.ResponseUtils; +import com.offbytwo.jenkins.client.util.UrlUtils; +import com.offbytwo.jenkins.client.validator.HttpResponseValidator; +import com.offbytwo.jenkins.model.BaseModel; +import com.offbytwo.jenkins.model.Crumb; +import com.offbytwo.jenkins.model.ExtractHeader; +import net.sf.json.JSONObject; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.http.HttpEntity; @@ -47,26 +47,12 @@ import java.io.IOException; import java.io.InputStream; import java.net.URI; -import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; import java.util.Map; import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.Lists; -import com.google.common.io.ByteStreams; -import com.offbytwo.jenkins.client.util.EncodingUtils; -import com.offbytwo.jenkins.client.util.RequestReleasingInputStream; -import com.offbytwo.jenkins.client.util.ResponseUtils; -import com.offbytwo.jenkins.client.util.UrlUtils; -import com.offbytwo.jenkins.client.validator.HttpResponseValidator; -import com.offbytwo.jenkins.model.BaseModel; -import com.offbytwo.jenkins.model.Crumb; -import com.offbytwo.jenkins.model.ExtractHeader; - -import net.sf.json.JSONObject; +import static org.apache.commons.lang.StringUtils.isNotBlank; public class JenkinsHttpClient implements JenkinsHttpConnection { From 22a871018bf947842c1d78308fe4950b5fc33caa Mon Sep 17 00:00:00 2001 From: Karl Heinz Marbaise Date: Thu, 16 May 2019 22:42:20 +0200 Subject: [PATCH 6/8] Upgrade Testcontainers to 1.11.2 --- .../offbytwo/jenkins/it/testcontainer/FirstContainerTest.java | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java b/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java index 581eb713..67000ced 100644 --- a/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java +++ b/jenkins-client-it/src/test/java/com/offbytwo/jenkins/it/testcontainer/FirstContainerTest.java @@ -13,7 +13,7 @@ import com.offbytwo.jenkins.JenkinsServer; import com.offbytwo.jenkins.model.View; -class FirstContainerTest { +public class FirstContainerTest { // public static GenericContainer jenkins = new GenericContainer("jenkins/jenkins:2.142-slim") // .withExposedPorts(8080); diff --git a/pom.xml b/pom.xml index d8e88570..2f9c6aae 100644 --- a/pom.xml +++ b/pom.xml @@ -184,7 +184,7 @@ org.testcontainers testcontainers - 1.11.1 + 1.11.2 org.jenkins-ci.main From d03240ea9dd82a81de0c37c86f27ecb9ac8be9d7 Mon Sep 17 00:00:00 2001 From: Karl Heinz Marbaise Date: Mon, 22 Jul 2019 19:47:54 +0200 Subject: [PATCH 7/8] Improved. --- .../jenkins/model/BuildWithDetails.java | 31 +++++++++---------- .../offbytwo/jenkins/model/PluginManager.java | 5 +++ 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/jenkins-client/src/main/java/com/offbytwo/jenkins/model/BuildWithDetails.java b/jenkins-client/src/main/java/com/offbytwo/jenkins/model/BuildWithDetails.java index ab9e201d..031eb196 100644 --- a/jenkins-client/src/main/java/com/offbytwo/jenkins/model/BuildWithDetails.java +++ b/jenkins-client/src/main/java/com/offbytwo/jenkins/model/BuildWithDetails.java @@ -6,16 +6,11 @@ package com.offbytwo.jenkins.model; +import static java.util.stream.Collectors.toList; +import static java.util.stream.Collectors.toMap; + import com.fasterxml.jackson.annotation.JsonProperty; import com.offbytwo.jenkins.helper.BuildConsoleStreamListener; -import org.apache.http.Header; -import org.apache.http.HttpResponse; -import org.apache.http.NameValuePair; -import org.apache.http.message.BasicNameValuePair; -import org.apache.http.util.EntityUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.io.IOException; import java.io.InputStream; import java.net.URI; @@ -27,9 +22,13 @@ import java.util.List; import java.util.Map; import java.util.Objects; - -import static java.util.stream.Collectors.toList; -import static java.util.stream.Collectors.toMap; +import org.apache.http.Header; +import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * This class represents build information with details about what has been done @@ -162,11 +161,11 @@ public boolean isBuilding() { public List getCauses() { return actions.stream() - .filter(item -> item.containsKey("causes")) - .flatMap(item -> item.entrySet().stream()) - .flatMap(sub -> sub.getValue().stream()) - .map(item -> convertToBuildCause(item)) - .collect(toList()); + .filter(item2 -> item2.containsKey("causes")) + .flatMap(item1 -> item1.entrySet().stream()) + .flatMap(sub -> sub.getValue().stream()) + .map(item -> convertToBuildCause(item)) + .collect(toList()); } /** diff --git a/jenkins-client/src/main/java/com/offbytwo/jenkins/model/PluginManager.java b/jenkins-client/src/main/java/com/offbytwo/jenkins/model/PluginManager.java index c08fc713..7303d8a4 100644 --- a/jenkins-client/src/main/java/com/offbytwo/jenkins/model/PluginManager.java +++ b/jenkins-client/src/main/java/com/offbytwo/jenkins/model/PluginManager.java @@ -1,5 +1,6 @@ package com.offbytwo.jenkins.model; +import java.util.ArrayList; import java.util.List; /** @@ -19,6 +20,10 @@ public PluginManager setPlugins(List plugins) { return this; } + public PluginManager(List plugins) { + this.plugins = new ArrayList<>(); + } + @Override public int hashCode() { From c918a89fcda480cf57517c01b40af8c33403e253 Mon Sep 17 00:00:00 2001 From: Karl Heinz Marbaise Date: Thu, 26 Dec 2019 16:48:44 +0100 Subject: [PATCH 8/8] Upgraded testcontainers to 1.12.4 Upgraded assertj-core to 3.14.0 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 2f9c6aae..fba8f237 100644 --- a/pom.xml +++ b/pom.xml @@ -184,7 +184,7 @@ org.testcontainers testcontainers - 1.11.2 + 1.12.4 org.jenkins-ci.main @@ -195,7 +195,7 @@ org.assertj assertj-core - 3.12.2 + 3.14.0 test