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))
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))
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))
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)
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())
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())
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))
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))
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())
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)
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)
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))
def test_init_with_clouds_files(self): fixture = keystone.CloudsFileKeystoneCredentialsFixture( clouds_files=['a', 'b', 'd']) self.assertEqual(['a', 'b', 'd'], fixture.clouds_files)
def test_init_with_clouds_file(self): fixture = keystone.CloudsFileKeystoneCredentialsFixture( clouds_file='cloud-file') self.assertEqual('cloud-file', fixture.clouds_file)
def test_init_with_clouds_content(self): fixture = keystone.CloudsFileKeystoneCredentialsFixture( clouds_content={}) self.assertEqual({}, fixture.clouds_content)
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)