def test_consumer_client_get_access_token_reques(): _session_db = {} cons = Consumer(_session_db, client_config=CLIENT_CONFIG, server_info=SERVER_INFO, **CONSUMER_CONFIG) cons.client_secret = "secret0" _state = "state" cons.redirect_uris = ["https://www.example.com/oic/cb"] resp1 = AuthorizationResponse(code="auth_grant", state=_state) cons.parse_response(AuthorizationResponse, resp1.to_urlencoded(), "urlencoded") resp2 = AccessTokenResponse(access_token="token1", token_type="Bearer", expires_in=0, state=_state) cons.parse_response(AccessTokenResponse, resp2.to_urlencoded(), "urlencoded") url, body, http_args = cons.get_access_token_request(_state) url_obj = URLObject.create(url) expected_url_obj = URLObject.create("http://localhost:8088/token") assert url_obj == expected_url_obj body_splits = body.split('&') expected_body_splits = "code=auth_grant&client_secret=secret0&" \ "grant_type=authorization_code&client_id=number5&" \ "redirect_uri=https%3A%2F%2Fwww.example.com%2Foic%2Fcb".split('&') assert set(body_splits) == set(expected_body_splits) assert http_args == { 'headers': { 'Content-type': 'application/x-www-form-urlencoded' } }
def test_request(): req = Dummy_Message(req_str="Fair", req_str_list=["game"]).request("http://example.com") req_url_obj = URLObject.create(req) expected_req_url_obj = URLObject.create( "http://example.com?req_str=Fair&req_str_list=game") assert req_url_obj == expected_req_url_obj
def test_utils_urlobject_set_by_string(): url_1 = URLObject.create( 'this_is_a_host/this_is_a_resource?followed_by=args&and_more=args') url_2 = URLObject(host='this_is_a_host', resource='this_is_a_resource', arguments=set(['followed_by=args', 'and_more=args'])) assert url_1 == url_2
def test_consumer_client_get_access_token_reques(): _session_db = {} cons = Consumer(_session_db, client_config=CLIENT_CONFIG, server_info=SERVER_INFO, **CONSUMER_CONFIG) cons.client_secret = "secret0" _state = "state" cons.redirect_uris = ["https://www.example.com/oic/cb"] resp1 = AuthorizationResponse(code="auth_grant", state=_state) cons.parse_response(AuthorizationResponse, resp1.to_urlencoded(), "urlencoded") resp2 = AccessTokenResponse(access_token="token1", token_type="Bearer", expires_in=0, state=_state) cons.parse_response(AccessTokenResponse, resp2.to_urlencoded(), "urlencoded") url, body, http_args = cons.get_access_token_request(_state) url_obj = URLObject.create(url) expected_url_obj = URLObject.create("http://localhost:8088/token") assert url_obj == expected_url_obj body_splits = body.split('&') expected_body_splits = "code=auth_grant&client_secret=secret0&" \ "grant_type=authorization_code&client_id=number5&" \ "redirect_uri=https%3A%2F%2Fwww.example.com%2Foic%2Fcb".split('&') assert set(body_splits) == set(expected_body_splits) assert http_args == {'headers': { 'Content-type': 'application/x-www-form-urlencoded'}}
def test_utils_urlobject_init(): url_1 = URLObject(host='host', resource='resource', arguments=set(['arguments'])) url_2 = URLObject(host='host', resource='resource', arguments=set(['arguments'])) assert url_1 == url_2
def test_request_info_simple_get(self): self.client.authorization_endpoint = "https://example.com/authz" uri, body, h_args, cis = self.client.request_info(AuthorizationRequest, method="GET") uri_obj = URLObject.create(uri) expected_uri_obj = URLObject.create('https://example.com/authz?redirect_uri=http%3A%2F%2Fclient.example.com%2Fauthz&response_type=code&client_id=1') assert uri_obj == expected_uri_obj assert body is None assert h_args == {} assert cis.type() == "AuthorizationRequest"
def test_request_info_with_req_and_extra_args(self): #self.client.authorization_endpoint = "https://example.com/authz" uri, body, h_args, cis = self.client.request_info( AuthorizationRequest, method="GET", request_args={"state": "init"}, extra_args={"rock": "little"}) uri_obj = URLObject.create(uri) expected_uri_obj = URLObject.create('https://example.com/authz?state=init&redirect_uri=http%3A%2F%2Fclient.example.com%2Fauthz&response_type=code&client_id=1&rock=little') assert uri_obj == expected_uri_obj assert body is None assert h_args == {} assert cis.type() == "AuthorizationRequest"
def test_consumer_begin(): _session_db = {} cons = Consumer(_session_db, client_config=CLIENT_CONFIG, server_info=SERVER_INFO, **CONSUMER_CONFIG) sid, loc = cons.begin("http://localhost:8087", "http://localhost:8088/authorization") # state is dynamic params = {"scope": "openid", "state": sid, "redirect_uri": "http://localhost:8087/authz", "response_type": "code", "client_id": "number5"} url = "http://localhost:8088/authorization?%s" % urllib.urlencode(params) loc_obj = URLObject.create(loc) url_obj = URLObject.create(url) assert loc_obj == url_obj
def test_3(): form = create_return_form_env("user", "hemligt", "query=foo") srv = SRV() srv.symkey = rndstr(16) srv.seed = rndstr() srv.iv = os.urandom(16) srv.cookie_name = "xyzxyz" authn = UsernamePasswordMako(srv, "login.mako", tl, PASSWD, "authorization_endpoint") response, success = authn.verify(parse_qs(form)) url_in_response_msg = URLObject.create(response.message) expected_url_obj = URLObject.create("authorization_endpoint?query=foo&upm_answer=true") assert url_in_response_msg == expected_url_obj print len(response.headers) == 2 flag = 0 for param, val in response.headers: if param == "Set-Cookie": assert val.startswith('xyzxyz=') flag = 1 assert flag == 1
def test_3(): form = create_return_form_env("user", "hemligt", "query=foo") srv = SRV() srv.symkey = rndstr(16) srv.seed = rndstr() srv.iv = os.urandom(16) srv.cookie_name = "xyzxyz" authn = UsernamePasswordMako(srv, "login.mako", tl, PASSWD, "authorization_endpoint") response, success = authn.verify(parse_qs(form)) url_in_response_msg = URLObject.create(response.message) expected_url_obj = URLObject.create( "authorization_endpoint?query=foo&upm_answer=true") assert url_in_response_msg == expected_url_obj print len(response.headers) == 2 flag = 0 for param, val in response.headers: if param == "Set-Cookie": assert val.startswith('xyzxyz=') flag = 1 assert flag == 1
def test_consumer_begin(): _session_db = {} cons = Consumer(_session_db, client_config=CLIENT_CONFIG, server_info=SERVER_INFO, **CONSUMER_CONFIG) sid, loc = cons.begin("http://localhost:8087", "http://localhost:8088/authorization") # state is dynamic params = { "scope": "openid", "state": sid, "redirect_uri": "http://localhost:8087/authz", "response_type": "code", "client_id": "number5" } url = "http://localhost:8088/authorization?%s" % urllib.urlencode(params) loc_obj = URLObject.create(loc) url_obj = URLObject.create(url) assert loc_obj == url_obj
def test_request(): req = Dummy_Message(req_str="Fair", req_str_list=["game"]).request("http://example.com") req_url_obj = URLObject.create(req) expected_req_url_obj = URLObject.create("http://example.com?req_str=Fair&req_str_list=game") assert req_url_obj == expected_req_url_obj
def test_utils_urlobject_set_by_string(): url_1 = URLObject.create('this_is_a_host/this_is_a_resource?followed_by=args&and_more=args') url_2 = URLObject(host='this_is_a_host', resource='this_is_a_resource', arguments=set(['followed_by=args', 'and_more=args'])) assert url_1 == url_2