@@ -4,18 +4,60 @@ namespace LaunchDarkly.Sdk.Helpers
44{
55 public class ValidationUtilsTest
66 {
7+ [ Theory ]
8+ [ InlineData ( null ) ]
9+ [ InlineData ( "" ) ]
10+ public void IsValidSdkKeyFormat_EmptyOrNullKey_ReturnsTrue ( string key )
11+ {
12+ Assert . True ( ValidationUtils . IsValidSdkKeyFormat ( key ) ) ;
13+ }
14+
15+ [ Theory ]
16+ [ InlineData ( "sdk-key-123" ) ]
17+ [ InlineData ( "sdk.key.123" ) ]
18+ [ InlineData ( "sdk_key_123" ) ]
19+ [ InlineData ( "SDKKEY123" ) ]
20+ public void IsValidSdkKeyFormat_ValidKey_ReturnsTrue ( string key )
21+ {
22+ Assert . True ( ValidationUtils . IsValidSdkKeyFormat ( key ) ) ;
23+ }
24+
725 [ Fact ]
8- public void ValidateStringValue ( )
26+ public void IsValidSdkKeyFormat_TooLongKey_ReturnsFalseWithError ( )
27+ {
28+ var longKey = new string ( 'a' , 8193 ) ; // Creates a string longer than MaxSdkKeyLength (8192)
29+ Assert . False ( ValidationUtils . IsValidSdkKeyFormat ( longKey ) ) ;
30+ }
31+
32+ [ Theory ]
33+ [ InlineData ( "sdk key" ) ] // Contains space
34+ [ InlineData ( "sdk#key" ) ] // Contains special character
35+ [ InlineData ( "sdk/key" ) ] // Contains slash
36+ [ InlineData ( "sdk\n key" ) ] // Contains newline
37+ public void IsValidSdkKeyFormat_InvalidCharacters_ReturnsFalseWithError ( string key )
38+ {
39+ Assert . False ( ValidationUtils . IsValidSdkKeyFormat ( key ) ) ;
40+ }
41+
42+ [ Theory ]
43+ [ InlineData ( "bad-\n " ) ] // Contains newline
44+ [ InlineData ( "bad-\t " ) ] // Contains tab
45+ [ InlineData ( "###invalid" ) ] // Contains special characters
46+ [ InlineData ( "" ) ] // Empty string
47+ [ InlineData ( "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEFwhoops" ) ] // Too long
48+ [ InlineData ( "#@$%^&" ) ] // Invalid characters
49+ public void ValidateStringValue_Invalid_ReturnsErrorMessage ( string input )
50+ {
51+ Assert . NotNull ( ValidationUtils . ValidateStringValue ( input ) ) ;
52+ }
53+
54+ [ Theory ]
55+ [ InlineData ( "a-Az-Z0-9._-" ) ]
56+ [ InlineData ( "valid-string-123" ) ]
57+ [ InlineData ( "VALIDSTRING" ) ]
58+ public void ValidateStringValue_Valid_ReturnsNull ( string input )
959 {
10- Assert . NotNull ( ValidationUtils . ValidateStringValue ( "bad-\n " ) ) ;
11- Assert . NotNull ( ValidationUtils . ValidateStringValue ( "bad-\t " ) ) ;
12- Assert . NotNull ( ValidationUtils . ValidateStringValue ( "###invalid" ) ) ;
13- Assert . NotNull ( ValidationUtils . ValidateStringValue ( "" ) ) ;
14- Assert . NotNull (
15- ValidationUtils . ValidateStringValue (
16- "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEFwhoops" ) ) ;
17- Assert . NotNull ( ValidationUtils . ValidateStringValue ( "#@$%^&" ) ) ;
18- Assert . Null ( ValidationUtils . ValidateStringValue ( "a-Az-Z0-9._-" ) ) ;
60+ Assert . Null ( ValidationUtils . ValidateStringValue ( input ) ) ;
1961 }
2062
2163 [ Fact ]
0 commit comments