| Index: gslib/tests/test_creds_config.py
|
| ===================================================================
|
| --- gslib/tests/test_creds_config.py (revision 0)
|
| +++ gslib/tests/test_creds_config.py (revision 0)
|
| @@ -0,0 +1,63 @@
|
| +# -*- coding: utf-8 -*-
|
| +# Copyright 2014 Google Inc. All Rights Reserved.
|
| +#
|
| +# Licensed under the Apache License, Version 2.0 (the "License");
|
| +# you may not use this file except in compliance with the License.
|
| +# You may obtain a copy of the License at
|
| +#
|
| +# http://www.apache.org/licenses/LICENSE-2.0
|
| +#
|
| +# Unless required by applicable law or agreed to in writing, software
|
| +# distributed under the License is distributed on an "AS IS" BASIS,
|
| +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| +# See the License for the specific language governing permissions and
|
| +# limitations under the License.
|
| +"""Tests for various combinations of configured credentials."""
|
| +
|
| +from gslib.cred_types import CredTypes
|
| +from gslib.exception import CommandException
|
| +from gslib.gcs_json_api import GcsJsonApi
|
| +from gslib.tests.mock_logging_handler import MockLoggingHandler
|
| +import gslib.tests.testcase as testcase
|
| +from gslib.tests.util import SetBotoConfigForTest
|
| +
|
| +
|
| +class TestCredsConfig(testcase.GsUtilUnitTestCase):
|
| + """Tests for various combinations of configured credentials."""
|
| +
|
| + def setUp(self):
|
| + super(TestCredsConfig, self).setUp()
|
| + self.log_handler = MockLoggingHandler()
|
| + self.logger.addHandler(self.log_handler)
|
| +
|
| + def testMultipleConfiguredCreds(self):
|
| + with SetBotoConfigForTest([
|
| + ('Credentials', 'gs_oauth2_refresh_token', 'foo'),
|
| + ('Credentials', 'gs_service_client_id', 'bar'),
|
| + ('Credentials', 'gs_service_key_file', 'baz')]):
|
| +
|
| + try:
|
| + GcsJsonApi(None, self.logger)
|
| + self.fail('Succeeded with multiple types of configured creds.')
|
| + except CommandException, e:
|
| + msg = str(e)
|
| + self.assertIn('types of configured credentials', msg)
|
| + self.assertIn(CredTypes.OAUTH2_USER_ACCOUNT, msg)
|
| + self.assertIn(CredTypes.OAUTH2_SERVICE_ACCOUNT, msg)
|
| +
|
| + def testExactlyOneInvalid(self):
|
| + with SetBotoConfigForTest([
|
| + ('Credentials', 'gs_oauth2_refresh_token', 'foo'),
|
| + ('Credentials', 'gs_service_client_id', None),
|
| + ('Credentials', 'gs_service_key_file', None)]):
|
| + succeeded = False
|
| + try:
|
| + GcsJsonApi(None, self.logger)
|
| + succeeded = True # If we self.fail() here, the except below will catch
|
| + except: # pylint: disable=bare-except
|
| + warning_messages = self.log_handler.messages['warning']
|
| + self.assertEquals(1, len(warning_messages))
|
| + self.assertIn('credentials are invalid', warning_messages[0])
|
| + self.assertIn(CredTypes.OAUTH2_USER_ACCOUNT, warning_messages[0])
|
| + if succeeded:
|
| + self.fail('Succeeded with invalid credentials, one configured.')
|
|
|
| Property changes on: gslib/tests/test_creds_config.py
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|