From 4b5f0824832354e38bae56c14c214ee6bc416c19 Mon Sep 17 00:00:00 2001 From: Avgustin Marinov Date: Tue, 21 Jan 2025 08:29:54 +0200 Subject: [PATCH] Remove use of deprecated RandomStringUtils method Signed-off-by: Avgustin Marinov --- .../rest/resource/MgmtTargetResourceTest.java | 7 ++- .../resource/MgmtTargetTypeResourceTest.java | 3 +- .../jpa/AbstractJpaIntegrationTest.java | 1 - .../jpa/management/RolloutManagementTest.java | 3 +- .../jpa/management/TargetManagementTest.java | 19 ++++---- .../test/util/AbstractIntegrationTest.java | 7 +-- .../test/util/DatasourceContext.java | 43 +++++-------------- .../repository/test/util/TestdataFactory.java | 24 +++++++---- 8 files changed, 42 insertions(+), 65 deletions(-) diff --git a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java index 20e20b19a6..11fb2942b3 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java +++ b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java @@ -53,7 +53,6 @@ import io.qameta.allure.Feature; import io.qameta.allure.Step; import io.qameta.allure.Story; -import org.apache.commons.lang3.RandomStringUtils; import org.awaitility.Awaitility; import org.eclipse.hawkbit.exception.SpServerError; import org.eclipse.hawkbit.im.authentication.SpPermission; @@ -554,7 +553,7 @@ void updateTargetDescription() throws Exception { @Description("Ensures that target update request fails is updated value fails against a constraint.") void updateTargetDescriptionFailsIfInvalidLength() throws Exception { final String knownControllerId = "123"; - final String knownNewDescription = RandomStringUtils.randomAlphabetic(513); + final String knownNewDescription = randomString(513); final String knownNameNotModify = "nameNotModify"; final String body = new JSONObject().put("description", knownNewDescription).toString(); @@ -869,7 +868,7 @@ void getInstalledDistributionSetOfTargetIsEmpty() throws Exception { @Test @Description("Ensures that a target creation with empty name and a controllerId that exceeds the name length limitation is successful and the name gets truncated.") void createTargetWithEmptyNameAndLongControllerId() throws Exception { - final String randomString = RandomStringUtils.randomAlphanumeric(JpaTarget.CONTROLLER_ID_MAX_SIZE); + final String randomString = randomString(JpaTarget.CONTROLLER_ID_MAX_SIZE); final Target target = entityFactory.target().create().controllerId(randomString).build(); @@ -950,7 +949,7 @@ void createTargetWithMissingMandatoryPropertyBadRequest() throws Exception { @Description("Verifies that a properties of new targets are validated as in allowed size range.") void createTargetWithInvalidPropertyBadRequest() throws Exception { final Target test1 = entityFactory.target().create().controllerId("id1") - .name(RandomStringUtils.randomAlphanumeric(NamedEntity.NAME_MAX_SIZE + 1)).build(); + .name(randomString(NamedEntity.NAME_MAX_SIZE + 1)).build(); final MvcResult mvcResult = mvc .perform(post(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING) diff --git a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetTypeResourceTest.java b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetTypeResourceTest.java index 7c19d57770..4adad0e7b7 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetTypeResourceTest.java +++ b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetTypeResourceTest.java @@ -34,7 +34,6 @@ import io.qameta.allure.Feature; import io.qameta.allure.Step; import io.qameta.allure.Story; -import org.apache.commons.lang3.RandomStringUtils; import org.eclipse.hawkbit.exception.SpServerError; import org.eclipse.hawkbit.im.authentication.SpPermission; import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; @@ -510,7 +509,7 @@ void invalidRequestsOnTargetTypesResource() throws Exception { .andExpect(status().isBadRequest()); final TargetType tooLongName = entityFactory.targetType().create() - .name(RandomStringUtils.randomAlphanumeric(NamedEntity.NAME_MAX_SIZE + 1)).build(); + .name(randomString(NamedEntity.NAME_MAX_SIZE + 1)).build(); mvc.perform(post(TARGETTYPES_ENDPOINT).content(JsonBuilder.targetTypes(Collections.singletonList(tooLongName))) .contentType(MediaType.APPLICATION_JSON)) .andDo(MockMvcResultPrinter.print()) diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/AbstractJpaIntegrationTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/AbstractJpaIntegrationTest.java index 56272582d0..072e63af4a 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/AbstractJpaIntegrationTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/AbstractJpaIntegrationTest.java @@ -23,7 +23,6 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.RandomStringUtils; import org.assertj.core.api.Assertions; import org.assertj.core.api.ThrowableAssert.ThrowingCallable; import org.eclipse.hawkbit.im.authentication.SpPermission; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/RolloutManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/RolloutManagementTest.java index de49b94714..82cd7d61ea 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/RolloutManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/RolloutManagementTest.java @@ -33,7 +33,6 @@ import io.qameta.allure.Feature; import io.qameta.allure.Step; import io.qameta.allure.Story; -import org.apache.commons.lang3.RandomStringUtils; import org.assertj.core.api.Assertions; import org.assertj.core.api.Condition; import org.awaitility.Awaitility; @@ -1869,7 +1868,7 @@ void deleteRolloutWhichHasBeenStartedBeforeIsSoftDeleted() { @Test @Description("Verifies that returned result considers provided sort parameter.") void findAllRolloutsConsidersSorting() { - final String randomString = RandomStringUtils.randomAlphanumeric(5); + final String randomString = randomString(5); final DistributionSet testDs = testdataFactory.createDistributionSet(randomString + "-testDs"); testdataFactory.createTargets(10, randomString + "-testTarget-"); final RolloutGroupConditions conditions = new RolloutGroupConditionBuilder().withDefaults().build(); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/TargetManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/TargetManagementTest.java index 662916bcd5..86919847a2 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/TargetManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/TargetManagementTest.java @@ -31,7 +31,6 @@ import io.qameta.allure.Feature; import io.qameta.allure.Step; import io.qameta.allure.Story; -import org.apache.commons.lang3.RandomStringUtils; import org.awaitility.Awaitility; import org.eclipse.hawkbit.im.authentication.SpPermission; import org.eclipse.hawkbit.im.authentication.SpRole; @@ -1231,7 +1230,7 @@ private void createAndUpdateTargetWithInvalidDescription(final Target target) { assertThatExceptionOfType(ConstraintViolationException.class) .as("target with too long description should not be created") .isThrownBy(() -> targetManagement.create(entityFactory.target().create().controllerId("a") - .description(RandomStringUtils.randomAlphanumeric(513)))); + .description(randomString(513)))); assertThatExceptionOfType(ConstraintViolationException.class) .as("target with invalid description should not be created").isThrownBy(() -> targetManagement @@ -1240,7 +1239,7 @@ private void createAndUpdateTargetWithInvalidDescription(final Target target) { assertThatExceptionOfType(ConstraintViolationException.class) .as("target with too long description should not be updated") .isThrownBy(() -> targetManagement.update(entityFactory.target().update(target.getControllerId()) - .description(RandomStringUtils.randomAlphanumeric(513)))); + .description(randomString(513)))); assertThatExceptionOfType(ConstraintViolationException.class) .as("target with invalid description should not be updated").isThrownBy(() -> targetManagement.update( @@ -1253,7 +1252,7 @@ private void createAndUpdateTargetWithInvalidName(final Target target) { assertThatExceptionOfType(ConstraintViolationException.class) .as("target with too long name should not be created") .isThrownBy(() -> targetManagement.create(entityFactory.target().create().controllerId("a") - .name(RandomStringUtils.randomAlphanumeric(NamedEntity.NAME_MAX_SIZE + 1)))); + .name(randomString(NamedEntity.NAME_MAX_SIZE + 1)))); assertThatExceptionOfType(ConstraintViolationException.class) .as("target with invalid name should not be created").isThrownBy(() -> targetManagement @@ -1262,7 +1261,7 @@ private void createAndUpdateTargetWithInvalidName(final Target target) { assertThatExceptionOfType(ConstraintViolationException.class) .as("target with too long name should not be updated") .isThrownBy(() -> targetManagement.update(entityFactory.target().update(target.getControllerId()) - .name(RandomStringUtils.randomAlphanumeric(NamedEntity.NAME_MAX_SIZE + 1)))); + .name(randomString(NamedEntity.NAME_MAX_SIZE + 1)))); assertThatExceptionOfType(ConstraintViolationException.class) .as("target with invalid name should not be updated").isThrownBy(() -> targetManagement @@ -1280,7 +1279,7 @@ private void createAndUpdateTargetWithInvalidSecurityToken(final Target target) assertThatExceptionOfType(ConstraintViolationException.class) .as("target with too long token should not be created") .isThrownBy(() -> targetManagement.create(entityFactory.target().create().controllerId("a") - .securityToken(RandomStringUtils.randomAlphanumeric(Target.SECURITY_TOKEN_MAX_SIZE + 1)))); + .securityToken(randomString(Target.SECURITY_TOKEN_MAX_SIZE + 1)))); assertThatExceptionOfType(ConstraintViolationException.class) .as("target with invalid token should not be created").isThrownBy(() -> targetManagement @@ -1289,7 +1288,7 @@ private void createAndUpdateTargetWithInvalidSecurityToken(final Target target) assertThatExceptionOfType(ConstraintViolationException.class) .as("target with too long token should not be updated") .isThrownBy(() -> targetManagement.update(entityFactory.target().update(target.getControllerId()) - .securityToken(RandomStringUtils.randomAlphanumeric(Target.SECURITY_TOKEN_MAX_SIZE + 1)))); + .securityToken(randomString(Target.SECURITY_TOKEN_MAX_SIZE + 1)))); assertThatExceptionOfType(ConstraintViolationException.class) .as("target with invalid token should not be updated").isThrownBy(() -> targetManagement.update( @@ -1306,7 +1305,7 @@ private void createAndUpdateTargetWithInvalidAddress(final Target target) { assertThatExceptionOfType(ConstraintViolationException.class) .as("target with too long address should not be created") .isThrownBy(() -> targetManagement.create(entityFactory.target().create().controllerId("a") - .address(RandomStringUtils.randomAlphanumeric(513)))); + .address(randomString(513)))); assertThatExceptionOfType(InvalidTargetAddressException.class).as("target with invalid should not be created") .isThrownBy(() -> targetManagement @@ -1315,7 +1314,7 @@ private void createAndUpdateTargetWithInvalidAddress(final Target target) { assertThatExceptionOfType(ConstraintViolationException.class) .as("target with too long address should not be updated") .isThrownBy(() -> targetManagement.update(entityFactory.target().update(target.getControllerId()) - .address(RandomStringUtils.randomAlphanumeric(513)))); + .address(randomString(513)))); assertThatExceptionOfType(InvalidTargetAddressException.class) .as("target with invalid address should not be updated").isThrownBy(() -> targetManagement @@ -1335,7 +1334,7 @@ private void createTargetWithInvalidControllerId() { assertThatExceptionOfType(ConstraintViolationException.class) .as("target with too long controller id should not be created") .isThrownBy(() -> targetManagement.create(entityFactory.target().create() - .controllerId(RandomStringUtils.randomAlphanumeric(Target.CONTROLLER_ID_MAX_SIZE + 1)))); + .controllerId(randomString(Target.CONTROLLER_ID_MAX_SIZE + 1)))); assertThatExceptionOfType(ConstraintViolationException.class) .as("target with invalid controller id should not be created").isThrownBy( diff --git a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/AbstractIntegrationTest.java b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/AbstractIntegrationTest.java index a70002d0b4..4c8e10f85e 100644 --- a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/AbstractIntegrationTest.java +++ b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/AbstractIntegrationTest.java @@ -26,7 +26,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.RandomStringUtils; import org.eclipse.hawkbit.artifact.repository.ArtifactRepository; import org.eclipse.hawkbit.cache.TenantAwareCacheManager; import org.eclipse.hawkbit.repository.ArtifactManagement; @@ -117,8 +116,6 @@ public abstract class AbstractIntegrationTest { protected static final URI LOCALHOST = URI.create("http://127.0.0.1"); protected static final int DEFAULT_TEST_WEIGHT = 500; - protected static final RandomStringUtils RANDOM_STRING_UTILS = RandomStringUtils.secure(); - /** * Number of {@link DistributionSetType}s that exist in every test case. One * generated by using @@ -296,11 +293,11 @@ protected static Comparator controllerIdComparator() { } protected static String randomString(final int len) { - return RANDOM_STRING_UTILS.next(len, true, false); + return TestdataFactory.randomString(len); } protected static byte[] randomBytes(final int len) { - return randomString(len).getBytes(); + return TestdataFactory.randomBytes(len); } protected DistributionSetAssignmentResult assignDistributionSet(final long dsID, final String controllerId) { diff --git a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/DatasourceContext.java b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/DatasourceContext.java index 5b92237111..d9b7e1829b 100644 --- a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/DatasourceContext.java +++ b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/DatasourceContext.java @@ -9,12 +9,13 @@ */ package org.eclipse.hawkbit.repository.test.util; +import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.RandomStringUtils; /** * Holds all database related configuration */ +@Getter @Slf4j public class DatasourceContext { @@ -23,19 +24,19 @@ public class DatasourceContext { public static final String SPRING_DATABASE_USERNAME_KEY = "spring.datasource.username"; public static final String SPRING_DATABASE_PASSWORD_KEY = "spring.datasource.password"; public static final String DATABASE_PREFIX_KEY = "spring.database.random.prefix"; + private static final String RANDOM_DB_PREFIX = System.getProperty(DATABASE_PREFIX_KEY, "HAWKBIT_TEST_"); private final String database; private final String datasourceUrl; private final String username; private final String password; - private final String randomSchemaName = RANDOM_DB_PREFIX + RandomStringUtils.randomAlphanumeric(10); + private final String randomSchemaName = RANDOM_DB_PREFIX + TestdataFactory.randomString(10); /** * Constructor */ - public DatasourceContext(final String database, final String datasourceUrl, final String username, - final String password) { + public DatasourceContext(final String database, final String datasourceUrl, final String username, final String password) { this.database = database; this.datasourceUrl = datasourceUrl; this.username = username; @@ -47,36 +48,14 @@ public DatasourceContext(final String database, final String datasourceUrl, fina */ public DatasourceContext() { database = System.getProperty(SPRING_DATABASE_KEY, System.getProperty(upperCaseVariant(SPRING_DATABASE_KEY))); - datasourceUrl = System.getProperty(SPRING_DATASOURCE_URL_KEY, - System.getProperty(upperCaseVariant(SPRING_DATASOURCE_URL_KEY))); - username = System.getProperty(SPRING_DATABASE_USERNAME_KEY, - System.getProperty(upperCaseVariant(SPRING_DATABASE_USERNAME_KEY))); - password = System.getProperty(SPRING_DATABASE_PASSWORD_KEY, - System.getProperty(upperCaseVariant(SPRING_DATABASE_PASSWORD_KEY))); - } - - public String getDatabase() { - return database; - } - - public String getDatasourceUrl() { - return datasourceUrl; - } - - public String getUsername() { - return username; - } - - public String getPassword() { - return password; - } - - public String getRandomSchemaName() { - return randomSchemaName; + datasourceUrl = System.getProperty(SPRING_DATASOURCE_URL_KEY, System.getProperty(upperCaseVariant(SPRING_DATASOURCE_URL_KEY))); + username = System.getProperty(SPRING_DATABASE_USERNAME_KEY, System.getProperty(upperCaseVariant(SPRING_DATABASE_USERNAME_KEY))); + password = System.getProperty(SPRING_DATABASE_PASSWORD_KEY, System.getProperty(upperCaseVariant(SPRING_DATABASE_PASSWORD_KEY))); } public boolean isNotProperlyConfigured() { - log.debug("Datasource environment variables: [database: {}, username: {}, password: {}, datasourceUrl: {}]", + log.debug( + "Datasource environment variables: [database: {}, username: {}, password: {}, datasourceUrl: {}]", database, username, password, datasourceUrl); return database == null || datasourceUrl == null || username == null || password == null; @@ -85,4 +64,4 @@ public boolean isNotProperlyConfigured() { private static String upperCaseVariant(final String key) { return key.toUpperCase().replace('.', '_'); } -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java index 5a1a93ddb9..d5e1e23ba8 100644 --- a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java +++ b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java @@ -138,6 +138,8 @@ public class TestdataFactory { public static final String DEFAULT_COLOUR = "#000000"; + public static final RandomStringUtils RANDOM_STRING_UTILS = RandomStringUtils.secure(); + private static final String SPACE_AND_DESCRIPTION = " description"; @Autowired @@ -191,8 +193,16 @@ public class TestdataFactory { @Autowired private QuotaManagement quotaManagement; + public static String randomString(final int len) { + return RANDOM_STRING_UTILS.next(len, true, false); + } + + public static byte[] randomBytes(final int len) { + return randomString(len).getBytes(); + } + public Action performAssignment(final DistributionSet distributionSet) { - final Target target = createTarget(RandomStringUtils.randomAlphanumeric(5)); + final Target target = createTarget(randomString(5)); final DeploymentRequest deploymentRequest = new DeploymentRequest(target.getControllerId(), distributionSet.getId(), ActionType.FORCED, 0, null, null, null, null, false); deploymentManagement.assignDistributionSets(Collections.singletonList(deploymentRequest)); @@ -1090,7 +1100,7 @@ public Rollout createRollout(final String prefix) { * @return created {@link Rollout} */ public Rollout createRollout() { - final String prefix = RandomStringUtils.randomAlphanumeric(5); + final String prefix = randomString(5); createTargets(quotaManagement.getMaxTargetsPerRolloutGroup() * quotaManagement.getMaxRolloutGroupsPerRollout(), prefix); return createRolloutByVariables(prefix, prefix + SPACE_AND_DESCRIPTION, @@ -1158,7 +1168,7 @@ public Rollout createSimpleTestRolloutWithTargetsAndDistributionSet(final int am public Rollout createSimpleTestRolloutWithTargetsAndDistributionSet(final int amountTargetsForRollout, final int amountOtherTargets, final int amountOfGroups, final String successCondition, final String errorCondition, final ActionType actionType, final Integer weight) { - final String suffix = RandomStringUtils.randomAlphanumeric(5); + final String suffix = randomString(5); final DistributionSet rolloutDS = createDistributionSet("rolloutDS-" + suffix); createTargets(amountTargetsForRollout, "rollout-" + suffix + "-", "rollout"); createTargets(amountOtherTargets, "others-" + suffix + "-", "rollout"); @@ -1256,15 +1266,11 @@ public DistributionSet createIncompleteDistributionSet() { } private static String randomDescriptionShort() { - return randomText(100); + return randomString(100); } private static String randomDescriptionLong() { - return randomText(200); - } - - private static String randomText(final int len) { - return RandomStringUtils.randomAlphanumeric(len); + return randomString(200); } private void addTestModuleMetadata(final SoftwareModule module) {