@@ -767,10 +767,13 @@ def test_oidc_code_auth(self):
767767 # Get a user for which we want to get access
768768 person = PersonFactory ()
769769 RoleFactory (name_id = 'chair' , person = person )
770+ # an additional email
771+ EmailFactory (person = person )
772+ email_list = person .email_set .all ().values_list ('address' , flat = True )
770773 meeting = MeetingFactory (type_id = 'ietf' , date = datetime .date .today ())
771774 MeetingRegistration .objects .create (
772775 meeting = meeting , person = None , first_name = person .first_name (), last_name = person .last_name (),
773- email = person . email () , ticket_type = 'full_week' , reg_type = 'remote' , affiliation = 'Some Company' ,
776+ email = email_list [ 0 ] , ticket_type = 'full_week' , reg_type = 'remote' , affiliation = 'Some Company' ,
774777 )
775778
776779 # Get access authorisation
@@ -830,7 +833,21 @@ def test_oidc_code_auth(self):
830833 for key in [ 'email' , 'family_name' , 'given_name' , 'meeting' , 'name' , 'roles' ,
831834 'ticket_type' , 'reg_type' , 'affiliation' , ]:
832835 self .assertIn (key , userinfo )
836+ self .assertIn ('remote' , set (userinfo ['reg_type' ].split ()))
837+ self .assertNotIn ('hackathon' , set (userinfo ['reg_type' ].split ()))
833838
839+ # Create another registration, with a different email
840+ MeetingRegistration .objects .create (
841+ meeting = meeting , person = None , first_name = person .first_name (), last_name = person .last_name (),
842+ email = email_list [1 ], ticket_type = 'one_day' , reg_type = 'hackathon' , affiliation = 'Some Company, Inc' ,
843+ )
844+ userinfo = client .do_user_info_request (state = params ["state" ], scope = args ['scope' ])
845+ self .assertIn ('hackathon' , set (userinfo ['reg_type' ].split ()))
846+ self .assertIn ('remote' , set (userinfo ['reg_type' ].split ()))
847+ self .assertIn ('full_week' , set (userinfo ['ticket_type' ].split ()))
848+ self .assertIn ('Some Company' , userinfo ['affiliation' ])
849+
850+ # Check that ending a session works
834851 r = client .do_end_session_request (state = params ["state" ], scope = args ['scope' ])
835852 self .assertEqual (r .status_code , 302 )
836853 self .assertEqual (r .headers ["Location" ], urlreverse ('ietf.ietfauth.views.login' ))
0 commit comments