From d7386d5487ca25f4d67df9c927adceca5122857f Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Mon, 11 Sep 2023 11:37:50 -0300 Subject: [PATCH] [SDKS-7516] Pr suggestions --- .../io/split/client/SplitClientConfig.java | 4 +-- ...tSanitizer.java => FlagSetsValidator.java} | 12 ++++++--- .../client/utils/FlagSetSanitizerTest.java | 26 +++++++++++++++---- 3 files changed, 31 insertions(+), 11 deletions(-) rename client/src/main/java/io/split/client/utils/{FlagSetSanitizer.java => FlagSetsValidator.java} (85%) diff --git a/client/src/main/java/io/split/client/SplitClientConfig.java b/client/src/main/java/io/split/client/SplitClientConfig.java index 4632a1ca0..ad403dd97 100644 --- a/client/src/main/java/io/split/client/SplitClientConfig.java +++ b/client/src/main/java/io/split/client/SplitClientConfig.java @@ -16,7 +16,7 @@ import java.util.Properties; import java.util.concurrent.ThreadFactory; -import static io.split.client.utils.FlagSetSanitizer.sanitizeFlagSet; +import static io.split.client.utils.FlagSetsValidator.cleanup; /** * Configurations for the SplitClient. @@ -922,7 +922,7 @@ public Builder customStorageWrapper(CustomStorageWrapper customStorageWrapper) { * @return this builder */ public Builder flagSetsFilter(List flagSetsFilter) { - _flagSetsFilter = sanitizeFlagSet(flagSetsFilter); + _flagSetsFilter = cleanup(flagSetsFilter); return this; } diff --git a/client/src/main/java/io/split/client/utils/FlagSetSanitizer.java b/client/src/main/java/io/split/client/utils/FlagSetsValidator.java similarity index 85% rename from client/src/main/java/io/split/client/utils/FlagSetSanitizer.java rename to client/src/main/java/io/split/client/utils/FlagSetsValidator.java index 8efdee7fc..a66bf634c 100644 --- a/client/src/main/java/io/split/client/utils/FlagSetSanitizer.java +++ b/client/src/main/java/io/split/client/utils/FlagSetsValidator.java @@ -9,16 +9,16 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; -public final class FlagSetSanitizer { +public final class FlagSetsValidator { private static final String FLAG_SET_REGEX = "^[a-z0-9][_a-z0-9]{0,49}$"; - private static final Logger _log = LoggerFactory.getLogger(FlagSetSanitizer.class); + private static final Logger _log = LoggerFactory.getLogger(FlagSetsValidator.class); - private FlagSetSanitizer() { + private FlagSetsValidator() { throw new IllegalStateException("Utility class"); } - public static List sanitizeFlagSet(List flagSets) { + public static List cleanup(List flagSets) { if (flagSets == null || flagSets.isEmpty()) { _log.error("FlagSets must be a non-empty list."); return new ArrayList<>(); @@ -43,4 +43,8 @@ public static List sanitizeFlagSet(List flagSets) { } return sanitizedFlagSets.stream().sorted().collect(Collectors.toList()); } + + public static Boolean isValid(String value) { + return value != null && value.trim().matches(FLAG_SET_REGEX); + } } \ No newline at end of file diff --git a/client/src/test/java/io/split/client/utils/FlagSetSanitizerTest.java b/client/src/test/java/io/split/client/utils/FlagSetSanitizerTest.java index 814f36a8d..43ffdd1fa 100644 --- a/client/src/test/java/io/split/client/utils/FlagSetSanitizerTest.java +++ b/client/src/test/java/io/split/client/utils/FlagSetSanitizerTest.java @@ -6,12 +6,15 @@ import java.util.ArrayList; import java.util.List; +import static io.split.client.utils.FlagSetsValidator.cleanup; +import static io.split.client.utils.FlagSetsValidator.isValid; + public class FlagSetSanitizerTest { @Test public void testEmptyFlagSets() { List flagSets = new ArrayList<>(); - List cleanFlagSets = FlagSetSanitizer.sanitizeFlagSet(flagSets); + List cleanFlagSets = cleanup(flagSets); Assert.assertTrue(cleanFlagSets.isEmpty()); } @@ -20,7 +23,7 @@ public void testUpperFlagSets() { List flagSets = new ArrayList<>(); flagSets.add("Test1"); flagSets.add("TEST2"); - List cleanFlagSets = FlagSetSanitizer.sanitizeFlagSet(flagSets); + List cleanFlagSets = cleanup(flagSets); Assert.assertEquals("test1", cleanFlagSets.get(0)); Assert.assertEquals("test2", cleanFlagSets.get(1)); } @@ -30,7 +33,7 @@ public void testTrimFlagSets() { List flagSets = new ArrayList<>(); flagSets.add(" test1"); flagSets.add(" test2 "); - List cleanFlagSets = FlagSetSanitizer.sanitizeFlagSet(flagSets); + List cleanFlagSets = cleanup(flagSets); Assert.assertEquals("test1", cleanFlagSets.get(0)); Assert.assertEquals("test2", cleanFlagSets.get(1)); } @@ -40,7 +43,7 @@ public void testRegexFlagSets() { List flagSets = new ArrayList<>(); flagSets.add(" test1"); flagSets.add(" test-2 "); - List cleanFlagSets = FlagSetSanitizer.sanitizeFlagSet(flagSets); + List cleanFlagSets = cleanup(flagSets); Assert.assertEquals(1, cleanFlagSets.size()); Assert.assertEquals("test1", cleanFlagSets.get(0)); } @@ -50,8 +53,21 @@ public void testDuplicateFlagSets() { List flagSets = new ArrayList<>(); flagSets.add(" test1"); flagSets.add(" test1 "); - List cleanFlagSets = FlagSetSanitizer.sanitizeFlagSet(flagSets); + List cleanFlagSets = cleanup(flagSets); Assert.assertEquals(1, cleanFlagSets.size()); Assert.assertEquals("test1", cleanFlagSets.get(0)); } + + @Test + public void testIsValid(){ + Assert.assertTrue(isValid(" test1 ")); + } + + @Test + public void testIsNotValid(){ + Assert.assertFalse(isValid(" test 1 ")); + Assert.assertFalse(isValid("Test1 ")); + Assert.assertFalse(isValid("")); + Assert.assertFalse(isValid(null)); + } } \ No newline at end of file