123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import os
- from unittest.mock import patch
- from oauthlib import signals
- from oauthlib.oauth2 import DeviceClient
- from tests.unittest import TestCase
- class DeviceClientTest(TestCase):
- client_id = "someclientid"
- kwargs = {
- "some": "providers",
- "require": "extra arguments"
- }
- client_secret = "asecret"
- device_code = "somedevicecode"
- scope = ["profile", "email"]
- body = "not=empty"
- body_up = "not=empty&grant_type=urn:ietf:params:oauth:grant-type:device_code"
- body_code = body_up + "&device_code=somedevicecode"
- body_kwargs = body_code + "&some=providers&require=extra+arguments"
- uri = "https://example.com/path?query=world"
- uri_id = uri + "&client_id=" + client_id
- uri_grant = uri_id + "&grant_type=urn:ietf:params:oauth:grant-type:device_code"
- uri_secret = uri_grant + "&client_secret=asecret"
- uri_scope = uri_secret + "&scope=profile+email"
- def test_request_body(self):
- client = DeviceClient(self.client_id)
- # Basic, no extra arguments
- body = client.prepare_request_body(self.device_code, body=self.body)
- self.assertFormBodyEqual(body, self.body_code)
- rclient = DeviceClient(self.client_id)
- body = rclient.prepare_request_body(self.device_code, body=self.body)
- self.assertFormBodyEqual(body, self.body_code)
- # With extra parameters
- body = client.prepare_request_body(
- self.device_code, body=self.body, **self.kwargs)
- self.assertFormBodyEqual(body, self.body_kwargs)
- def test_request_uri(self):
- client = DeviceClient(self.client_id)
- uri = client.prepare_request_uri(self.uri)
- self.assertURLEqual(uri, self.uri_grant)
- client = DeviceClient(self.client_id, client_secret=self.client_secret)
- uri = client.prepare_request_uri(self.uri)
- self.assertURLEqual(uri, self.uri_secret)
- uri = client.prepare_request_uri(self.uri, scope=self.scope)
- self.assertURLEqual(uri, self.uri_scope)
|