Skip to content

Commit 073fdf8

Browse files
committed
test: add tests for isValidName helper
Signed-off-by: vikhy-aws <[email protected]>
1 parent 85d2d8b commit 073fdf8

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/*
2+
* Copyright OpenSearch Contributors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package org.opensearch.commons.utils
7+
8+
import org.junit.jupiter.api.Assertions.assertFalse
9+
import org.junit.jupiter.api.Assertions.assertTrue
10+
import org.junit.jupiter.api.Test
11+
12+
class ValidationHelpers {
13+
@Test
14+
fun `test valid names`() {
15+
/* Start with letter or underscore
16+
Followed by letters, numbers, underscore or hyphen
17+
Total length between 4 and 50 characters */
18+
19+
assertTrue(isValidName("valid"))
20+
assertTrue(isValidName("Valid_name"))
21+
assertTrue(isValidName("valid_name_123"))
22+
assertTrue(isValidName("_validName"))
23+
assertTrue(isValidName("valid_name-123"))
24+
assertTrue(isValidName("_123_valid_name"))
25+
26+
// Boundary value tests
27+
assertTrue(isValidName("qwer"))
28+
assertTrue(isValidName("q".repeat(50)))
29+
assertTrue(isValidName("____"))
30+
assertTrue(isValidName("a-b-"))
31+
}
32+
33+
@Test
34+
fun `test invalid names`() {
35+
// Invalid starting characters
36+
assertFalse(isValidName("123name"))
37+
assertFalse(isValidName("-name"))
38+
assertFalse(isValidName("1name"))
39+
40+
// Should not have invalid characters
41+
assertFalse(isValidName("invalid@name"))
42+
assertFalse(isValidName("invalid name"))
43+
assertFalse(isValidName("invalid#name"))
44+
assertFalse(isValidName("invalid.name"))
45+
assertFalse(isValidName(" "))
46+
47+
// Should not allow special characters other than _ and -
48+
assertFalse(isValidName("name!"))
49+
assertFalse(isValidName("name*"))
50+
assertFalse(isValidName("name$"))
51+
assertFalse(isValidName("name%"))
52+
53+
// Boundary value tests
54+
assertFalse(isValidName("abc"))
55+
assertFalse(isValidName("a".repeat(51)))
56+
}
57+
}

0 commit comments

Comments
 (0)