Пример #1
0
    def test_equality_encoding_realm_emptyValues(self):
        expected_value = ({
            'oauth_nonce': ['4572616e48616d6d65724c61686176'],
            'oauth_timestamp': ['137131200'],
            'oauth_consumer_key': ['0685bd9184jfhq22'],
            'oauth_something': [' Some Example'],
            'oauth_signature_method': ['HMAC-SHA1'],
            'oauth_version': ['1.0'],
            'oauth_token': ['ad180jjd733klru7'],
            'oauth_empty': [''],
            'oauth_signature': ['wOJIO9A2W5mFwDgiDvZbTSMK/PY='],
            }, 'Examp%20le'
        )
        assert_equal(expected_value, parse_authorization_header_value('''\
            OAuth\
\
            realm="Examp%20le",\
            oauth_consumer_key="0685bd9184jfhq22",\
            oauth_token="ad180jjd733klru7",\
            oauth_signature_method="HMAC-SHA1",\
            oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",\
            oauth_timestamp="137131200",\
            oauth_nonce="4572616e48616d6d65724c61686176",\
            oauth_version="1.0",\
            oauth_something="%20Some+Example",\
            oauth_empty=""\
        '''), "parsing failed.")
    def test_example_post_request(self):
        valid_request = RequestProxy("POST",
                                     "https://photos.example.net/initiate",
                                     body="",
                                     headers={
                                         "Authorization": '''\
OAuth realm="Photos",\
    oauth_callback="http://printer.example.com/ready",\
    oauth_consumer_key="dpf43f3p2l4k3l03",\
    oauth_nonce="wIjqoS",\
    oauth_signature="74KNZJeDHnMBp0EMJ9ZHt/XKycU=",\
    oauth_signature_method="HMAC-SHA1",\
    oauth_timestamp="137131200"'''})

        method = "POST"
        url = "https://photos.example.net/initiate"
        params = None
        request = self.client._build_request(method,
                                             url,
                                             params,
                                             token_or_temporary_credentials=None,
                                             realm="Photos",
                                             oauth_signature_method="HMAC-SHA1",
                                             oauth_timestamp="137131200",
                                             oauth_consumer_key="dpf43f3p2l4k3l03",
                                             oauth_nonce="wIjqoS",
                                             oauth_callback="http://printer.example.com/ready",
                                             _test_force_override_reserved_oauth_params=True,
                                             _test_force_exclude_oauth_version=True)
        assert_equal(request.method, valid_request.method)
        assert_equal(request.payload, valid_request.payload)
        assert_equal(request.url, valid_request.url)

        expected_authorization_header, expected_realm = parse_authorization_header_value(valid_request.headers["Authorization"])
        got_authorization_header, got_realm = parse_authorization_header_value(request.headers["Authorization"])
        assert_equal(got_realm, expected_realm)
        assert_dict_equal(got_authorization_header, expected_authorization_header)
    def test_valid_request_generated(self):
        valid_request = RequestProxy("GET",
                                     "http://photos.example.net/photos?file=vacation.jpg&size=original",
                                     body="",
                                     headers={
                                         "Authorization": '''\
OAuth realm="Photos",\
    oauth_consumer_key="dpf43f3p2l4k3l03",\
    oauth_nonce="chapoH",\
    oauth_signature="MdpQcU8iPSUjWoN%2FUDMsK2sui9I%3D",\
    oauth_signature_method="HMAC-SHA1",\
    oauth_timestamp="137131202",\
    oauth_token="nnch734d00sl2jdk"'''})

        method = "GET"
        url = "http://photos.example.net/photos"
        params = dict(file="vacation.jpg", size="original")
        request = self.client._build_request(method,
                                             url,
                                             params,
                                             token_or_temporary_credentials=self.token_credentials,
                                             realm="Photos",
                                             oauth_signature_method="HMAC-SHA1",
                                             oauth_timestamp="137131202",
                                             oauth_consumer_key="dpf43f3p2l4k3l03",
                                             oauth_token="nnch734d00sl2jdk",
                                             oauth_nonce="chapoH",
                                             _test_force_override_reserved_oauth_params=True,
                                             _test_force_exclude_oauth_version=True)
        assert_equal(request.method, valid_request.method)
        assert_equal(request.payload, valid_request.payload)
        assert_equal(request.url, valid_request.url)

        expected_authorization_header, expected_realm = parse_authorization_header_value(valid_request.headers["Authorization"])
        got_authorization_header, got_realm = parse_authorization_header_value(request.headers["Authorization"])
        assert_equal(got_realm, expected_realm)
        assert_dict_equal(got_authorization_header, expected_authorization_header)
Пример #4
0
 def test_dict_does_not_contain_string_OAuth_realm(self):
     header_value = '''OAuth realm="http://example.com",\
         oauth_consumer_key="0685bd9184jfhq22",\
         oauth_token="ad180jjd733klru7",\
         oauth_signature_method="HMAC-SHA1",\
         oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",\
         oauth_timestamp="137131200",\
         oauth_nonce="4572616e48616d6d65724c61686176",\
         oauth_version="1.0",\
         oauth_something="%20Some+Example",\
         oauth_empty=""\
     '''
     params, realm = parse_authorization_header_value(
         header_value)
     for name, value in params.items():
         assert_false(name.lower() == 'oauth realm',
                      '`OAuth realm` found in header names')
         assert_false(name.lower() == "realm", '`realm` found in header names')