Skip to content

Commit

Permalink
Convert JUnit 4 to 5 (#5789)
Browse files Browse the repository at this point in the history
* Convert JUnit 4 to 5
Convert Hamcrest to AssertJ

* JUnit 4 -> 5
Hamcrest/Assert -> AssertJ
Changed integration tests from failsafe to surefire.
ensure minimal dependencies and excludes.

* Fix spring-cloud-dataflow-classic-docs for plain build
  • Loading branch information
Corneil du Plessis authored May 8, 2024
1 parent 6f97589 commit b031e8d
Show file tree
Hide file tree
Showing 293 changed files with 2,973 additions and 3,327 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/ci-it-db.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,21 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: 'Action: Run Db IT'
run: |
mvn clean install -DskipTests -T 1C -s .settings.xml -pl spring-cloud-dataflow-server -am
mvn \
-s .settings.xml \
-pl spring-cloud-dataflow-server \
-Dgroups=${{ matrix.group }} \
-Pfailsafe \
--batch-mode \
integration-test
test
- name: Integration Test Report for ${{ matrix.group }}
id: test_report
uses: dorny/test-reporter@v1
if: ${{ success() || failure() }}
with:
name: Integration Tests - ${{ matrix.group }}
path: '**/failsafe-reports/*IT.xml'
path: '**/surefire-reports/*.xml'
reporter: java-junit
list-tests: failed
- name: Publish Test Url for ${{ matrix.group }}
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/ci-it-performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,20 @@ jobs:

- name: Run Performance IT
run: |
mvn clean install -DskipTests -T 1C -s .settings.xml -pl spring-cloud-dataflow-server -am
mvn \
-s .settings.xml \
-pl spring-cloud-dataflow-server \
-Dgroups=performance \
-Pfailsafe \
--batch-mode \
integration-test
test
- name: Test Report
uses: dorny/test-reporter@v1
if: ${{ success() || failure() }}
with:
name: Integration Tests
path: '**/failsafe-reports/*IT.xml'
path: '**/surefire-reports/*.xml'
reporter: java-junit
list-tests: failed
- name: 'Action: Upload Unit Test Results'
Expand Down
13 changes: 3 additions & 10 deletions .github/workflows/ci-it-security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,29 +27,22 @@ jobs:

- name: Run Security IT
run: |
mvn clean install -DskipTests -T 1C -s .settings.xml -pl spring-cloud-dataflow-server -am
mvn \
-s .settings.xml \
-pl spring-cloud-dataflow-server \
-Dgroups=oauth \
-Pfailsafe \
--batch-mode \
integration-test
test
- name: Test Report
uses: dorny/test-reporter@v1
if: ${{ success() || failure() }}
with:
name: Integration Tests
path: '**/failsafe-reports/*IT.xml'
path: '**/surefire-reports/*IT.xml'
reporter: java-junit
list-tests: failed
- name: 'Action: Upload Unit Test Results'
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.group }}-test-results-surefire
path: './**/target/surefire-reports/**/*.*'
retention-days: 7
if-no-files-found: ignore
- name: 'Action: Upload Integration Test Results'
if: ${{ always() }}
uses: actions/upload-artifact@v3
Expand Down
20 changes: 20 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,33 @@
<artifactId>groovy-eclipse-batch</artifactId>
<version>3.0.8-01</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>3.0.19</version>
<type>pom</type>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
</exclusion>
<exclusion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
</exclusion>
</exclusions>
</dependency>

</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,16 @@
import org.springframework.http.client.ClientHttpRequestExecution;
import org.springframework.test.util.ReflectionTestUtils;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

/**
*
* @author Gunnar Hillert
*
* @author Corneil du Plessis
*/
class OAuth2AccessTokenProvidingClientHttpRequestInterceptorTests {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,13 @@
<packaging>jar</packaging>
<properties>
<failIfNoTests>true</failIfNoTests>
<okhttp3.version>5.0.0-alpha.14</okhttp3.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-common-security-config-core</artifactId>
<version>2.11.3-SNAPSHOT</version>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
Expand Down Expand Up @@ -59,12 +60,26 @@
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<artifactId>mockwebserver3-junit5</artifactId>
<version>${okhttp3.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>mockwebserver</artifactId>
<artifactId>okhttp</artifactId>
<version>${okhttp3.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>1.8.22</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>1.8.22</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
import java.util.Set;

import com.fasterxml.jackson.databind.ObjectMapper;
import okhttp3.mockwebserver.MockResponse;
import okhttp3.mockwebserver.MockWebServer;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import mockwebserver3.MockResponse;
import mockwebserver3.MockWebServer;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import org.springframework.security.core.GrantedAuthority;
Expand All @@ -36,22 +36,24 @@
/**
* @author Mike Heath
* @author Gunnar Hillert
* @author Corneil du Plessis
*/
public class ExternalOauth2ResourceAuthoritiesMapperTests {

public static MockWebServer mockBackEnd;
public MockWebServer mockBackEnd;

@BeforeAll
public static void setUp() throws IOException {

@BeforeEach
public void setUp() throws IOException {
mockBackEnd = new MockWebServer();
mockBackEnd.start();
}

@AfterAll
public static void tearDown() throws IOException {
@AfterEach
public void tearDown() throws IOException {
mockBackEnd.shutdown();
}


@Test
public void testExtractAuthorities() throws Exception {
assertAuthorities2(mockBackEnd.url("/authorities").uri(), "VIEW");
Expand All @@ -63,16 +65,16 @@ public void testExtractAuthorities() throws Exception {

private void assertAuthorities2(URI uri, String... roles) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
mockBackEnd.enqueue(new MockResponse()
.setBody(objectMapper.writeValueAsString(roles))
.addHeader("Content-Type", "application/json"));
mockBackEnd.enqueue(new MockResponse().newBuilder()
.body(objectMapper.writeValueAsString(roles))
.addHeader("Content-Type", "application/json").build());

final ExternalOauth2ResourceAuthoritiesMapper authoritiesExtractor =
new ExternalOauth2ResourceAuthoritiesMapper(uri);
final Set<GrantedAuthority> grantedAuthorities = authoritiesExtractor.mapScopesToAuthorities(null, new HashSet<>(), "1234567");
for (String role : roles) {
assertThat(grantedAuthorities).containsAnyOf(new SimpleGrantedAuthority(SecurityConfigUtils.ROLE_PREFIX + role));
}
assertThat(mockBackEnd.takeRequest().getHeader("Authorization")).isEqualTo("Bearer 1234567");
assertThat(mockBackEnd.takeRequest().getHeaders().get("Authorization")).isEqualTo("Bearer 1234567");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<packaging>pom</packaging>
<properties>
<failIfNoTests>true</failIfNoTests>
<okhttp3.version>5.0.0-alpha.14</okhttp3.version>
</properties>
<dependencies>
<dependency>
Expand All @@ -29,6 +30,24 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>mockwebserver3-junit5</artifactId>
<version>${okhttp3.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>${okhttp3.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>1.8.22</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
3 changes: 0 additions & 3 deletions spring-cloud-dataflow-aggregate-task/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<threadCount>1</threadCount>
<forkCount>1</forkCount>
<failIfNoTests>false</failIfNoTests>
</configuration>
</plugin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;

import org.springframework.cloud.dataflow.audit.repository.AuditRecordRepository;
Expand All @@ -34,10 +35,10 @@
import org.springframework.cloud.dataflow.core.AuditRecord;
import org.springframework.data.domain.PageRequest;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isNull;
Expand All @@ -55,7 +56,7 @@ public class DefaultAuditRecordServiceTests {

private AuditRecordRepository auditRecordRepository;

@Before
@BeforeEach
public void setupMock() {
this.auditRecordRepository = mock(AuditRecordRepository.class);
}
Expand Down
9 changes: 0 additions & 9 deletions spring-cloud-dataflow-autoconfigure/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -83,15 +83,6 @@
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<threadCount>1</threadCount>
<forkCount>1</forkCount>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

import io.pivotal.reactor.scheduler.ReactorSchedulerClient;
import org.cloudfoundry.operations.CloudFoundryOperations;
import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration;
Expand All @@ -41,14 +40,13 @@
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import static org.mockito.Mockito.mock;

/**
* @author Christian Tzolov
* @author Corneil du Plessis
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
classes = AbstractSchedulerPerPlatformTest.AutoConfigurationApplication.class)
@DirtiesContext
Expand Down
Loading

0 comments on commit b031e8d

Please sign in to comment.