Fix onboarding artifact name changed 36/117236/2
authordavsad <david.sadlier@est.tech>
Fri, 29 Jan 2021 13:35:59 +0000 (13:35 +0000)
committerChristophe Closset <christophe.closset@intl.att.com>
Sat, 30 Jan 2021 09:21:52 +0000 (09:21 +0000)
Prevent Yang module filenames with prefix _3gpp losing leading _

Issue-ID: SDC-3415

Signed-off-by: davsad <david.sadlier@est.tech>
Change-Id: I68afb6c8a1ef2fa58a37af20a2119d3b648ba272

common-app-api/src/main/java/org/openecomp/sdc/common/util/ValidationUtils.java
common-app-api/src/test/java/org/openecomp/sdc/common/util/ValidationUtilsTest.java

index dfecf92..fbc5e9d 100644 (file)
@@ -83,6 +83,7 @@ public class ValidationUtils {
 
        public static final Pattern CLEAN_FILENAME_PATTERN = Pattern.compile("[\\x00-\\x1f\\x80-\\x9f\\x5c/<?>\\*:|\"/]+");
 
+       public static final Pattern YANG_MODULE_3GPP_PATTERN = Pattern.compile("^(_3gpp).*$");
        public static final Pattern DASH_PATTERN = Pattern.compile("[-]+");
        public static final Pattern UNDERSCORE_PATTERN = Pattern.compile("[_]+");
        public static final Pattern PLUS_PATTERN = Pattern.compile("[+]+");
@@ -465,7 +466,8 @@ public class ValidationUtils {
                str = normaliseWhitespace(str);
                str = SPACE_PATTERN.matcher(str).replaceAll("-");
                str = DASH_PATTERN.matcher(str).replaceAll("-");
-               str = StringUtils.strip(str, "-_ .");
+               if (!YANG_MODULE_3GPP_PATTERN.matcher(str).matches())
+                   str = StringUtils.strip(str, "-_ .");
 
                return str;
        }
index 2d5122a..e7aad96 100644 (file)
@@ -723,6 +723,24 @@ public class ValidationUtilsTest {
                assertEquals(result, "test-File-Name");
        }
 
+       @Test
+       public void validateNormalizeFileNameFor3gppYangModule() {
+           final String testName = "_3gpptestfile";
+
+           String result = ValidationUtils.normalizeFileName(testName);
+
+           assertEquals(result, testName);
+       }
+
+       @Test
+       public void validateNormalizeFileNameStripLeadingUnderscore() {
+           final String testName = "_testfile";
+
+           String result = ValidationUtils.normalizeFileName(testName);
+
+           assertEquals(result, "testfile");
+       }
+
        @Test
        public void checkValidateUrlReturnsTrueIfURLIsValid() {
                final String testUrl = "http://test.co/valid/url/";