@@ -72,14 +72,34 @@ public void GetConfigKeysForRequest_ReturnsCorrectNumberOfKeys()
7272 keys . Count ( ) . Should ( ) . Be ( 3 ) ;
7373 }
7474
75+ [ Theory ]
76+ [ InlineData ( "ss/lmt/opname/userId" , 0 ) ]
77+ [ InlineData ( "ss/lmt/opname" , 1 ) ]
78+ [ InlineData ( "ss/lmt/default" , 2 ) ]
79+ public void GetConfigKeysForRequest_ReturnsResultsInOrder ( string key , int index )
80+ {
81+ const string operationName = "opname" ;
82+ const string userAuthId = "userId" ;
83+
84+ var request = new MockHttpRequest ( operationName , "GET" , "text/json" , string . Empty , null , null , null ) ;
85+ SetupAuthenticatedSession ( userAuthId , request ) ;
86+
87+ var keyGenerator = GetGenerator ( ) ;
88+ var keys = keyGenerator . GetConfigKeysForRequest ( request ) ;
89+
90+ keys . ToList ( ) [ index ] . Should ( ) . Be ( key . ToLower ( ) ) ;
91+ }
92+
7593 [ Theory ]
7694 [ InlineData ( "lmt:opname:userId" , 0 ) ]
7795 [ InlineData ( "lmt:opname" , 1 ) ]
7896 [ InlineData ( "lmt:default" , 2 ) ]
79- public void GetConfigKeysForRequest_ReturnsResultsInOrder ( string key , int index )
97+ public void GetConfigKeysForRequest_ReturnsResultsInOrder_ObeyDelimiterAndPrefix ( string key , int index )
8098 {
8199 const string operationName = "opname" ;
82100 const string userAuthId = "userId" ;
101+ LimitKeyGenerator . Delimiter = ":" ;
102+ LimitKeyGenerator . Prefix = null ;
83103
84104 var request = new MockHttpRequest ( operationName , "GET" , "text/json" , string . Empty , null , null , null ) ;
85105 SetupAuthenticatedSession ( userAuthId , request ) ;
@@ -88,10 +108,14 @@ public void GetConfigKeysForRequest_ReturnsResultsInOrder(string key, int index)
88108 var keys = keyGenerator . GetConfigKeysForRequest ( request ) ;
89109
90110 keys . ToList ( ) [ index ] . Should ( ) . Be ( key . ToLower ( ) ) ;
111+
112+ // Now set the values back as they're static (avoid breaking tests)
113+ LimitKeyGenerator . Delimiter = "/" ;
114+ LimitKeyGenerator . Prefix = "ss" ;
91115 }
92116
93117 [ Fact ]
94- public void GetConfigKeysForUser_ReturnsCorrectNumberOfKeys_def ( )
118+ public void GetConfigKeysForUser_ReturnsCorrectNumberOfKeys ( )
95119 {
96120 MockHttpRequest request = new MockHttpRequest ( ) ;
97121 SetupAuthenticatedSession ( "123" , request ) ;
@@ -103,9 +127,31 @@ public void GetConfigKeysForUser_ReturnsCorrectNumberOfKeys_def()
103127 }
104128
105129 [ Theory ]
106- [ InlineData ( "lmt:usr:userid" , 0 ) ]
107- [ InlineData ( "lmt:usr:default" , 1 ) ]
108- public void GetConfigKeysForUser_ReturnsCorrectNumberOfKeys ( string key , int index )
130+ [ InlineData ( "test|lmt|usr|userid" , 0 ) ]
131+ [ InlineData ( "test|lmt|usr|default" , 1 ) ]
132+ public void GetConfigKeysForUser_ReturnsResultsInOrder_ObeyDelimiterAndPrefix ( string key , int index )
133+ {
134+ const string userAuthId = "userId" ;
135+ MockHttpRequest request = new MockHttpRequest ( ) ;
136+ SetupAuthenticatedSession ( userAuthId , request ) ;
137+
138+ LimitKeyGenerator . Delimiter = "|" ;
139+ LimitKeyGenerator . Prefix = "test" ;
140+
141+ var keyGenerator = GetGenerator ( ) ;
142+ var keys = keyGenerator . GetConfigKeysForUser ( request ) ;
143+
144+ keys . ToList ( ) [ index ] . Should ( ) . Be ( key ) ;
145+
146+ // Now set the values back as they're static (avoid breaking tests)
147+ LimitKeyGenerator . Delimiter = "/" ;
148+ LimitKeyGenerator . Prefix = "ss" ;
149+ }
150+
151+ [ Theory ]
152+ [ InlineData ( "ss/lmt/usr/userid" , 0 ) ]
153+ [ InlineData ( "ss/lmt/usr/default" , 1 ) ]
154+ public void GetConfigKeysForUser_ReturnsResultsInOrder ( string key , int index )
109155 {
110156 const string userAuthId = "userId" ;
111157 MockHttpRequest request = new MockHttpRequest ( ) ;
0 commit comments