Update tests in common to use JUnit 6

Closes #47887

Signed-off-by: stianst <stianst@gmail.com>
This commit is contained in:
Stian Thorgersen
2026-04-09 21:52:47 +02:00
committed by GitHub
parent e771d15b6c
commit 24f539f078
18 changed files with 243 additions and 194 deletions
+4 -4
View File
@@ -46,13 +46,13 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
@@ -1,5 +1,6 @@
package org.keycloak.common;
import java.io.File;
import java.security.Provider;
import java.security.Security;
import java.util.AbstractMap;
@@ -15,16 +16,16 @@ import org.keycloak.common.profile.CommaSeparatedListProfileConfigResolver;
import org.keycloak.common.profile.ProfileException;
import org.keycloak.common.profile.PropertiesProfileConfigResolver;
import org.hamcrest.MatcherAssert;
import org.hamcrest.Matchers;
import org.junit.After;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import static org.junit.Assert.assertThrows;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
public class ProfileTest {
@@ -34,15 +35,15 @@ public class ProfileTest {
private static final Profile.Feature EXPERIMENTAL_FEATURE = Profile.Feature.DYNAMIC_SCOPES;
private static Profile.Feature DEPRECATED_FEATURE = Profile.Feature.LOGIN_V1;
@Rule
public TemporaryFolder temporaryFolder = new TemporaryFolder();
@TempDir
public File temporaryFolder;
@BeforeClass
@BeforeAll
public static void beforeClass() {
Assert.assertEquals(Profile.Feature.Type.DEFAULT, DEFAULT_FEATURE.getType());
Assert.assertEquals(Profile.Feature.Type.DISABLED_BY_DEFAULT, DISABLED_BY_DEFAULT_FEATURE.getType());
Assert.assertEquals(Profile.Feature.Type.PREVIEW, PREVIEW_FEATURE.getType());
Assert.assertEquals(Profile.Feature.Type.EXPERIMENTAL, EXPERIMENTAL_FEATURE.getType());
Assertions.assertEquals(Profile.Feature.Type.DEFAULT, DEFAULT_FEATURE.getType());
Assertions.assertEquals(Profile.Feature.Type.DISABLED_BY_DEFAULT, DISABLED_BY_DEFAULT_FEATURE.getType());
Assertions.assertEquals(Profile.Feature.Type.PREVIEW, PREVIEW_FEATURE.getType());
Assertions.assertEquals(Profile.Feature.Type.EXPERIMENTAL, EXPERIMENTAL_FEATURE.getType());
for (Profile.Feature feature : Profile.Feature.values()) {
if (feature.getType().equals(Profile.Feature.Type.DEPRECATED)) {
@@ -52,11 +53,11 @@ public class ProfileTest {
}
if (DEPRECATED_FEATURE != null) {
Assert.assertEquals(Profile.Feature.Type.DEPRECATED, DEPRECATED_FEATURE.getType());
Assertions.assertEquals(Profile.Feature.Type.DEPRECATED, DEPRECATED_FEATURE.getType());
}
}
@After
@AfterEach
public void afterTest() {
Profile.defaults();
}
@@ -65,30 +66,30 @@ public class ProfileTest {
public void checkDefaults() {
Profile profile = Profile.defaults();
Assert.assertTrue(Profile.isFeatureEnabled(DEFAULT_FEATURE));
Assert.assertFalse(DEFAULT_FEATURE.isDeprecated());
MatcherAssert.assertThat(profile.getPreviewFeatures(), Matchers.not(Matchers.hasItem(DEFAULT_FEATURE)));
Assert.assertFalse(Profile.isFeatureEnabled(DISABLED_BY_DEFAULT_FEATURE));
Assert.assertFalse(DISABLED_BY_DEFAULT_FEATURE.isDeprecated());
MatcherAssert.assertThat(profile.getPreviewFeatures(), Matchers.not(Matchers.hasItem(DISABLED_BY_DEFAULT_FEATURE)));
Assert.assertFalse(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assert.assertFalse(Profile.isFeatureEnabled(EXPERIMENTAL_FEATURE));
Assert.assertFalse(EXPERIMENTAL_FEATURE.isDeprecated());
MatcherAssert.assertThat(profile.getPreviewFeatures(), Matchers.not(Matchers.hasItem(EXPERIMENTAL_FEATURE)));
Assertions.assertTrue(Profile.isFeatureEnabled(DEFAULT_FEATURE));
Assertions.assertFalse(DEFAULT_FEATURE.isDeprecated());
assertThat(profile.getPreviewFeatures(), Matchers.not(Matchers.hasItem(DEFAULT_FEATURE)));
Assertions.assertFalse(Profile.isFeatureEnabled(DISABLED_BY_DEFAULT_FEATURE));
Assertions.assertFalse(DISABLED_BY_DEFAULT_FEATURE.isDeprecated());
assertThat(profile.getPreviewFeatures(), Matchers.not(Matchers.hasItem(DISABLED_BY_DEFAULT_FEATURE)));
Assertions.assertFalse(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assertions.assertFalse(Profile.isFeatureEnabled(EXPERIMENTAL_FEATURE));
Assertions.assertFalse(EXPERIMENTAL_FEATURE.isDeprecated());
assertThat(profile.getPreviewFeatures(), Matchers.not(Matchers.hasItem(EXPERIMENTAL_FEATURE)));
if (DEPRECATED_FEATURE != null) {
Assert.assertFalse(Profile.isFeatureEnabled(DEPRECATED_FEATURE));
MatcherAssert.assertThat(profile.getDeprecatedFeatures(), Matchers.hasItem(DEPRECATED_FEATURE));
Assert.assertTrue(DEPRECATED_FEATURE.isDeprecated());
Assertions.assertFalse(Profile.isFeatureEnabled(DEPRECATED_FEATURE));
assertThat(profile.getDeprecatedFeatures(), Matchers.hasItem(DEPRECATED_FEATURE));
Assertions.assertTrue(DEPRECATED_FEATURE.isDeprecated());
} else {
MatcherAssert.assertThat(profile.getDeprecatedFeatures(), Matchers.empty());
assertThat(profile.getDeprecatedFeatures(), Matchers.empty());
}
Assert.assertEquals(Profile.ProfileName.DEFAULT, profile.getName());
Assertions.assertEquals(Profile.ProfileName.DEFAULT, profile.getName());
MatcherAssert.assertThat(profile.getDisabledFeatures(), Matchers.hasItem(DISABLED_BY_DEFAULT_FEATURE));
MatcherAssert.assertThat(profile.getPreviewFeatures(), Matchers.hasItem(PREVIEW_FEATURE));
Assert.assertTrue(Profile.Feature.TOKEN_EXCHANGE.isDeprecated());
Assert.assertEquals(Profile.Feature.Type.PREVIEW, Profile.Feature.TOKEN_EXCHANGE.getType());
assertThat(profile.getDisabledFeatures(), Matchers.hasItem(DISABLED_BY_DEFAULT_FEATURE));
assertThat(profile.getPreviewFeatures(), Matchers.hasItem(PREVIEW_FEATURE));
Assertions.assertTrue(Profile.Feature.TOKEN_EXCHANGE.isDeprecated());
Assertions.assertEquals(Profile.Feature.Type.PREVIEW, Profile.Feature.TOKEN_EXCHANGE.getType());
}
@Test
@@ -96,7 +97,7 @@ public class ProfileTest {
Properties properties = new Properties();
properties.setProperty("keycloak.profile.feature.account_api", "disabled");
Assert.assertEquals("Feature account-v3 depends on disabled feature account-api",
Assertions.assertEquals("Feature account-v3 depends on disabled feature account-api",
assertThrows(ProfileException.class,
() -> Profile.configure(new PropertiesProfileConfigResolver(properties))).getMessage());
}
@@ -107,8 +108,8 @@ public class ProfileTest {
properties.setProperty("keycloak.profile.feature.account", "disabled");
properties.setProperty("keycloak.profile.feature.account_api", "disabled");
Profile.configure(new PropertiesProfileConfigResolver(properties));
Assert.assertFalse(Profile.isFeatureEnabled(Profile.Feature.ACCOUNT_V3));
Assert.assertFalse(Profile.isFeatureEnabled(Profile.Feature.ACCOUNT_API));
Assertions.assertFalse(Profile.isFeatureEnabled(Profile.Feature.ACCOUNT_V3));
Assertions.assertFalse(Profile.isFeatureEnabled(Profile.Feature.ACCOUNT_API));
}
@Test
@@ -116,7 +117,7 @@ public class ProfileTest {
Properties properties = new Properties();
properties.setProperty("keycloak.profile.feature.account_api", "invalid");
Assert.assertEquals("Invalid config value 'invalid' for feature key keycloak.profile.feature.account_api",
Assertions.assertEquals("Invalid config value 'invalid' for feature key keycloak.profile.feature.account_api",
assertThrows(ProfileException.class,
() -> Profile.configure(new PropertiesProfileConfigResolver(properties))).getMessage());
}
@@ -126,7 +127,7 @@ public class ProfileTest {
Properties properties = new Properties();
properties.setProperty("keycloak.profile", "experimental");
Assert.assertEquals("Invalid profile 'experimental' specified via 'keycloak.profile' property",
Assertions.assertEquals("Invalid profile 'experimental' specified via 'keycloak.profile' property",
assertThrows(ProfileException.class,
() -> Profile.configure(new PropertiesProfileConfigResolver(properties))).getMessage());
}
@@ -137,16 +138,16 @@ public class ProfileTest {
properties.setProperty("keycloak.profile", "preview");
Profile.configure(new PropertiesProfileConfigResolver(properties));
Assert.assertEquals(Profile.ProfileName.PREVIEW, Profile.getInstance().getName());
Assert.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assertions.assertEquals(Profile.ProfileName.PREVIEW, Profile.getInstance().getName());
Assertions.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
}
@Test
public void enablePreviewWithCommaSeparatedList() {
Profile.configure(new CommaSeparatedListProfileConfigResolver("preview", null));
Assert.assertEquals(Profile.ProfileName.PREVIEW, Profile.getInstance().getName());
Assert.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assertions.assertEquals(Profile.ProfileName.PREVIEW, Profile.getInstance().getName());
Assertions.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
}
@Test
@@ -159,20 +160,20 @@ public class ProfileTest {
String disabledFeatures = DEFAULT_FEATURE.getKey();
Profile.configure(new CommaSeparatedListProfileConfigResolver(enabledFeatures, disabledFeatures));
Assert.assertFalse(Profile.isFeatureEnabled(DEFAULT_FEATURE));
Assert.assertTrue(Profile.isFeatureEnabled(DISABLED_BY_DEFAULT_FEATURE));
Assert.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assert.assertTrue(Profile.isFeatureEnabled(EXPERIMENTAL_FEATURE));
Assertions.assertFalse(Profile.isFeatureEnabled(DEFAULT_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(DISABLED_BY_DEFAULT_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(EXPERIMENTAL_FEATURE));
if (DEPRECATED_FEATURE != null) {
Assert.assertTrue(Profile.isFeatureEnabled(DEPRECATED_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(DEPRECATED_FEATURE));
}
}
@Test
public void testKeys() {
Assert.assertEquals("account-v3", Profile.Feature.ACCOUNT_V3.getKey());
Assert.assertEquals("account", Profile.Feature.ACCOUNT_V3.getUnversionedKey());
Assert.assertEquals("account:v3", Profile.Feature.ACCOUNT_V3.getVersionedKey());
Assertions.assertEquals("account-v3", Profile.Feature.ACCOUNT_V3.getKey());
Assertions.assertEquals("account", Profile.Feature.ACCOUNT_V3.getUnversionedKey());
Assertions.assertEquals("account:v3", Profile.Feature.ACCOUNT_V3.getVersionedKey());
}
@Test
@@ -185,12 +186,12 @@ public class ProfileTest {
String disabledFeatures = DEFAULT_FEATURE.getUnversionedKey();
Profile.configure(new CommaSeparatedListProfileConfigResolver(enabledFeatures, disabledFeatures));
Assert.assertFalse(Profile.isFeatureEnabled(DEFAULT_FEATURE));
Assert.assertTrue(Profile.isFeatureEnabled(DISABLED_BY_DEFAULT_FEATURE));
Assert.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assert.assertTrue(Profile.isFeatureEnabled(EXPERIMENTAL_FEATURE));
Assertions.assertFalse(Profile.isFeatureEnabled(DEFAULT_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(DISABLED_BY_DEFAULT_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(EXPERIMENTAL_FEATURE));
if (DEPRECATED_FEATURE != null) {
Assert.assertTrue(Profile.isFeatureEnabled(DEPRECATED_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(DEPRECATED_FEATURE));
}
}
@@ -229,12 +230,12 @@ public class ProfileTest {
Profile.configure(new PropertiesProfileConfigResolver(properties));
Assert.assertFalse(Profile.isFeatureEnabled(DEFAULT_FEATURE));
Assert.assertTrue(Profile.isFeatureEnabled(DISABLED_BY_DEFAULT_FEATURE));
Assert.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assert.assertTrue(Profile.isFeatureEnabled(EXPERIMENTAL_FEATURE));
Assertions.assertFalse(Profile.isFeatureEnabled(DEFAULT_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(DISABLED_BY_DEFAULT_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(EXPERIMENTAL_FEATURE));
if (DEPRECATED_FEATURE != null) {
Assert.assertTrue(Profile.isFeatureEnabled(DEPRECATED_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(DEPRECATED_FEATURE));
}
}
@@ -245,8 +246,8 @@ public class ProfileTest {
Profile.configure(new CommaSeparatedListProfileConfigResolver(DISABLED_BY_DEFAULT_FEATURE.getKey(), ""), new PropertiesProfileConfigResolver(properties));
Assert.assertTrue(Profile.isFeatureEnabled(DISABLED_BY_DEFAULT_FEATURE));
Assert.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(DISABLED_BY_DEFAULT_FEATURE));
Assertions.assertTrue(Profile.isFeatureEnabled(PREVIEW_FEATURE));
}
@Test
@@ -256,18 +257,18 @@ public class ProfileTest {
try {
Properties properties = new Properties();
properties.setProperty(PropertiesProfileConfigResolver.getPropertyKey(Profile.Feature.KERBEROS), "enabled");
ProfileException e = Assert.assertThrows(ProfileException.class, () -> Profile.configure(new PropertiesProfileConfigResolver(properties)));
Assert.assertEquals("Feature kerberos cannot be enabled as it is not available.", e.getMessage());
ProfileException e = Assertions.assertThrows(ProfileException.class, () -> Profile.configure(new PropertiesProfileConfigResolver(properties)));
Assertions.assertEquals("Feature kerberos cannot be enabled as it is not available.", e.getMessage());
Profile.defaults();
properties.setProperty(PropertiesProfileConfigResolver.getPropertyKey(Profile.Feature.KERBEROS), "disabled");
Profile.configure(new PropertiesProfileConfigResolver(properties));
Assert.assertFalse(Profile.isFeatureEnabled(Profile.Feature.KERBEROS));
Assertions.assertFalse(Profile.isFeatureEnabled(Profile.Feature.KERBEROS));
Profile.defaults();
properties.clear();
Profile.configure(new PropertiesProfileConfigResolver(properties));
Assert.assertFalse(Profile.isFeatureEnabled(Profile.Feature.KERBEROS));
Assertions.assertFalse(Profile.isFeatureEnabled(Profile.Feature.KERBEROS));
} finally {
if (removed != null) {
Security.insertProviderAt(removed.getValue(), removed.getKey());
@@ -276,7 +277,7 @@ public class ProfileTest {
}
public static void assertEquals(Set<Profile.Feature> actual, Collection<Profile.Feature> expected) {
MatcherAssert.assertThat(actual, Matchers.equalTo(expected));
assertThat(actual, Matchers.equalTo(expected));
}
public static void assertEquals(Set<Profile.Feature> actual, Profile.Feature... expected) {
@@ -1,21 +1,21 @@
package org.keycloak.common.crypto;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertNull;
import static org.junit.jupiter.api.Assertions.assertNull;
public class CryptoIntegrationTest {
private static CryptoProvider originalProvider;
@BeforeClass
@BeforeAll
public static void keepOriginalProvider() {
CryptoIntegrationTest.originalProvider = getSelectedProvider();
}
// doing our best to avoid any side effects on other tests by restoring the initial state of CryptoIntegration
@AfterClass
@AfterAll
public static void restoreOriginalProvider() {
CryptoIntegration.setProvider(originalProvider);
}
@@ -2,10 +2,10 @@ package org.keycloak.common.enums;
import java.io.IOException;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class SslRequiredTest {
@@ -2,8 +2,7 @@ package org.keycloak.common.util;
import java.io.IOException;
import org.hamcrest.MatcherAssert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
@@ -75,28 +74,28 @@ public class Base64DecodeTest {
try {
Base64.decode(" ");
MatcherAssert.assertThat("Exception excepted", false);
assertThat("Exception excepted", false);
} catch (final Exception e) {
assertThat(e, instanceOf(IllegalArgumentException.class));
}
try {
Base64.decode(" ".getBytes());
MatcherAssert.assertThat("Exception excepted", false);
assertThat("Exception excepted", false);
} catch (final Exception e) {
assertThat(e, instanceOf(IllegalArgumentException.class));
}
try {
Base64.decode((String) null);
MatcherAssert.assertThat("Exception excepted", false);
assertThat("Exception excepted", false);
} catch (final Exception e) {
assertThat(e, instanceOf(NullPointerException.class));
}
try {
Base64.decode((byte[]) null);
MatcherAssert.assertThat("Exception excepted", false);
assertThat("Exception excepted", false);
} catch (final Exception e) {
assertThat(e, instanceOf(NullPointerException.class));
}
@@ -106,28 +105,28 @@ public class Base64DecodeTest {
public void decode_lowLevelInvalidParams() {
try {
Base64.decode(null, 0, 1, Base64.NO_OPTIONS);
MatcherAssert.assertThat("Exception excepted", false);
assertThat("Exception excepted", false);
} catch (final Exception e){
assertThat(e, instanceOf(NullPointerException.class));
}
try {
Base64.decode(new byte[2], 0, 1, Base64.NO_OPTIONS);
MatcherAssert.assertThat("Exception excepted", false);
assertThat("Exception excepted", false);
} catch (final Exception e){
assertThat(e, instanceOf(IllegalArgumentException.class));
}
try {
Base64.decode(new byte[8], 0, 10, Base64.NO_OPTIONS);
MatcherAssert.assertThat("Exception excepted", false);
assertThat("Exception excepted", false);
} catch (final Exception e){
assertThat(e, instanceOf(IllegalArgumentException.class));
}
try {
Base64.decode(new byte[8], 5, 5, Base64.NO_OPTIONS);
MatcherAssert.assertThat("Exception excepted", false);
assertThat("Exception excepted", false);
} catch (final Exception e){
assertThat(e, instanceOf(IllegalArgumentException.class));
}
@@ -6,8 +6,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -18,7 +18,7 @@ public class CollectionUtilTest {
public void joinInputNoneOutputEmpty() {
final ArrayList<String> strings = new ArrayList<>();
final String retval = CollectionUtil.join(strings, ",");
Assert.assertEquals("", retval);
Assertions.assertEquals("", retval);
}
@Test
@@ -27,7 +27,7 @@ public class CollectionUtilTest {
strings.add("foo");
strings.add("bar");
final String retval = CollectionUtil.join(strings, null);
Assert.assertEquals("foonullbar", retval);
Assertions.assertEquals("foonullbar", retval);
}
@Test
@@ -35,7 +35,7 @@ public class CollectionUtilTest {
final ArrayList<String> strings = new ArrayList<>();
strings.add("foo");
final String retval = CollectionUtil.join(strings, ",");
Assert.assertEquals("foo", retval);
Assertions.assertEquals("foo", retval);
}
@Test
@@ -44,7 +44,7 @@ public class CollectionUtilTest {
strings.add("foo");
strings.add("bar");
final String retval = CollectionUtil.join(strings, ",");
Assert.assertEquals("foo,bar", retval);
Assertions.assertEquals("foo,bar", retval);
}
@Test
@@ -72,9 +72,9 @@ public class CollectionUtilTest {
@Test
public void equalsCollectionTest() {
Assert.assertFalse(CollectionUtil.collectionEquals(Arrays.asList(1, 3, 2), Arrays.asList(1, 3)));
Assert.assertFalse(CollectionUtil.collectionEquals(Arrays.asList("A", "C"), Arrays.asList("A", "C", "B")));
Assert.assertFalse(CollectionUtil.collectionEquals(Arrays.asList(1, 3, 2, 3), Arrays.asList(1, 2, 3, 2)));
Assert.assertTrue(CollectionUtil.collectionEquals(Arrays.asList(1, 3, 3), Arrays.asList(3, 1, 3)));
Assertions.assertFalse(CollectionUtil.collectionEquals(Arrays.asList(1, 3, 2), Arrays.asList(1, 3)));
Assertions.assertFalse(CollectionUtil.collectionEquals(Arrays.asList("A", "C"), Arrays.asList("A", "C", "B")));
Assertions.assertFalse(CollectionUtil.collectionEquals(Arrays.asList(1, 3, 2, 3), Arrays.asList(1, 2, 3, 2)));
Assertions.assertTrue(CollectionUtil.collectionEquals(Arrays.asList(1, 3, 3), Arrays.asList(3, 1, 3)));
}
}
@@ -1,16 +1,16 @@
package org.keycloak.common.util;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class HtmlUtilsTest {
@Test
public void escapeAttribute() {
Assert.assertEquals("1&lt;2", HtmlUtils.escapeAttribute("1<2"));
Assert.assertEquals("2&lt;3&amp;&amp;3&gt;2", HtmlUtils.escapeAttribute("2<3&&3>2") );
Assert.assertEquals("test", HtmlUtils.escapeAttribute("test"));
Assert.assertEquals("&apos;test&apos;", HtmlUtils.escapeAttribute("\'test\'"));
Assert.assertEquals("&quot;test&quot;", HtmlUtils.escapeAttribute("\"test\""));
Assertions.assertEquals("1&lt;2", HtmlUtils.escapeAttribute("1<2"));
Assertions.assertEquals("2&lt;3&amp;&amp;3&gt;2", HtmlUtils.escapeAttribute("2<3&&3>2") );
Assertions.assertEquals("test", HtmlUtils.escapeAttribute("test"));
Assertions.assertEquals("&apos;test&apos;", HtmlUtils.escapeAttribute("\'test\'"));
Assertions.assertEquals("&quot;test&quot;", HtmlUtils.escapeAttribute("\"test\""));
}
}
@@ -4,10 +4,10 @@ import java.util.concurrent.ThreadLocalRandom;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class KeyUtilsTest {
@@ -20,8 +20,8 @@ package org.keycloak.common.util;
import java.util.Collections;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
/**
* @author rmartinc
@@ -30,73 +30,73 @@ public class KeycloakUriBuilderTest {
@Test
public void test() {
Assert.assertEquals("http://localhost:8080/path?attr1=value1&attr2=value2",
Assertions.assertEquals("http://localhost:8080/path?attr1=value1&attr2=value2",
KeycloakUriBuilder.fromUri("http://localhost:8080/path?attr1=value1&attr2=value2")
.build().toString());
Assert.assertEquals("http://localhost/path?attr1=value1&attr2=value2",
Assertions.assertEquals("http://localhost/path?attr1=value1&attr2=value2",
KeycloakUriBuilder.fromUri("http://localhost:80")
.path("path")
.queryParam("attr1", "value1")
.queryParam("attr2", "value2")
.build().toString());
Assert.assertEquals("unknown://localhost:9000/path",
Assertions.assertEquals("unknown://localhost:9000/path",
KeycloakUriBuilder.fromUri("unknown://localhost:9000/path").build().toString());
Assert.assertEquals("https://localhost/path?attr1=value1",
Assertions.assertEquals("https://localhost/path?attr1=value1",
KeycloakUriBuilder.fromUri("https://{hostname}:443/path?attr1={value}")
.build("localhost", "value1").toString());
Assert.assertEquals("https://localhost:8443/path?attr1=value1",
Assertions.assertEquals("https://localhost:8443/path?attr1=value1",
KeycloakUriBuilder.fromUri("https://localhost:8443/path?attr1={value}")
.buildFromMap(Collections.singletonMap("value", "value1")).toString());
}
@Test
public void testPort() {
Assert.assertEquals("https://localhost:8443/path", KeycloakUriBuilder.fromUri("https://localhost:8443/path").buildAsString());
Assert.assertEquals("https://localhost:8443/path", KeycloakUriBuilder.fromUri("https://localhost:8443/path").preserveDefaultPort().buildAsString());
Assertions.assertEquals("https://localhost:8443/path", KeycloakUriBuilder.fromUri("https://localhost:8443/path").buildAsString());
Assertions.assertEquals("https://localhost:8443/path", KeycloakUriBuilder.fromUri("https://localhost:8443/path").preserveDefaultPort().buildAsString());
Assert.assertEquals("https://localhost/path", KeycloakUriBuilder.fromUri("https://localhost:443/path").buildAsString());
Assert.assertEquals("https://localhost:443/path", KeycloakUriBuilder.fromUri("https://localhost:443/path").preserveDefaultPort().buildAsString());
Assertions.assertEquals("https://localhost/path", KeycloakUriBuilder.fromUri("https://localhost:443/path").buildAsString());
Assertions.assertEquals("https://localhost:443/path", KeycloakUriBuilder.fromUri("https://localhost:443/path").preserveDefaultPort().buildAsString());
Assert.assertEquals("http://localhost/path", KeycloakUriBuilder.fromUri("http://localhost:80/path").buildAsString());
Assert.assertEquals("http://localhost:80/path", KeycloakUriBuilder.fromUri("http://localhost:80/path").preserveDefaultPort().buildAsString());
Assertions.assertEquals("http://localhost/path", KeycloakUriBuilder.fromUri("http://localhost:80/path").buildAsString());
Assertions.assertEquals("http://localhost:80/path", KeycloakUriBuilder.fromUri("http://localhost:80/path").preserveDefaultPort().buildAsString());
// Port always preserved (even if preserverPort not specified) due the port 80 doesn't match "https" scheme
Assert.assertEquals("https://localhost:80/path", KeycloakUriBuilder.fromUri("https://localhost:80/path").buildAsString());
Assertions.assertEquals("https://localhost:80/path", KeycloakUriBuilder.fromUri("https://localhost:80/path").buildAsString());
// Port not in the build URL when it was not specified in the original URL (even if preserverPort() is true)
Assert.assertEquals("http://localhost/path", KeycloakUriBuilder.fromUri("http://localhost/path").buildAsString());
Assert.assertEquals("http://localhost/path", KeycloakUriBuilder.fromUri("http://localhost/path").preserveDefaultPort().buildAsString());
Assert.assertEquals("https://localhost/path", KeycloakUriBuilder.fromUri("https://localhost/path").buildAsString());
Assert.assertEquals("https://localhost/path", KeycloakUriBuilder.fromUri("https://localhost/path").preserveDefaultPort().buildAsString());
Assertions.assertEquals("http://localhost/path", KeycloakUriBuilder.fromUri("http://localhost/path").buildAsString());
Assertions.assertEquals("http://localhost/path", KeycloakUriBuilder.fromUri("http://localhost/path").preserveDefaultPort().buildAsString());
Assertions.assertEquals("https://localhost/path", KeycloakUriBuilder.fromUri("https://localhost/path").buildAsString());
Assertions.assertEquals("https://localhost/path", KeycloakUriBuilder.fromUri("https://localhost/path").preserveDefaultPort().buildAsString());
}
@Test
public void testTemplateAndNotTemplate() {
Assert.assertEquals("https://localhost:8443/path?key=query#fragment", KeycloakUriBuilder.fromUri(
Assertions.assertEquals("https://localhost:8443/path?key=query#fragment", KeycloakUriBuilder.fromUri(
"https://localhost:8443/{path}?key={query}#{fragment}").buildAsString("path", "query", "fragment"));
Assert.assertEquals("https://localhost:8443/%7Bpath%7D?key=%7Bquery%7D#%7Bfragment%7D", KeycloakUriBuilder.fromUri(
Assertions.assertEquals("https://localhost:8443/%7Bpath%7D?key=%7Bquery%7D#%7Bfragment%7D", KeycloakUriBuilder.fromUri(
"https://localhost:8443/{path}?key={query}#{fragment}", false).buildAsString());
}
@Test
public void testUserInfo() {
Assert.assertEquals("https://user-info@localhost:8443/path?key=query#fragment", KeycloakUriBuilder.fromUri(
Assertions.assertEquals("https://user-info@localhost:8443/path?key=query#fragment", KeycloakUriBuilder.fromUri(
"https://{userinfo}@localhost:8443/{path}?key={query}#{fragment}").buildAsString("user-info", "path", "query", "fragment"));
Assert.assertEquals("https://user%20info%40%2F@localhost:8443/path?key=query#fragment", KeycloakUriBuilder.fromUri(
Assertions.assertEquals("https://user%20info%40%2F@localhost:8443/path?key=query#fragment", KeycloakUriBuilder.fromUri(
"https://{userinfo}@localhost:8443/{path}?key={query}#{fragment}").buildAsString("user info@/", "path", "query", "fragment"));
Assert.assertEquals("https://user-info%E2%82%AC@localhost:8443", KeycloakUriBuilder.fromUri(
Assertions.assertEquals("https://user-info%E2%82%AC@localhost:8443", KeycloakUriBuilder.fromUri(
"https://user-info%E2%82%AC@localhost:8443", false).buildAsString());
Assert.assertEquals("https://user-info%E2%82%AC@localhost:8443", KeycloakUriBuilder.fromUri(
Assertions.assertEquals("https://user-info%E2%82%AC@localhost:8443", KeycloakUriBuilder.fromUri(
"https://user-info€@localhost:8443", false).buildAsString());
}
@Test
public void testEmptyHostname() {
Assert.assertEquals("app.immich:///oauth-callback", KeycloakUriBuilder.fromUri(
Assertions.assertEquals("app.immich:///oauth-callback", KeycloakUriBuilder.fromUri(
"app.immich:///oauth-callback").buildAsString());
}
}
@@ -1,9 +1,9 @@
package org.keycloak.common.util;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
public class KeystoreUtilTest {
@@ -18,10 +18,10 @@ package org.keycloak.common.util;
import java.util.Arrays;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
/**
*
@@ -30,19 +30,19 @@ import static org.junit.Assert.assertTrue;
public class MultivaluedHashMapTest {
public <T, R> void equalsIgnoreValueOrder_shouldReturnTrueForEqualMaps(MultivaluedHashMap<T, R> map, MultivaluedHashMap<T, R> equalMap) {
assertTrue(String.format("MultivaluedHashMap.equalsIgnoreValueOrder() should return `true` for the same object. \nmap: %s", map),
map.equalsIgnoreValueOrder(map));
assertTrue(String.format("MultivaluedHashMap.equalsIgnoreValueOrder() should return `true` for maps that are equal. \nmap1: %s \nmap2: %s", map, equalMap),
map.equalsIgnoreValueOrder(equalMap));
assertTrue(String.format("MultivaluedHashMap.equalsIgnoreValueOrder() should return `true` for maps that are equal. \nmap1: %s \nmap2: %s", equalMap, map),
equalMap.equalsIgnoreValueOrder(map));
assertTrue(map.equalsIgnoreValueOrder(map),
String.format("MultivaluedHashMap.equalsIgnoreValueOrder() should return `true` for the same object. \nmap: %s", map));
assertTrue(map.equalsIgnoreValueOrder(equalMap),
String.format("MultivaluedHashMap.equalsIgnoreValueOrder() should return `true` for maps that are equal. \nmap1: %s \nmap2: %s", map, equalMap));
assertTrue(equalMap.equalsIgnoreValueOrder(map),
String.format("MultivaluedHashMap.equalsIgnoreValueOrder() should return `true` for maps that are equal. \nmap1: %s \nmap2: %s", equalMap, map));
}
public <T, R> void equalsIgnoreValueOrder_shouldReturnFalseForDifferentMaps(MultivaluedHashMap<T, R> map, MultivaluedHashMap<T, R> differentMap) {
assertFalse(String.format("MultivaluedHashMap.equalsIgnoreValueOrder() should return `false` for maps that are different. \nmap1: %s \nmap2: %s", map, differentMap),
map.equalsIgnoreValueOrder(differentMap));
assertFalse(String.format("MultivaluedHashMap.equalsIgnoreValueOrder() should return `false` for maps that are different. \nmap1: %s \nmap2: %s", differentMap, map),
differentMap.equalsIgnoreValueOrder(map));
assertFalse(map.equalsIgnoreValueOrder(differentMap),
String.format("MultivaluedHashMap.equalsIgnoreValueOrder() should return `false` for maps that are different. \nmap1: %s \nmap2: %s", map, differentMap));
assertFalse(differentMap.equalsIgnoreValueOrder(map),
String.format("MultivaluedHashMap.equalsIgnoreValueOrder() should return `false` for maps that are different. \nmap1: %s \nmap2: %s", differentMap, map));
}
@Test
@@ -19,8 +19,8 @@
package org.keycloak.common.util;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
@@ -29,11 +29,11 @@ public class PaddingUtilsTest {
@Test
public void testPadding() {
Assert.assertEquals("foo123", PaddingUtils.padding("foo123", 5));
Assert.assertEquals("foo123", PaddingUtils.padding("foo123", 6));
Assert.assertEquals("foo123\0", PaddingUtils.padding("foo123", 7));
Assertions.assertEquals("foo123", PaddingUtils.padding("foo123", 5));
Assertions.assertEquals("foo123", PaddingUtils.padding("foo123", 6));
Assertions.assertEquals("foo123\0", PaddingUtils.padding("foo123", 7));
Assert.assertEquals("someLongPassword", PaddingUtils.padding("someLongPassword", 14));
Assert.assertEquals("short\0\0\0\0\0\0\0\0\0", PaddingUtils.padding("short", 14));
Assertions.assertEquals("someLongPassword", PaddingUtils.padding("someLongPassword", 14));
Assertions.assertEquals("short\0\0\0\0\0\0\0\0\0", PaddingUtils.padding("short", 14));
}
}
@@ -2,8 +2,8 @@ package org.keycloak.common.util;
import java.util.Collection;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class PathMatcherTest {
@@ -11,7 +11,7 @@ public class PathMatcherTest {
public void keycloak15833Test() {
TestingPathMatcher matcher = new TestingPathMatcher();
Assert.assertEquals("/api/v1/1/campaigns/*/excelFiles", matcher.customBuildUriFromTemplate("/api/v1/{clientId}/campaigns/*/excelFiles", "/api/v1/1/contentConnectorConfigs/29/contentConnectorContents", false));
Assertions.assertEquals("/api/v1/1/campaigns/*/excelFiles", matcher.customBuildUriFromTemplate("/api/v1/{clientId}/campaigns/*/excelFiles", "/api/v1/1/contentConnectorConfigs/29/contentConnectorContents", false));
}
private static final class TestingPathMatcher extends PathMatcher<Object> {
@@ -21,8 +21,8 @@ package org.keycloak.common.util;
import java.security.NoSuchAlgorithmException;
import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
@@ -32,44 +32,44 @@ public class StringPropertyReplacerTest {
@Test
public void testSystemProperties() throws NoSuchAlgorithmException {
System.setProperty("prop1", "val1");
Assert.assertEquals("foo-val1", replaceProperties("foo-${prop1}"));
Assertions.assertEquals("foo-val1", replaceProperties("foo-${prop1}"));
// non-matching scenarios
Assert.assertEquals("foo-${prop1", replaceProperties("foo-${prop1"));
Assert.assertEquals("foo-$prop1${", replaceProperties("foo-$prop1${"));
Assertions.assertEquals("foo-${prop1", replaceProperties("foo-${prop1"));
Assertions.assertEquals("foo-$prop1${", replaceProperties("foo-$prop1${"));
Assert.assertEquals("foo-def", replaceProperties("foo-${prop2:def}"));
Assertions.assertEquals("foo-def", replaceProperties("foo-${prop2:def}"));
System.setProperty("prop2", "val2");
Assert.assertEquals("foo-val2", replaceProperties("foo-${prop2:def}"));
Assertions.assertEquals("foo-val2", replaceProperties("foo-${prop2:def}"));
// nesting curly braces
Assert.assertEquals("This is a default text with a {0} substitute", replaceProperties("${prop3:This is a default text with a {0} substitute}"));
Assertions.assertEquals("This is a default text with a {0} substitute", replaceProperties("${prop3:This is a default text with a {0} substitute}"));
// stops at first unmatched, then the rest is regular text - matches the original implementation
Assert.assertEquals("This is a default text with a {0} substitute}", replaceProperties("${prop3:This is a default text with a {0}} substitute}"));
Assertions.assertEquals("This is a default text with a {0} substitute}", replaceProperties("${prop3:This is a default text with a {0}} substitute}"));
// It looks for the property "prop3", then fallback to "prop4", then fallback to "prop5" and finally default value.
// This syntax is supported by Quarkus (and underlying Microprofile)
Assert.assertEquals("foo-def", replaceProperties("foo-${prop3:${prop4:${prop5:def}}}"));
Assertions.assertEquals("foo-def", replaceProperties("foo-${prop3:${prop4:${prop5:def}}}"));
System.setProperty("prop5", "val5");
Assert.assertEquals("foo-val5", replaceProperties("foo-${prop3:${prop4:${prop5:def}}}"));
Assertions.assertEquals("foo-val5", replaceProperties("foo-${prop3:${prop4:${prop5:def}}}"));
System.setProperty("prop4", "val4");
Assert.assertEquals("foo-val4", replaceProperties("foo-${prop3:${prop4:${prop5:def}}}"));
Assertions.assertEquals("foo-val4", replaceProperties("foo-${prop3:${prop4:${prop5:def}}}"));
System.setProperty("prop3", "val3");
Assert.assertEquals("foo-val3", replaceProperties("foo-${prop3:${prop4:${prop5:def}}}"));
Assertions.assertEquals("foo-val3", replaceProperties("foo-${prop3:${prop4:${prop5:def}}}"));
// It looks for the property "prop6", then fallback to "prop7" then fallback to value "def" .
// This syntax is not supported by Quarkus (microprofile), however Wildfly probably supports this
Assert.assertEquals("foo-def", replaceProperties("foo-${prop6,prop7:def}"));
Assertions.assertEquals("foo-def", replaceProperties("foo-${prop6,prop7:def}"));
System.setProperty("prop7", "val7");
Assert.assertEquals("foo-val7", replaceProperties("foo-${prop6,prop7:def}"));
Assertions.assertEquals("foo-val7", replaceProperties("foo-${prop6,prop7:def}"));
System.setProperty("prop6", "val6");
Assert.assertEquals("foo-val6", replaceProperties("foo-${prop6,prop7:def}"));
Assertions.assertEquals("foo-val6", replaceProperties("foo-${prop6,prop7:def}"));
}
@Test
public void testStackOverflow() {
System.setProperty("prop", "${prop}");
IllegalStateException ise = Assert.assertThrows(IllegalStateException.class, () -> replaceProperties("${prop}"));
Assert.assertEquals("Infinite recursion happening when replacing properties on '${prop}'", ise.getMessage());
IllegalStateException ise = Assertions.assertThrows(IllegalStateException.class, () -> replaceProperties("${prop}"));
Assertions.assertEquals("Infinite recursion happening when replacing properties on '${prop}'", ise.getMessage());
}
@Test
@@ -79,7 +79,7 @@ public class StringPropertyReplacerTest {
for (Map.Entry<String, String> entry : env.entrySet()) {
String value = entry.getValue();
if ( !(value == null || "".equals(value)) ) {
Assert.assertEquals("foo-" + value, replaceProperties("foo-${env." + entry.getKey() + "}"));
Assertions.assertEquals("foo-" + value, replaceProperties("foo-${env." + entry.getKey() + "}"));
break;
}
}
@@ -20,7 +20,7 @@ import java.net.URI;
import org.keycloak.common.util.StringSerialization.Deserializer;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
@@ -1,7 +1,7 @@
package org.keycloak.common.util;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
@@ -10,17 +10,17 @@ public class URLEncodingTest {
@Test
public void testUrlEncoding() {
Assert.assertEquals("some", Encode.urlEncode("some"));
Assert.assertEquals("330cbb52-c3eb-4c4a-9f23-77a8094cd969", Encode.urlEncode("330cbb52-c3eb-4c4a-9f23-77a8094cd969"));
Assert.assertEquals("sp%C3%A9cial.char", Encode.urlEncode("spécial.char"));
Assert.assertEquals("sp%C3%A9cial.ch%2Far.%C5%BE%C3%BD%C3%A1%C3%A1", Encode.urlEncode("spécial.ch/ar.žýáá"));
Assertions.assertEquals("some", Encode.urlEncode("some"));
Assertions.assertEquals("330cbb52-c3eb-4c4a-9f23-77a8094cd969", Encode.urlEncode("330cbb52-c3eb-4c4a-9f23-77a8094cd969"));
Assertions.assertEquals("sp%C3%A9cial.char", Encode.urlEncode("spécial.char"));
Assertions.assertEquals("sp%C3%A9cial.ch%2Far.%C5%BE%C3%BD%C3%A1%C3%A1", Encode.urlEncode("spécial.ch/ar.žýáá"));
}
@Test
public void testUrlDecoding() {
Assert.assertEquals("some", Encode.urlDecode("some"));
Assert.assertEquals("330cbb52-c3eb-4c4a-9f23-77a8094cd969", Encode.urlDecode("330cbb52-c3eb-4c4a-9f23-77a8094cd969"));
Assert.assertEquals("spécial.char", Encode.urlDecode("sp%C3%A9cial.char"));
Assert.assertEquals("spécial.ch/ar.žýáá", Encode.urlDecode("sp%C3%A9cial.ch%2Far.%C5%BE%C3%BD%C3%A1%C3%A1"));
Assertions.assertEquals("some", Encode.urlDecode("some"));
Assertions.assertEquals("330cbb52-c3eb-4c4a-9f23-77a8094cd969", Encode.urlDecode("330cbb52-c3eb-4c4a-9f23-77a8094cd969"));
Assertions.assertEquals("spécial.char", Encode.urlDecode("sp%C3%A9cial.char"));
Assertions.assertEquals("spécial.ch/ar.žýáá", Encode.urlDecode("sp%C3%A9cial.ch%2Far.%C5%BE%C3%BD%C3%A1%C3%A1"));
}
}
+14
View File
@@ -0,0 +1,14 @@
#!/bin/bash -e
cd $(dirname $0)/../../
MODULE="$1"
cd "$MODULE"
../mvnw org.openrewrite.maven:rewrite-maven-plugin:run \
-Drewrite.activeRecipes=org.keycloak.JUnit4to5Migration \
-Drewrite.configLocation=../misc/rewrite/junit4-5.yml \
-Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-testing-frameworks:3.34.0
../mvnw spotless:apply
+35
View File
@@ -0,0 +1,35 @@
---
type: specs.openrewrite.org/v1beta/recipe
name: org.keycloak.JUnit4to5Migration
displayName: JUnit Jupiter migration from JUnit 4.x
description: |
Migrates JUnit 4.x tests to JUnit Jupiter.
recipeList:
- org.openrewrite.java.testing.junit5.IgnoreToDisabled
- org.openrewrite.maven.RemovePluginDependency:
pluginGroupId: org.apache.maven.plugins
pluginArtifactId: maven-surefire-plugin
groupId: org.apache.maven.surefire
artifactId: surefire-junit*
- org.openrewrite.java.testing.junit5.UpgradeSurefirePlugin
- org.openrewrite.java.testing.junit5.AddHamcrestJUnitDependency
- org.openrewrite.java.testing.junit5.UseHamcrestAssertThat
- org.openrewrite.java.testing.junit5.MigrateAssumptions
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.junit.Assert assertEquals(.., Object[], Object[])
newMethodName: assertArrayEquals
- org.openrewrite.java.testing.junit5.AssertToAssertions
- org.openrewrite.java.testing.junit5.MigrateAssertionFailedError
- org.openrewrite.java.testing.junit5.CleanupJUnitImports
- org.openrewrite.java.testing.junit5.TemporaryFolderToTempDir
- org.openrewrite.java.testing.junit5.UpdateBeforeAfterAnnotations
- org.openrewrite.java.testing.junit5.UpdateTestAnnotation
- org.openrewrite.java.testing.junit5.ExpectedExceptionToAssertThrows
- org.openrewrite.java.testing.hamcrest.AddHamcrestIfUsed
- org.openrewrite.java.dependencies.RemoveDependency:
groupId: junit
artifactId: junit
- org.openrewrite.java.dependencies.AddDependency:
groupId: org.junit.jupiter
artifactId: junit-jupiter
scope: test