def test_pack_and_unpack(self): ss = make_software_statement(self.keyjar, self.issuer, client_id='ABC 001') msg = unpack_software_statement(ss, self.issuer, self.keyjar) assert msg assert _eq(msg.keys(), ['client_id', 'iat', 'iss', 'exp', 'jti']) assert msg['client_id'] == 'ABC 001' assert msg['iss'] == self.issuer
def test_client_registration_with_software_statement(self): jwks, keyjar, kidd = build_keyjar(KEYS) fed_operator = 'https://fedop.example.org' self.provider.keyjar[fed_operator] = keyjar[''] ss = make_software_statement(keyjar, fed_operator, client_id='foxtrot') args = { "redirect_uris": ["https://client.example.org/callback", "https://client.example.org/callback2"], "client_name": "XYZ Service B", "token_endpoint_auth_method": "client_secret_basic", "scope": "read write dolphin", 'software_statement': ss } request = RegistrationRequest(**args) resp = self.provider.registration_endpoint(request=request.to_json(), environ={}) cli_resp = ClientInfoResponse().from_json(resp.message) assert cli_resp
def test_pack(self): ss = make_software_statement(self.keyjar, self.issuer, client_id='ABC 001') assert ss assert len(ss.split('.')) == 3