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'
        }
    }
Exemple #2
0
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
Exemple #6
0
 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"
Exemple #7
0
    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
Exemple #9
0
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
Exemple #10
0
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