Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>5.24</version>
<version>5.25</version>
<relativePath />
</parent>

Expand All @@ -29,6 +29,7 @@
<jenkins.version>${jenkins.baseline}.3</jenkins.version>
<spotbugs.effort>Max</spotbugs.effort>
<spotless.check.skip>false</spotless.check.skip>
<ban-junit4-imports.skip>false</ban-junit4-imports.skip>
</properties>

<dependencyManagement>
Expand Down Expand Up @@ -71,7 +72,7 @@
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<artifactId>junit-jupiter</artifactId>
<version>1.21.3</version>
<scope>test</scope>
<exclusions>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,60 +2,60 @@

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.StringContains.containsString;
import static org.junit.Assert.assertEquals;
import static org.junit.Assume.assumeFalse;
import static org.junit.Assume.assumeTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assumptions.assumeFalse;
import static org.junit.jupiter.api.Assumptions.assumeTrue;

import hudson.Functions;
import hudson.tasks.MailAddressResolver;
import hudson.util.Secret;
import org.jenkinsci.plugins.reverse_proxy_auth.ReverseProxySecurityRealm;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.jvnet.hudson.test.JenkinsRule;
import org.jvnet.hudson.test.RealJenkinsRule;
import org.jvnet.hudson.test.junit.jupiter.RealJenkinsExtension;
import org.springframework.security.ldap.userdetails.LdapUserDetails;
import org.testcontainers.DockerClientFactory;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

/**
* Tests the plugin when logging in to rroemhild/test-openldap
*/
public class PlanetExpressTest {
@Testcontainers(disabledWithoutDocker = true)
class PlanetExpressTest {

static final String TEST_IMAGE =
private static final String TEST_IMAGE =
"ghcr.io/rroemhild/docker-test-openldap:v2.5.0@sha256:3470e15c60119a1c0392cc162cdce71edfb42b55affdc69da574012f956317cd";
static final String DN = "dc=planetexpress,dc=com";
static final String MANAGER_DN = "cn=admin,dc=planetexpress,dc=com";
static final String MANAGER_SECRET = "GoodNewsEveryone";
private static final String DN = "dc=planetexpress,dc=com";
private static final String MANAGER_DN = "cn=admin,dc=planetexpress,dc=com";
private static final String MANAGER_SECRET = "GoodNewsEveryone";

@BeforeClass
public static void requiresDocker() {
assumeTrue(DockerClientFactory.instance().isDockerAvailable());
}

@BeforeClass
public static void linuxOnly() {
assumeFalse(
"Windows CI builders now have Docker installed…but it does not support Linux images",
Functions.isWindows() && System.getenv("JENKINS_URL") != null);
}
@RegisterExtension
private final RealJenkinsExtension extension = new RealJenkinsExtension();

@SuppressWarnings("rawtypes")
@Rule
public GenericContainer container = new GenericContainer(TEST_IMAGE).withExposedPorts(10389);
@Container
private final GenericContainer container = new GenericContainer(TEST_IMAGE).withExposedPorts(10389);

@Rule
public RealJenkinsRule rr = new RealJenkinsRule();
@BeforeAll
static void setUp() {
assumeTrue(DockerClientFactory.instance().isDockerAvailable());
assumeFalse(
Functions.isWindows() && System.getenv("JENKINS_URL") != null,
"Windows CI builders now have Docker installed…but it does not support Linux images");
}

@Test
public void login() throws Throwable {
void login() throws Throwable {
String server = container.getHost() + ":" + container.getFirstMappedPort();
rr.then(new Login(server));
extension.then(new Login(server));
}

private static class Login implements RealJenkinsRule.Step {
private static class Login implements RealJenkinsExtension.Step {

private final String server;

Login(String server) {
Expand Down
Loading