|
|
# -*- coding: utf-8 -*- # Copyright 2016 SYLEAM # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import logging from openerp.tests.common import TransactionCase from ..oauth2.validator import OdooValidator
_logger = logging.getLogger(__name__)
try: from oauthlib import oauth2 except ImportError: _logger.debug('Cannot `import oauthlib`.')
class TestOAuthProviderClient(TransactionCase):
def setUp(self): super(TestOAuthProviderClient, self).setUp() self.client_vals = { 'name': 'Client', 'identifier': 'client', }
def new_client(self, vals=None): values = self.client_vals.copy() if vals is not None: values.update(vals)
return self.env['oauth.provider.client'].create(values)
def test_grant_response_type_default(self): """ Check the value of the grant_type and response_type fields """ # Default : Web Application client = self.new_client({'identifier': 'default'}) self.assertEqual(client.grant_type, 'authorization_code') self.assertEqual(client.response_type, 'code')
def test_grant_response_type_web_application(self): """ Check the value of the grant_type and response_type fields """ # Web Application client = self.new_client(vals={'application_type': 'web application'}) self.assertEqual(client.grant_type, 'authorization_code') self.assertEqual(client.response_type, 'code')
def test_grant_response_type_mobile_application(self): """ Check the value of the grant_type and response_type fields """ # Mobile Application client = self.new_client( vals={'application_type': 'mobile application'}) self.assertEqual(client.grant_type, 'implicit') self.assertEqual(client.response_type, 'token')
def test_grant_response_type_legacy_application(self): """ Check the value of the grant_type and response_type fields """ # Legacy Application client = self.new_client( vals={'application_type': 'legacy application'}) self.assertEqual(client.grant_type, 'password') self.assertEqual(client.response_type, 'none')
def test_grant_response_type_backend_application(self): """ Check the value of the grant_type and response_type fields """ # Backend Application client = self.new_client( vals={'application_type': 'backend application'}) self.assertEqual(client.grant_type, 'client_credentials') self.assertEqual(client.response_type, 'none')
def test_get_oauth2_server_default(self): """ Check the returned server, depending on the application type """ # Default : Web Application client = self.new_client({'identifier': 'default'}) self.assertTrue( isinstance(client.get_oauth2_server(), oauth2.WebApplicationServer))
def test_get_oauth2_server_web_application(self): """ Check the returned server, depending on the application type """ # Web Application client = self.new_client(vals={'application_type': 'web application'}) self.assertTrue( isinstance(client.get_oauth2_server(), oauth2.WebApplicationServer))
def test_get_oauth2_server_mobile_application(self): """ Check the returned server, depending on the application type """ # Mobile Application client = self.new_client( vals={'application_type': 'mobile application'}) self.assertTrue( isinstance(client.get_oauth2_server(), oauth2.MobileApplicationServer))
def test_get_oauth2_server_legacy_applicaton(self): """ Check the returned server, depending on the application type """ # Legacy Application client = self.new_client( vals={'application_type': 'legacy application'}) self.assertTrue( isinstance(client.get_oauth2_server(), oauth2.LegacyApplicationServer))
def test_get_oauth2_server_backend_application(self): """ Check the returned server, depending on the application type """ # Backend Application client = self.new_client( vals={'application_type': 'backend application'}) self.assertTrue( isinstance(client.get_oauth2_server(), oauth2.BackendApplicationServer))
def test_get_oauth2_server_validator(self): """ Check the validator of the returned server """ client = self.new_client() # No defined validator: Check that an OdooValidator instance is created self.assertTrue( isinstance(client.get_oauth2_server().request_validator, OdooValidator))
def test_get_oauth2_server_validator_custom(self): """ Check the validator of the returned server """ client = self.new_client() # Passed validator : Check that the validator instance is used validator = OdooValidator() self.assertEqual( client.get_oauth2_server(validator).request_validator, validator)
|