def test_list_providers_by_tag(self, *args): ProviderFactory(tags=[{'key': 'tag_key_1', 'value': 'tag_value_1'}]) provider_vos = ProviderFactory.build_batch(9) list(map(lambda vo: vo.save(), provider_vos)) params = { 'query': { 'filter': [{ 'k': 'tags.tag_key_1', 'v': 'tag_value_1', 'o': 'eq' }] }, 'domain_id': self.domain_id } self.transaction.method = 'list' provider_svc = ProviderService(transaction=self.transaction) providers_vos, total_count = provider_svc.list(params) ProvidersInfo(providers_vos, total_count) self.assertEqual(len(providers_vos), 1) self.assertIsInstance(providers_vos[0], Provider) self.assertEqual(total_count, 1)
def test_stat_provider(self, *args): provider_vos = ProviderFactory.build_batch(10) list(map(lambda vo: vo.save(), provider_vos)) params = { 'query': { 'aggregate': { 'group': { 'keys': [{ 'key': 'provider', 'name': 'Provider' }], 'fields': [{ 'operator': 'count', 'name': 'Count' }] } }, 'sort': { 'name': 'Count', 'desc': True } }, 'domain_id': self.domain_id } self.transaction.method = 'stat' provider_svc = ProviderService(transaction=self.transaction) values = provider_svc.stat(params) StatisticsInfo(values) print_data(values, 'test_stat_provider')
def test_update_provider(self, *args): new_provider_vo = ProviderFactory(provider='aws') params = { 'provider': new_provider_vo.provider, 'name': 'Update AWS', 'template': {}, 'metadata': {}, 'tags': [{ 'key': 'update_key', 'value': 'update_value' }], 'domain_id': self.domain_id } self.transaction.method = 'update' provider_svc = ProviderService(transaction=self.transaction) provider_vo = provider_svc.update(params.copy()) print_data(provider_vo.to_dict(), 'test_update_provider') ProviderInfo(provider_vo) self.assertIsInstance(provider_vo, Provider) self.assertEqual(new_provider_vo.provider, provider_vo.provider) self.assertEqual(params['name'], provider_vo.name) self.assertEqual(params['template'], provider_vo.template) self.assertEqual(params['metadata'], provider_vo.metadata) self.assertEqual(params['tags'], provider_vo.to_dict()['tags'])
def setUpClass(cls): config.init_conf(package='spaceone.identity') config.set_service_config() config.set_global(MOCK_MODE=True) connect('test', host='mongomock://localhost') ProviderFactory(provider='aws', name='AWS', template={ 'service_account': { 'schema': { 'type': 'object', 'properties': { 'account_id': { 'title': 'Account ID', 'type': 'string' } }, 'required': ['account_id'] } } }) cls.domain_id = utils.generate_id('domain') cls.transaction = Transaction({ 'service': 'identity', 'api_class': 'ServiceAccount' }) super().setUpClass()
def test_delete_provider(self, *args): new_provider_vo = ProviderFactory() params = { 'provider': new_provider_vo.provider, 'domain_id': self.domain_id } self.transaction.method = 'delete' provider_svc = ProviderService(transaction=self.transaction) result = provider_svc.delete(params) self.assertIsNone(result)
def test_list_providers_by_name(self, *args): provider_vos = ProviderFactory.build_batch(10) list(map(lambda vo: vo.save(), provider_vos)) params = {'name': provider_vos[0].name, 'domain_id': self.domain_id} self.transaction.method = 'list' provider_svc = ProviderService(transaction=self.transaction) providers_vos, total_count = provider_svc.list(params) ProvidersInfo(providers_vos, total_count) self.assertEqual(len(providers_vos), 1) self.assertIsInstance(providers_vos[0], Provider) self.assertEqual(total_count, 1)
def test_get_provider(self, *args): new_provider_vo = ProviderFactory() params = { 'provider': new_provider_vo.provider, 'domain_id': self.domain_id } self.transaction.method = 'get' provider_svc = ProviderService(transaction=self.transaction) provider_vo = provider_svc.get(params) print_data(provider_vo.to_dict(), 'test_get_provider') ProviderInfo(provider_vo) self.assertIsInstance(provider_vo, Provider)
def list_providers(self, params): return ProviderFactory.build_batch(10, **params), 10
def get_provider(self, params): return ProviderFactory(**params)
def update_provider(self, params): return ProviderFactory(**params)
def update(self, params): params = copy.deepcopy(params) if 'tags' in params: params['tags'] = utils.dict_to_tags(params['tags']) return ProviderFactory(**params)
def create(self, params): return ProviderFactory(**params)