コード例 #1
0
ファイル: test_hook.py プロジェクト: mishok13/rauth
    def test_oauth_post_with_data(self):
        oauth = OAuth1Hook('123', '345')
        self.request.method = 'POST'
        self.request.data = {'foo': 'bar'}
        oauth(self.request)
        self.assertTrue(('foo', 'bar') in self.request.data.items())

        # also try with a urlencoded data parameter
        oauth = OAuth1Hook('123', '345')
        self.request.method = 'POST'
        self.request.data = urlencode({'foo': 'bar'})
        oauth(self.request)
        self.assertTrue(('foo', 'bar') in self.request.data.items())
コード例 #2
0
 def test_unique_nonce(self):
     oauth = OAuth1Hook('123', '345')
     oauth(self.request)
     first_nonce = self.request.oauth_params['oauth_nonce']
     oauth(self.request)
     second_nonce = self.request.oauth_params['oauth_nonce']
     self.assertTrue(first_nonce != second_nonce)
コード例 #3
0
    def test_intialize_oauthhook(self):
        # without token
        oauth = OAuth1Hook('123', '345')
        self.assertTrue(hasattr(oauth, 'consumer_key'))
        self.assertTrue(hasattr(oauth, 'consumer_secret'))

        # with token
        oauth = OAuth1Hook('123', '345', '321', '654')
        self.assertTrue(hasattr(oauth, 'consumer_key'))
        self.assertTrue(hasattr(oauth, 'consumer_secret'))
        self.assertTrue(hasattr(oauth, 'access_token'))
        self.assertTrue(hasattr(oauth, 'access_token_secret'))
        self.assertEqual(oauth.consumer_key, '123')
        self.assertEqual(oauth.consumer_secret, '345')
        self.assertEqual(oauth.access_token, '321')
        self.assertEqual(oauth.access_token_secret, '654')
コード例 #4
0
    def test_oauth_callback(self):
        oauth = OAuth1Hook('123', '345')

        self.request.params = {'oauth_callback': 'http://example.com/callback'}
        oauth(self.request)
        oauth_callback = self.request.oauth_params['oauth_callback']
        self.assertEqual('http://example.com/callback', oauth_callback)
コード例 #5
0
 def test_oauth_with_access_token(self):
     oauth = OAuth1Hook('123', '345', '321', '654')
     oauth(self.request)
     full_url = self.request.full_url
     self.assertTrue(oauth.access_token is not None)
     self.assertTrue(oauth.access_token_secret is not None)
     self.assertTrue('oauth_token' in full_url)
     self.assertEqual('321', self.request.oauth_params['oauth_token'])
コード例 #6
0
 def test_oauth_verifier_as_data(self):
     oauth = OAuth1Hook('123', '345', '321', '654')
     self.request.nmethod = 'POST'
     self.request.data = {'oauth_verifier': 'fake_verifier'}
     oauth(self.request)
     self.assertEqual(oauth.oauth_verifier, 'fake_verifier')
     self.assertTrue(('oauth_verifier',
                      'fake_verifier') in self.request.oauth_params.items())
コード例 #7
0
    def test_oauth_post_with_data(self):
        oauth = OAuth1Hook('123', '345')
        self.request.method = 'POST'
        self.request.data = {'foo': 'bar'}
        self.request.headers = \
            {'Content-Type': 'application/x-www-form-urlencoded'}
        oauth(self.request)
        self.assertTrue(('foo', 'bar') in self.request.data.items())

        # also try with a urlencoded data parameter
        oauth = OAuth1Hook('123', '345')
        self.request.method = 'POST'
        self.request.data = urlencode({'foo': 'bar'})
        self.request.headers = \
            {'Content-Type': 'application/x-www-form-urlencoded'}
        oauth(self.request)
        self.assertTrue(('foo', 'bar') in self.request.data.items())
コード例 #8
0
 def test_literaljson_data_as_string(self):
     oauth = OAuth1Hook('123', '345')
     data = '{"foor": "bar"}'
     self.request.data = data
     self.assertTrue(isinstance(self.request.data, str))
     oauth(self.request)
     self.assertTrue(isinstance(self.request.data, str))
     self.assertEqual(self.request.data, data)
コード例 #9
0
 def test_literaljson_data_as_string_post(self):
     self.request.method = 'POST'
     oauth = OAuth1Hook('123', '345', header_auth=True)
     data = '{"foor": "bar"}'
     self.request.data = data
     self.assertTrue(isinstance(self.request.data, str))
     oauth(self.request)
     self.assertTrue(isinstance(self.request.data, str))
     self.assertEqual(self.request.data, data)
コード例 #10
0
 def test_params_or_data_as_strings(self):
     oauth = OAuth1Hook('123', '345')
     self.request.params = 'foo=bar'
     self.request.data = 'foo=bar'
     self.assertTrue(isinstance(self.request.params, str))
     self.assertTrue(isinstance(self.request.data, str))
     oauth(self.request)
     self.assertTrue(isinstance(self.request.params, dict))
     self.assertTrue(isinstance(self.request.data, str))
     self.assertTrue(('foo', 'bar') in self.request.params.items())
コード例 #11
0
 def test_params_or_data_as_lists_post(self):
     self.request.method = 'POST'
     oauth = OAuth1Hook('123', '345')
     self.request.params = [('foo', 'bar')]
     self.request.data = [('foo', 'bar')]
     self.assertTrue(isinstance(self.request.params, list))
     self.assertTrue(isinstance(self.request.data, list))
     oauth(self.request)
     self.assertTrue(isinstance(self.request.data, dict))
     self.assertTrue(('foo', 'bar') in self.request.data.items())
コード例 #12
0
ファイル: service.py プロジェクト: mishok13/rauth
    def _construct_session(self, **kwargs):
        '''Construct the request session, supplying the consumer key and
        secret.

        :param \*\*kwargs: Extra keyworded arguments to be passed to the
            OAuth1Hook constructor.
        '''
        hook = OAuth1Hook(consumer_key=self.consumer_key,
                          consumer_secret=self.consumer_secret,
                          **kwargs)
        return requests.session(hooks={'pre_request': hook})
コード例 #13
0
 def test_oauth_header_auth(self):
     oauth = OAuth1Hook('123', '345', header_auth=True)
     self.assertTrue(oauth.header_auth)
     oauth(self.request)
     auth_header = self.request.headers['Authorization']
     self.assertTrue(auth_header is not None)
     self.assertTrue('oauth_timestamp' in auth_header)
     self.assertTrue('oauth_consumer_key="123"' in auth_header)
     self.assertTrue('oauth_nonce' in auth_header)
     self.assertTrue('oauth_version="1.0"' in auth_header)
     self.assertTrue('oauth_signature_method="HMAC-SHA1"' in auth_header)
コード例 #14
0
 def test_params_or_data_as_strings_post_with_oauth_callback(self):
     self.request.method = 'POST'
     oauth = OAuth1Hook('123', '345')
     self.request.params = 'foo=bar&oauth_callback=oob'
     self.request.data = 'foo=bar'
     self.assertTrue(isinstance(self.request.params, str))
     self.assertTrue(isinstance(self.request.data, str))
     oauth(self.request)
     self.assertTrue(isinstance(self.request.data, dict))
     self.assertTrue(('foo', 'bar') in self.request.data.items())
     self.assertTrue('oauth_callback' in self.request.oauth_params)
     self.assertEqual(self.request.oauth_params['oauth_callback'], 'oob')
コード例 #15
0
 def test_params_or_data_as_strings_post(self):
     self.request.method = 'POST'
     oauth = OAuth1Hook('123', '345')
     self.request.params = 'foo=bar'
     self.request.data = 'foo=bar'
     self.assertTrue(isinstance(self.request.params, str))
     self.assertTrue(isinstance(self.request.data, str))
     oauth(self.request)
     self.assertTrue(isinstance(self.request.data, dict))
     self.assertTrue(('foo', 'bar') in self.request.data.items())
     self.assertTrue('oauth_verifier' not in self.request.oauth_params)
     self.assertTrue('oauth_callback' not in self.request.oauth_params)
コード例 #16
0
 def test_oauth_post(self):
     oauth = OAuth1Hook('123', '345')
     self.request.method = 'POST'
     self.request.data = {'foo': 'bar'}
     oauth(self.request)
     self.assertTrue('oauth_timestamp' in self.request.data)
     self.assertTrue(('oauth_consumer_key',
                      '123') in self.request.oauth_params.items())
     self.assertTrue('oauth_nonce' in self.request.oauth_params)
     self.assertTrue(('oauth_version',
                      '1.0') in self.request.oauth_params.items())
     self.assertTrue(('oauth_signature_method',
                      'HMAC-SHA1') in self.request.oauth_params.items())
コード例 #17
0
def _request(rtype, url, params={}, data=None):
    cfg = config.parseconfig()
    session = requests
    if cfg['btoken'] and cfg['btoken_secret']:
        oauth = OAuth1Hook(CONSUMER_KEY, CONSUMER_SECRET,
                           access_token=cfg['btoken'], access_token_secret=cfg['btoken_secret'])
        session = requests.session(hooks={'pre_request': oauth})
    r = None
    if data:
        r = getattr(session, rtype)(url, data=data, params=params, verify=cfg['sslverify'])
    else:
        r = getattr(session, rtype)(url, params=params)
    if not 200 <= r.status_code < 300:
        raise requests.exceptions.HTTPError('[{0}] {1}'.format(r.status_code, r.url))
    return r.json
コード例 #18
0
    def test_oauth_get(self):
        oauth = OAuth1Hook('123', '345')

        # call the instance (this would be a GET)
        oauth(self.request)
        full_url = self.request.full_url
        self.assertTrue('oauth_timestamp' in full_url)
        self.assertEqual(full_url.count('oauth_timestamp'), 1)
        self.assertTrue('oauth_consumer_key' in full_url)
        self.assertEqual(full_url.count('oauth_consumer_key'), 1)
        self.assertTrue('oauth_nonce' in full_url)
        self.assertEqual(full_url.count('oauth_nonce'), 1)
        self.assertTrue('oauth_version=1.0' in full_url)
        self.assertEqual(full_url.count('oauth_version=1.0'), 1)
        self.assertTrue('oauth_signature_method=HMAC-SHA1' in full_url)
        self.assertEqual(full_url.count('oauth_signature_method=HMAC-SHA1'), 1)
コード例 #19
0
    def test_oauth_get_with_params(self):
        oauth = OAuth1Hook('123', '345')

        self.request.params['foo'] = 'bar'
        self.request.params['a'] = 'b'
        oauth(self.request)
        full_url = self.request.full_url
        self.assertTrue('oauth_timestamp' in full_url)
        self.assertTrue('oauth_consumer_key' in full_url)
        self.assertTrue('oauth_nonce' in full_url)
        self.assertTrue('oauth_version=1.0' in full_url)
        self.assertTrue('oauth_signature_method=HMAC-SHA1' in full_url)
        self.assertTrue('foo=bar' in full_url)
        self.assertTrue('a=b' in full_url)
        self.assertEqual(full_url.count('foo=bar'), 1)
        self.assertEqual(full_url.count('a=b'), 1)
コード例 #20
0
 def test_oauth_verifier(self):
     oauth = OAuth1Hook('123', '345', '321', '654')
     self.request.params = {'oauth_verifier': 'fake_verifier'}
     oauth(self.request)
     self.assertEqual(oauth.oauth_verifier, 'fake_verifier')
     self.assertTrue('oauth_verifier' in self.request.full_url)
コード例 #21
0
 def test_authorization_realm(self):
     oauth = OAuth1Hook('123', '345', header_auth=True)
     oauth(self.request)
     self.assertTrue('OAuth realm="http://example.com/' in
                     self.request.headers['Authorization'])
コード例 #22
0
 def test_custom_signature_object(self):
     some_signature = Mock()
     oauth = OAuth1Hook('123', '345', signature=some_signature)
     self.assertTrue(oauth.signature is some_signature)
コード例 #23
0
ファイル: api.py プロジェクト: obalderes/project2-pd7
 def _generate_token(self, key, secret):
     access_token = OAuth1Hook(consumer_key=key,
                               consumer_secret=secret,
                               header_auth=True)
     return access_token