def _assert_success(self, data, expected_scopes): form = AccessTokenExchangeForm(request=self.request, data=data) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data["user"], self.user) self.assertEqual(form.cleaned_data["client"], self.oauth_client) self.assertEqual(scope.to_names(form.cleaned_data["scope"]), expected_scopes)
def test_get_scope_names(self): names = scope.to_names(constants.READ) self.assertEqual('read', ' '.join(names)) names = scope.names(constants.READ_WRITE) names.sort() self.assertEqual('read read+write write', ' '.join(names))
def test_get_scope_names(self): names = scope.to_names(constants.READ) self.assertEqual('read', ' '.join(names)) names = scope.names(constants.READ_WRITE) names.sort() self.assertEqual('read write', ' '.join(names))
def get_authorization_form(self, request, client, data, client_data): # Check if the client is trusted. If so, bypass user # authorization by filling the data in the form. trusted = TrustedClient.objects.filter(client=client).exists() if trusted: scope_names = scope.to_names(client_data['scope']) data = {'authorize': [u'Authorize'], 'scope': scope_names} form = AuthorizationForm(data) return form
def _assert_success(self, data, expected_scopes): response = self.client.post(self.url, data) self.assertEqual(response.status_code, 200) self.assertEqual(response["Content-Type"], "application/json") content = json.loads(response.content) self.assertEqual(set(content.keys()), {"access_token", "token_type", "expires_in", "scope"}) self.assertEqual(content["token_type"], "Bearer") self.assertLessEqual(timedelta(seconds=int(content["expires_in"])), provider.constants.EXPIRE_DELTA_PUBLIC) self.assertEqual(content["scope"], " ".join(expected_scopes)) token = AccessToken.objects.get(token=content["access_token"]) self.assertEqual(token.user, self.user) self.assertEqual(token.client, self.oauth_client) self.assertEqual(scope.to_names(token.scope), expected_scopes)
def _assert_success(self, data, expected_scopes): response = self.client.post(self.url, data) self.assertEqual(response.status_code, 200) self.assertEqual(response["Content-Type"], "application/json") content = json.loads(response.content) self.assertEqual(set(content.keys()), {"access_token", "token_type", "expires_in", "scope"}) self.assertEqual(content["token_type"], "Bearer") self.assertLessEqual( timedelta(seconds=int(content["expires_in"])), provider.constants.EXPIRE_DELTA_PUBLIC ) self.assertEqual(content["scope"], " ".join(expected_scopes)) token = AccessToken.objects.get(token=content["access_token"]) self.assertEqual(token.user, self.user) self.assertEqual(token.client, self.oauth_client) self.assertEqual(scope.to_names(token.scope), expected_scopes)
def get_token_scope_names(self, token): """ Given an access token object, return its scopes. """ return scope.to_names(token.scope)
def scopes(scope_int): """ Wrapper around :attr:`provider.scope.names` to turn an int into a list of scope names in templates. """ return scope.to_names(scope_int)
def create_access_token(self, request, user, scope, client): """ Create and return a new access token. """ scopes = dop_scope.to_names(scope) return create_dot_access_token(request, user, client, scopes=scopes)