예제 #1
0
 def test_setup_with_empty_clouds_content(self):
     fixture = keystone.CloudsFileKeystoneCredentialsFixture(
         cloud_name='cloud-name', clouds_content={})
     ex = self.assertRaises(ValueError, tobiko.setup_fixture, fixture)
     self.assertEqual('cloud-name', fixture.cloud_name)
     self.assertEqual({}, fixture.clouds_content)
     self.assertEqual('Invalid clouds file content: {}', str(ex))
예제 #2
0
 def test_setup_without_clouds_file(self):
     self.patch(self.config, 'clouds_files', ['/a', '/b', '/c'])
     fixture = keystone.CloudsFileKeystoneCredentialsFixture(
         cloud_name='cloud-name')
     ex = self.assertRaises(_clouds_file.CloudsFileNotFoundError,
                            tobiko.setup_fixture, fixture)
     self.assertEqual('cloud-name', fixture.cloud_name)
     self.assertEqual("No such clouds file(s): /a, /b, /c", str(ex))
예제 #3
0
 def test_setup_with_cloud_name(self):
     file_fixture = self.useFixture(V3CloudsFileFixture())
     credentials_fixture = keystone.CloudsFileKeystoneCredentialsFixture(
         cloud_name='cloud-name', clouds_file=file_fixture.clouds_file)
     ex = self.assertRaises(ValueError, tobiko.setup_fixture,
                            credentials_fixture)
     self.assertEqual(
         "No such cloud with name 'cloud-name' in file " +
         repr(file_fixture.clouds_file), str(ex))
예제 #4
0
    def test_setup_with_empty_cloud_name(self):
        file_fixture = self.useFixture(V2CloudsFileFixture())
        credentials_fixture = keystone.CloudsFileKeystoneCredentialsFixture(
            clouds_file=file_fixture.clouds_file, cloud_name='')

        self.assertIsNone(credentials_fixture.credentials)
        self.assertEqual('', credentials_fixture.cloud_name)
        tobiko.setup_fixture(credentials_fixture)
        self.assertIsNone(credentials_fixture.credentials)
        self.assertEqual('', credentials_fixture.cloud_name)
예제 #5
0
 def test_setup_from_yml(self):
     file_fixture = self.useFixture(V3CloudsFileFixture(suffix='.yml'))
     credentials_fixture = self.useFixture(
         keystone.CloudsFileKeystoneCredentialsFixture(
             cloud_name=file_fixture.cloud_name,
             clouds_file=file_fixture.clouds_file))
     self.assertEqual(file_fixture.clouds_content,
                      credentials_fixture.clouds_content)
     self.assertEqual(test_credentials.V3_PARAMS,
                      credentials_fixture.credentials.to_dict())
예제 #6
0
 def test_setup_v2_credentials(self):
     file_fixture = self.useFixture(V2CloudsFileFixture())
     credentials_fixture = self.useFixture(
         keystone.CloudsFileKeystoneCredentialsFixture(
             cloud_name=file_fixture.cloud_name,
             clouds_file=file_fixture.clouds_file))
     self.assertEqual(file_fixture.clouds_content,
                      credentials_fixture.clouds_content)
     self.assertEqual(test_credentials.V2_PARAMS,
                      credentials_fixture.credentials.to_dict())
예제 #7
0
 def test_setup_with_no_auth_url(self):
     clouds_content = make_clouds_content('cloud-name', auth={})
     fixture = keystone.CloudsFileKeystoneCredentialsFixture(
         cloud_name='cloud-name',
         clouds_content=clouds_content,
         clouds_file='cloud-file')
     ex = self.assertRaises(ValueError, tobiko.setup_fixture, fixture)
     self.assertEqual('cloud-name', fixture.cloud_name)
     self.assertEqual(
         "No such 'auth_url' in file 'cloud-file' for cloud name "
         "'cloud-name'", str(ex))
예제 #8
0
 def test_setup_with_no_clouds_section(self):
     fixture = keystone.CloudsFileKeystoneCredentialsFixture(
         cloud_name='cloud-name',
         clouds_content={'other_data': None},
         clouds_file='clouds-file')
     ex = self.assertRaises(ValueError, tobiko.setup_fixture, fixture)
     self.assertEqual('cloud-name', fixture.cloud_name)
     self.assertEqual({'other_data': None}, fixture.clouds_content)
     self.assertEqual(
         "'clouds' section not found in clouds file "
         "'clouds-file'", str(ex))
예제 #9
0
 def test_setup_from_default_clouds_files(self):
     file_fixture = self.useFixture(V3CloudsFileFixture())
     self.patch(self.config, 'clouds_files',
                ['/a', file_fixture.clouds_file, '/c'])
     credentials_fixture = self.useFixture(
         keystone.CloudsFileKeystoneCredentialsFixture(
             cloud_name=file_fixture.cloud_name))
     self.assertEqual(file_fixture.clouds_content,
                      credentials_fixture.clouds_content)
     self.assertEqual(test_credentials.V3_PARAMS,
                      credentials_fixture.credentials.to_dict())
예제 #10
0
    def test_setup_with_no_cloud_name(self):
        self.patch(self.config, 'cloud_name', None)

        file_fixture = self.useFixture(V2CloudsFileFixture())
        credentials_fixture = keystone.CloudsFileKeystoneCredentialsFixture(
            clouds_file=file_fixture.clouds_file)

        self.assertIsNone(credentials_fixture.credentials)
        self.assertIsNone(credentials_fixture.cloud_name)
        tobiko.setup_fixture(credentials_fixture)
        self.assertIsNone(credentials_fixture.credentials)
        self.assertIsNone(credentials_fixture.cloud_name)
예제 #11
0
    def test_setup_with_empty_cloud_name_from_env(self):
        self.patch(self.config, 'cloud_name', None)

        file_fixture = self.useFixture(V2CloudsFileFixture())
        self.patch(os, 'environ', {'OS_CLOUD': ''})
        credentials_fixture = keystone.CloudsFileKeystoneCredentialsFixture(
            clouds_file=file_fixture.clouds_file)

        self.assertIsNone(credentials_fixture.credentials)
        self.assertIsNone(credentials_fixture.cloud_name)
        tobiko.setup_fixture(credentials_fixture)
        self.assertIsNone(credentials_fixture.credentials)
        self.assertIsNone(credentials_fixture.cloud_name)
예제 #12
0
 def test_setup_with_non_existing_clouds_file(self):
     fixture = keystone.CloudsFileKeystoneCredentialsFixture(
         clouds_file='/a.yaml', cloud_name='cloud-name')
     ex = self.assertRaises(_clouds_file.CloudsFileNotFoundError,
                            tobiko.setup_fixture, fixture)
     self.assertEqual("No such clouds file(s): /a.yaml", str(ex))
예제 #13
0
 def test_init_with_clouds_files(self):
     fixture = keystone.CloudsFileKeystoneCredentialsFixture(
         clouds_files=['a', 'b', 'd'])
     self.assertEqual(['a', 'b', 'd'], fixture.clouds_files)
예제 #14
0
 def test_init_with_clouds_file(self):
     fixture = keystone.CloudsFileKeystoneCredentialsFixture(
         clouds_file='cloud-file')
     self.assertEqual('cloud-file', fixture.clouds_file)
예제 #15
0
 def test_init_with_clouds_content(self):
     fixture = keystone.CloudsFileKeystoneCredentialsFixture(
         clouds_content={})
     self.assertEqual({}, fixture.clouds_content)
예제 #16
0
 def test_init(self):
     fixture = keystone.CloudsFileKeystoneCredentialsFixture()
     self.assertEqual(self.config.cloud_name, fixture.cloud_name)
     self.assertIsNone(fixture.clouds_content)
     self.assertIsNone(fixture.clouds_file)
     self.assertEqual(self.config.clouds_files, fixture.clouds_files)