Example #1
0
    def test_missing_required_type_installed(self):
        required = clientsecrets.VALID_CLIENT[clientsecrets.TYPE_INSTALLED]["required"]
        # We will certainly have less than all 5 keys.
        self.assertEqual(len(required), 5)

        clientsecrets_dict = {clientsecrets.TYPE_INSTALLED: {"not_required": None}}
        with self.assertRaises(clientsecrets.InvalidClientSecretsError):
            clientsecrets._validate_clientsecrets(clientsecrets_dict)
    def test_missing_required_type_web(self):
        required = clientsecrets.VALID_CLIENT[
            clientsecrets.TYPE_WEB]['required']
        # We will certainly have less than all 5 keys.
        self.assertEqual(len(required), 5)

        clientsecrets_dict = {
            clientsecrets.TYPE_WEB: {'not_required': None},
        }
        with self.assertRaises(clientsecrets.InvalidClientSecretsError):
            clientsecrets._validate_clientsecrets(clientsecrets_dict)
    def test_missing_required_type_installed(self):
        required = clientsecrets.VALID_CLIENT[
            clientsecrets.TYPE_INSTALLED]['required']
        # We will certainly have less than all 5 keys.
        self.assertEqual(len(required), 5)

        clientsecrets_dict = {
            clientsecrets.TYPE_INSTALLED: {
                'not_required': None
            },
        }
        with self.assertRaises(clientsecrets.InvalidClientSecretsError):
            clientsecrets._validate_clientsecrets(clientsecrets_dict)
Example #4
0
    def test_string_not_configured_type_installed(self):
        string_props = clientsecrets.VALID_CLIENT[clientsecrets.TYPE_INSTALLED]["string"]

        self.assertTrue("client_id" in string_props)
        clientsecrets_dict = {
            clientsecrets.TYPE_INSTALLED: {
                "client_id": "[[template]]",
                "client_secret": "seekrit",
                "redirect_uris": None,
                "auth_uri": None,
                "token_uri": None,
            }
        }
        with self.assertRaises(clientsecrets.InvalidClientSecretsError):
            clientsecrets._validate_clientsecrets(clientsecrets_dict)
    def test_string_not_configured_type_web(self):
        string_props = clientsecrets.VALID_CLIENT[
            clientsecrets.TYPE_WEB]['string']

        self.assertTrue('client_id' in string_props)
        clientsecrets_dict = {
            clientsecrets.TYPE_WEB: {
                'client_id': '[[template]]',
                'client_secret': 'seekrit',
                'redirect_uris': None,
                'auth_uri': None,
                'token_uri': None,
            },
        }
        with self.assertRaises(clientsecrets.InvalidClientSecretsError):
            clientsecrets._validate_clientsecrets(clientsecrets_dict)
    def test_string_not_configured_type_web(self):
        string_props = clientsecrets.VALID_CLIENT[
            clientsecrets.TYPE_WEB]['string']

        self.assertTrue('client_id' in string_props)
        clientsecrets_dict = {
            clientsecrets.TYPE_WEB: {
                'client_id': '[[template]]',
                'client_secret': 'seekrit',
                'redirect_uris': None,
                'auth_uri': None,
                'token_uri': None,
            },
        }
        with self.assertRaises(clientsecrets.InvalidClientSecretsError):
            clientsecrets._validate_clientsecrets(clientsecrets_dict)
Example #7
0
 def test_success_type_installed(self):
     client_info = {
         "client_id": "eye-dee",
         "client_secret": "seekrit",
         "redirect_uris": None,
         "auth_uri": None,
         "token_uri": None,
     }
     clientsecrets_dict = {clientsecrets.TYPE_INSTALLED: client_info}
     result = clientsecrets._validate_clientsecrets(clientsecrets_dict)
     self.assertEqual(result, (clientsecrets.TYPE_INSTALLED, client_info))
Example #8
0
 def test_success_type_installed(self):
     client_info = {
             'client_id': 'eye-dee',
             'client_secret': 'seekrit',
             'redirect_uris': None,
             'auth_uri': None,
             'token_uri': None,
     }
     clientsecrets_dict = {
         clientsecrets.TYPE_INSTALLED: client_info,
     }
     result = clientsecrets._validate_clientsecrets(clientsecrets_dict)
     self.assertEqual(result, (clientsecrets.TYPE_INSTALLED, client_info))
Example #9
0
 def test_success_type_installed(self):
     client_info = {
         'client_id': 'eye-dee',
         'client_secret': 'seekrit',
         'redirect_uris': None,
         'auth_uri': None,
         'token_uri': None,
     }
     clientsecrets_dict = {
         clientsecrets.TYPE_INSTALLED: client_info,
     }
     result = clientsecrets._validate_clientsecrets(clientsecrets_dict)
     self.assertEqual(result, (clientsecrets.TYPE_INSTALLED, client_info))
Example #10
0
    def get_flow(scope, device_uri=None):
        client_type, client_info = clientsecrets._validate_clientsecrets(settings.GOOGLE_OAUTH_CONFIG)
        if client_type in (clientsecrets.TYPE_WEB, clientsecrets.TYPE_INSTALLED):
            constructor_kwargs = {
                'redirect_uri': client_info['redirect_uris'][0],
                'auth_uri': client_info['auth_uri'],
                'token_uri': client_info['token_uri'],
                'approval_prompt': client_info['approval_prompt']
            }

            revoke_uri = client_info.get('revoke_uri')
            if revoke_uri is not None:
                constructor_kwargs['revoke_uri'] = revoke_uri
            if device_uri is not None:
                constructor_kwargs['device_uri'] = device_uri
            return OAuth2WebServerFlow(
                client_info['client_id'],
                client_info['client_secret'],
                scope,
                **constructor_kwargs)
 def test_invalid_client_type(self):
     fake_type = 'fake_type'
     self.assertNotEqual(fake_type, clientsecrets.TYPE_WEB)
     self.assertNotEqual(fake_type, clientsecrets.TYPE_INSTALLED)
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets({fake_type: None})
 def test_with_none(self):
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets(None)
 def test_with_other_than_one_key(self):
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets({})
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets({'one': 'val', 'two': 'val'})
 def test_with_non_dictionary(self):
     non_dict = [None]
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets(non_dict)
 def test_with_none(self):
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets(None)
 def test_with_other_than_one_key(self):
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets({})
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets({'one': 'val', 'two': 'val'})
Example #17
0
 def test_with_other_than_one_key(self):
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets({})
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets({"one": "val", "two": "val"})
 def test_invalid_client_type(self):
     fake_type = 'fake_type'
     self.assertNotEqual(fake_type, clientsecrets.TYPE_WEB)
     self.assertNotEqual(fake_type, clientsecrets.TYPE_INSTALLED)
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets({fake_type: None})
 def test_with_non_dictionary(self):
     non_dict = [None]
     with self.assertRaises(clientsecrets.InvalidClientSecretsError):
         clientsecrets._validate_clientsecrets(non_dict)