aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/oauthlib/tests/oauth1/rfc5849/test_parameters.py
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-12-01 12:02:50 +0300
committeralexv-smirnov <alex@ydb.tech>2023-12-01 13:28:10 +0300
commit0e578a4c44d4abd539d9838347b9ebafaca41dfb (patch)
treea0c1969c37f818c830ebeff9c077eacf30be6ef8 /contrib/python/oauthlib/tests/oauth1/rfc5849/test_parameters.py
parent84f2d3d4cc985e63217cff149bd2e6d67ae6fe22 (diff)
downloadydb-0e578a4c44d4abd539d9838347b9ebafaca41dfb.tar.gz
Change "ya.make"
Diffstat (limited to 'contrib/python/oauthlib/tests/oauth1/rfc5849/test_parameters.py')
-rw-r--r--contrib/python/oauthlib/tests/oauth1/rfc5849/test_parameters.py90
1 files changed, 90 insertions, 0 deletions
diff --git a/contrib/python/oauthlib/tests/oauth1/rfc5849/test_parameters.py b/contrib/python/oauthlib/tests/oauth1/rfc5849/test_parameters.py
new file mode 100644
index 0000000000..92b95c1167
--- /dev/null
+++ b/contrib/python/oauthlib/tests/oauth1/rfc5849/test_parameters.py
@@ -0,0 +1,90 @@
+# -*- coding: utf-8 -*-
+from oauthlib.common import urlencode
+from oauthlib.oauth1.rfc5849.parameters import (
+ _append_params, prepare_form_encoded_body, prepare_headers,
+ prepare_request_uri_query,
+)
+
+from tests.unittest import TestCase
+
+
+class ParameterTests(TestCase):
+ auth_only_params = [
+ ('oauth_consumer_key', "9djdj82h48djs9d2"),
+ ('oauth_token', "kkk9d7dh3k39sjv7"),
+ ('oauth_signature_method', "HMAC-SHA1"),
+ ('oauth_timestamp', "137131201"),
+ ('oauth_nonce', "7d8f3e4a"),
+ ('oauth_signature', "bYT5CMsGcbgUdFHObYMEfcx6bsw=")
+ ]
+ auth_and_data = list(auth_only_params)
+ auth_and_data.append(('data_param_foo', 'foo'))
+ auth_and_data.append(('data_param_1', '1'))
+ realm = 'testrealm'
+ norealm_authorization_header = ' '.join((
+ 'OAuth',
+ 'oauth_consumer_key="9djdj82h48djs9d2",',
+ 'oauth_token="kkk9d7dh3k39sjv7",',
+ 'oauth_signature_method="HMAC-SHA1",',
+ 'oauth_timestamp="137131201",',
+ 'oauth_nonce="7d8f3e4a",',
+ 'oauth_signature="bYT5CMsGcbgUdFHObYMEfcx6bsw%3D"',
+ ))
+ withrealm_authorization_header = ' '.join((
+ 'OAuth',
+ 'realm="testrealm",',
+ 'oauth_consumer_key="9djdj82h48djs9d2",',
+ 'oauth_token="kkk9d7dh3k39sjv7",',
+ 'oauth_signature_method="HMAC-SHA1",',
+ 'oauth_timestamp="137131201",',
+ 'oauth_nonce="7d8f3e4a",',
+ 'oauth_signature="bYT5CMsGcbgUdFHObYMEfcx6bsw%3D"',
+ ))
+
+ def test_append_params(self):
+ unordered_1 = [
+ ('oauth_foo', 'foo'),
+ ('lala', 123),
+ ('oauth_baz', 'baz'),
+ ('oauth_bar', 'bar'), ]
+ unordered_2 = [
+ ('teehee', 456),
+ ('oauth_quux', 'quux'), ]
+ expected = [
+ ('teehee', 456),
+ ('lala', 123),
+ ('oauth_quux', 'quux'),
+ ('oauth_foo', 'foo'),
+ ('oauth_baz', 'baz'),
+ ('oauth_bar', 'bar'), ]
+ self.assertEqual(_append_params(unordered_1, unordered_2), expected)
+
+ def test_prepare_headers(self):
+ self.assertEqual(
+ prepare_headers(self.auth_only_params, {}),
+ {'Authorization': self.norealm_authorization_header})
+ self.assertEqual(
+ prepare_headers(self.auth_only_params, {}, realm=self.realm),
+ {'Authorization': self.withrealm_authorization_header})
+
+ def test_prepare_headers_ignore_data(self):
+ self.assertEqual(
+ prepare_headers(self.auth_and_data, {}),
+ {'Authorization': self.norealm_authorization_header})
+ self.assertEqual(
+ prepare_headers(self.auth_and_data, {}, realm=self.realm),
+ {'Authorization': self.withrealm_authorization_header})
+
+ def test_prepare_form_encoded_body(self):
+ existing_body = ''
+ form_encoded_body = 'data_param_foo=foo&data_param_1=1&oauth_consumer_key=9djdj82h48djs9d2&oauth_token=kkk9d7dh3k39sjv7&oauth_signature_method=HMAC-SHA1&oauth_timestamp=137131201&oauth_nonce=7d8f3e4a&oauth_signature=bYT5CMsGcbgUdFHObYMEfcx6bsw%3D'
+ self.assertEqual(
+ urlencode(prepare_form_encoded_body(self.auth_and_data, existing_body)),
+ form_encoded_body)
+
+ def test_prepare_request_uri_query(self):
+ url = 'http://notarealdomain.com/foo/bar/baz?some=args&go=here'
+ request_uri_query = 'http://notarealdomain.com/foo/bar/baz?some=args&go=here&data_param_foo=foo&data_param_1=1&oauth_consumer_key=9djdj82h48djs9d2&oauth_token=kkk9d7dh3k39sjv7&oauth_signature_method=HMAC-SHA1&oauth_timestamp=137131201&oauth_nonce=7d8f3e4a&oauth_signature=bYT5CMsGcbgUdFHObYMEfcx6bsw%3D'
+ self.assertEqual(
+ prepare_request_uri_query(self.auth_and_data, url),
+ request_uri_query)