@@ -13,33 +13,34 @@ def test_construct(self):
1313 self .failUnlessEqual ([], self .req .preferred_auth_policies )
1414 self .failUnlessEqual (None , self .req .max_auth_age )
1515 self .failUnlessEqual ('pape' , self .req .ns_alias )
16- self .failIf (self .req .auth_levels )
16+ self .failIf (self .req .preferred_auth_level_types )
1717
1818 bogus_levels = ['http://janrain.com/our_levels' ]
1919 req2 = pape .Request (
2020 [pape .AUTH_MULTI_FACTOR ], 1000 , bogus_levels )
2121 self .failUnlessEqual ([pape .AUTH_MULTI_FACTOR ],
2222 req2 .preferred_auth_policies )
2323 self .failUnlessEqual (1000 , req2 .max_auth_age )
24- self .failUnlessEqual (bogus_levels , req2 .auth_levels )
24+ self .failUnlessEqual (bogus_levels , req2 .preferred_auth_level_types )
2525
2626 def test_addAuthLevel (self ):
2727 self .req .addAuthLevel ('http://example.com/' , 'example' )
28- self .failUnlessEqual (['http://example.com/' ], self .req .auth_levels )
28+ self .failUnlessEqual (['http://example.com/' ],
29+ self .req .preferred_auth_level_types )
2930 self .failUnlessEqual ('http://example.com/' ,
3031 self .req .auth_level_aliases ['example' ])
3132
3233 self .req .addAuthLevel ('http://example.com/1' , 'example1' )
3334 self .failUnlessEqual (['http://example.com/' , 'http://example.com/1' ],
34- self .req .auth_levels )
35+ self .req .preferred_auth_level_types )
3536
3637 self .req .addAuthLevel ('http://example.com/' , 'exmpl' )
3738 self .failUnlessEqual (['http://example.com/' , 'http://example.com/1' ],
38- self .req .auth_levels )
39+ self .req .preferred_auth_level_types )
3940
4041 self .req .addAuthLevel ('http://example.com/' , 'example' )
4142 self .failUnlessEqual (['http://example.com/' , 'http://example.com/1' ],
42- self .req .auth_levels )
43+ self .req .preferred_auth_level_types )
4344
4445 self .failUnlessRaises (KeyError ,
4546 self .req .addAuthLevel ,
@@ -109,12 +110,48 @@ def test_getExtensionArgsWithAuthLevels(self):
109110
110111 self .failUnlessEqual (expected_args , self .req .getExtensionArgs ())
111112
113+ def test_parseExtensionArgsWithAuthLevels (self ):
114+ uri = 'http://example.com/auth_level'
115+ alias = 'my_level'
116+
117+ uri2 = 'http://example.com/auth_level_2'
118+ alias2 = 'my_level_2'
119+
120+ request_args = {
121+ ('auth_level.ns.%s' % alias ): uri ,
122+ ('auth_level.ns.%s' % alias2 ): uri2 ,
123+ 'preferred_auth_level_types' : ' ' .join ([alias , alias2 ]),
124+ 'preferred_auth_policies' : '' ,
125+ }
126+
127+ # Check request object state
128+ self .req .parseExtensionArgs (request_args )
129+
130+ expected_auth_levels = [uri , uri2 ]
131+
132+ self .assertEqual (expected_auth_levels ,
133+ self .req .preferred_auth_level_types )
134+ self .assertEqual (uri , self .req .auth_level_aliases [alias ])
135+ self .assertEqual (uri2 , self .req .auth_level_aliases [alias2 ])
136+
137+ def test_parseExtensionArgs_ignoreBadAuthLevels (self ):
138+ request_args = {'preferred_auth_level_types' :'monkeys' }
139+ self .req .parseExtensionArgs (request_args )
140+ self .assertEqual ([], self .req .preferred_auth_level_types )
141+
142+ def test_parseExtensionArgs_strictBadAuthLevels (self ):
143+ request_args = {'preferred_auth_level_types' :'monkeys' }
144+ self .failUnlessRaises (ValueError , self .req .parseExtensionArgs ,
145+ request_args , strict = True )
146+
112147 def test_parseExtensionArgs (self ):
113148 args = {'preferred_auth_policies' : 'http://foo http://bar' ,
114149 'max_auth_age' : '9' }
115150 self .req .parseExtensionArgs (args )
116151 self .failUnlessEqual (9 , self .req .max_auth_age )
117- self .failUnlessEqual (['http://foo' ,'http://bar' ], self .req .preferred_auth_policies )
152+ self .failUnlessEqual (['http://foo' ,'http://bar' ],
153+ self .req .preferred_auth_policies )
154+ self .failUnlessEqual ([], self .req .preferred_auth_level_types )
118155
119156 def test_parseExtensionArgs_empty (self ):
120157 self .req .parseExtensionArgs ({})
0 commit comments