Exemplo n.º 1
0
def test_json_list():
    """Verify that a json list is wrapped in a ResourceList object."""
    resources = wrapped_resource(MockResponse(json.dumps([{'foo': 'bar'}]),
                                              encoding='utf-8'))
    assert isinstance(resources, ResourceList)
    eq_(1, len(resources))
    eq_('bar', resources[0].foo)
Exemplo n.º 2
0
def test_properties_copied():
    """Certain properties should be copied to the wrapped resource."""
    response = MockResponse(json.dumps({'foo': 'bar'}),
                            status_code=200,
                            error='This is an error',
                            url='http://example.com')
    resource = wrapped_resource(response)
    eq_(200, resource.status_code)
    eq_('This is an error', resource.error)
    eq_('http://example.com', resource.url)
Exemplo n.º 3
0
 def _refresh_token_flow(self):
     """Given a refresh token, obtain a new access token."""
     url = "%s%s/oauth2/token" % (self.scheme, self.host)
     options = {
         "grant_type": "refresh_token",
         "client_id": self.options.get("client_id"),
         "client_secret": self.options.get("client_secret"),
         "refresh_token": self.options.get("refresh_token"),
     }
     verify_ssl = self.options.get("verify_ssl", True)
     self.token = wrapped_resource(make_request("post", url, options, verify_ssl))
     self.access_token = self.token.access_token
Exemplo n.º 4
0
def test_properties_copied():
    """Certain properties should be copied to the wrapped resource."""
    response = MockResponse(json.dumps({'foo': 'bar'}),
                            encoding='utf-8',
                            status_code=200,
                            reason='OK',
                            url='http://example.com')
    resource = wrapped_resource(response)
    eq_(200, resource.status_code)
    eq_('OK', resource.reason)
    eq_('utf-8', resource.encoding)
    eq_('http://example.com', resource.url)
Exemplo n.º 5
0
 def _credentials_flow(self):
     """Given a username and password, obtain an access token."""
     url = "%s%s/oauth2/token" % (self.scheme, self.host)
     options = {
         "client_id": self.options.get("client_id"),
         "client_secret": self.options.get("client_secret"),
         "username": self.options.get("username"),
         "password": self.options.get("password"),
         "grant_type": "password",
     }
     verify_ssl = self.options.get("verify_ssl", True)
     self.token = wrapped_resource(make_request("post", url, options, verify_ssl))
     self.access_token = self.token.access_token
Exemplo n.º 6
0
    def _request(self, method, resource, **kwargs):
        """Given an HTTP method, a resource name and kwargs, construct a
        request and return the response.
        """
        url = self._resolve_resource_name(resource)

        if hasattr(self, "access_token"):
            kwargs.update(dict(oauth_token=self.access_token))
        if hasattr(self, "client_id"):
            kwargs.update(dict(client_id=self.client_id))

        verify_ssl = self.options.get("verify_ssl", True)
        return wrapped_resource(make_request(method, url, kwargs, verify_ssl))
Exemplo n.º 7
0
 def exchange_token(self, code):
     """Given the value of the code parameter, request an access token."""
     url = "%s%s/oauth2/token" % (self.scheme, self.host)
     options = {
         "grant_type": "authorization_code",
         "redirect_uri": self.options.get("redirect_uri"),
         "client_id": self.options.get("client_id"),
         "client_secret": self.options.get("client_secret"),
         "code": code,
     }
     verify_ssl = self.options.get("verify_ssl", True)
     self.token = wrapped_resource(make_request("post", url, options, verify_ssl))
     self.access_token = self.token.access_token
     return self.token
Exemplo n.º 8
0
 def _refresh_token_flow(self):
     """Given a refresh token, obtain a new access token."""
     url = '%s%s/oauth2/token' % (self.scheme, self.host)
     options = {
         'grant_type': 'refresh_token',
         'client_id': self.options.get('client_id'),
         'client_secret': self.options.get('client_secret'),
         'refresh_token': self.options.get('refresh_token')
     }
     options.update({
         'verify_ssl': self.options.get('verify_ssl', True),
         'proxies': self.options.get('proxies', None)
     })
     self.token = wrapped_resource(make_request('post', url, options))
     self.access_token = self.token.access_token
Exemplo n.º 9
0
    def _request(self, method, resource, **kwargs):
        """Given an HTTP method, a resource name and kwargs, construct a
        request and return the response.
        """
        url = self._resolve_resource_name(resource)

        if hasattr(self, 'access_token'):
            kwargs.update(dict(oauth_token=self.access_token))
        if hasattr(self, 'client_id'):
            kwargs.update(dict(client_id=self.client_id))

        kwargs.update({
            'verify_ssl': self.options.get('verify_ssl', True),
            'proxies': self.options.get('proxies', None)
        })
        return wrapped_resource(make_request(method, url, kwargs))
Exemplo n.º 10
0
 def _refresh_token_flow(self):
     """Given a refresh token, obtain a new access token."""
     url = '%s%s/oauth2/token' % (self.scheme, self.host)
     options = {
         'grant_type': 'refresh_token',
         'client_id': self.options.get('client_id'),
         'client_secret': self.options.get('client_secret'),
         'refresh_token': self.options.get('refresh_token')
     }
     options.update({
         'verify_ssl': self.options.get('verify_ssl', True),
         'proxies': self.options.get('proxies', None)
     })
     self.token = wrapped_resource(
         make_request('post', url, options))
     self.access_token = self.token.access_token
Exemplo n.º 11
0
    def _request(self, method, resource, **kwargs):
        """Given an HTTP method, a resource name and kwargs, construct a
        request and return the response.
        """
        url = self._resolve_resource_name(resource)

        if hasattr(self, 'access_token'):
            kwargs.update(dict(oauth_token=self.access_token))
        if hasattr(self, 'client_id'):
            kwargs.update(dict(client_id=self.client_id))

        kwargs.update({
            'verify_ssl': self.options.get('verify_ssl', True),
            'proxies': self.options.get('proxies', None)
        })
        return wrapped_resource(make_request(method, url, kwargs))
Exemplo n.º 12
0
 def _credentials_flow(self):
     """Given a username and password, obtain an access token."""
     url = '%s%s/oauth2/token' % (self.scheme, self.host)
     options = {
         'client_id': self.options.get('client_id'),
         'client_secret': self.options.get('client_secret'),
         'username': self.options.get('username'),
         'password': self.options.get('password'),
         'scope': getattr(self, 'scope', ''),
         'grant_type': 'password'
     }
     options.update({
         'verify_ssl': self.options.get('verify_ssl', True),
         'proxies': self.options.get('proxies', None)
     })
     self.token = wrapped_resource(make_request('post', url, options))
     self.access_token = self.token.access_token
Exemplo n.º 13
0
 def exchange_token(self, code):
     """Given the value of the code parameter, request an access token."""
     url = '%s%s/oauth2/token' % (self.scheme, self.host)
     options = {
         'grant_type': 'authorization_code',
         'redirect_uri': self.options.get('redirect_uri'),
         'client_id': self.options.get('client_id'),
         'client_secret': self.options.get('client_secret'),
         'code': code,
     }
     options.update({
         'verify_ssl': self.options.get('verify_ssl', True),
         'proxies': self.options.get('proxies', None)
     })
     self.token = wrapped_resource(make_request('post', url, options))
     self.access_token = self.token.access_token
     return self.token
Exemplo n.º 14
0
 def exchange_token(self, code):
     """Given the value of the code parameter, request an access token."""
     url = '%s%s/oauth2/token' % (self.scheme, self.host)
     options = {
         'grant_type': 'authorization_code',
         'redirect_uri': self._redirect_uri(),
         'client_id': self.options.get('client_id'),
         'client_secret': self.options.get('client_secret'),
         'code': code,
     }
     options.update({
         'verify_ssl': self.options.get('verify_ssl', True),
         'proxies': self.options.get('proxies', None)
     })
     self.token = wrapped_resource(
         make_request('post', url, options))
     self.access_token = self.token.access_token
     return self.token
Exemplo n.º 15
0
 def _credentials_flow(self):
     """Given a username and password, obtain an access token."""
     url = '%s%s/oauth2/token' % (self.scheme, self.host)
     options = {
         'client_id': self.options.get('client_id'),
         'client_secret': self.options.get('client_secret'),
         'username': self.options.get('username'),
         'password': self.options.get('password'),
         'scope': getattr(self, 'scope', ''),
         'grant_type': 'password'
     }
     options.update({
         'verify_ssl': self.options.get('verify_ssl', True),
         'proxies': self.options.get('proxies', None)
     })
     self.token = wrapped_resource(
         make_request('post', url, options))
     self.access_token = self.token.access_token
Exemplo n.º 16
0
def test_json_object():
    """Verify that a json object is wrapped in a Resource object."""
    resource = wrapped_resource(MockResponse(json.dumps({'foo': 'bar'})))
    assert isinstance(resource, Resource)
    eq_('bar', resource.foo)