class CatalogManagementUnitTest(PyonTestCase): def setUp(self): super(CatalogManagementUnitTest, self).setUp() mock_clients = self._create_service_mock('catalog_management') self.catalog_management = CatalogManagementService() self.catalog_management.clients = mock_clients self.rr_create = mock_clients.resource_registry.create self.rr_read = mock_clients.resource_registry.read self.rr_update = mock_clients.resource_registry.update self.rr_delete = mock_clients.resource_registry.delete self.rr_find_assoc = mock_clients.resource_registry.find_associations self.rr_find_res = mock_clients.resource_registry.find_resources self.rr_find_obj = mock_clients.resource_registry.find_objects self.rr_create_assoc = mock_clients.resource_registry.create_association self.ims_list_indexes = mock_clients.index_management.list_indexes def test_create_catalog(self): self.rr_find_res.return_value = ([],[]) fake_indexes = [ DotDict({'_id':'1', 'name':'one', 'options' : {'attribute_match':['attr_field'],'range_fields':[], 'geo_fields':[] }}), DotDict({'_id':'1', 'name':'two', 'options' : {'attribute_match':[],'range_fields':['range_field'], 'geo_fields':[] }}), DotDict({'_id':'1', 'name':'three', 'options' : {'attribute_match':[],'range_fields':['range_field'], 'geo_fields':['geo_field'] }}) ] def find_res(*args, **kwargs): retval = {} for d in fake_indexes: retval[d.name] = d return retval self.ims_list_indexes.side_effect = find_res self.rr_create.return_value = 'cat_id','rev' retval = self.catalog_management.create_catalog('catalog_name',['range_field','geo_field']) self.assertTrue(self.rr_create_assoc.call_count==1, 'Not enough associations %d' % self.rr_create_assoc.call_count) retval = self.catalog_management.create_catalog('catalog_name',['range_field']) self.assertTrue(self.rr_create_assoc.call_count==3, 'Not enough associations %d' % self.rr_create_assoc.call_count) self.assertTrue(retval=='cat_id') def test_update_catalog(self): # Mocks catalog_res = Catalog() # Execution self.catalog_management.update_catalog(catalog_res) # Assertions self.assertTrue(self.rr_update.called, "Improper update of resource") def test_read_catalog(self): # Mocks catalog_res = dict(check=True) self.rr_read.return_value = catalog_res # Execution retval = self.catalog_management.read_catalog('catalog_id') # Assertions self.rr_read.assert_called_once_with('catalog_id', '') self.assertTrue(retval['check']) def test_delete_catalog(self): # Mocks # Execution self.catalog_management.delete_catalog('catalog_id') # Assertions self.rr_delete.assert_called_once_with('catalog_id')
class CatalogManagementUnitTest(PyonTestCase): def setUp(self): super(CatalogManagementUnitTest, self).setUp() mock_clients = self._create_service_mock('catalog_management') self.catalog_management = CatalogManagementService() self.catalog_management.clients = mock_clients self.rr_create = mock_clients.resource_registry.create self.rr_read = mock_clients.resource_registry.read self.rr_update = mock_clients.resource_registry.update self.rr_delete = mock_clients.resource_registry.delete self.rr_find_assoc = mock_clients.resource_registry.find_associations self.rr_find_assocs_mult = mock_clients.resource_registry.find_associations_mult self.rr_find_res = mock_clients.resource_registry.find_resources self.rr_find_obj = mock_clients.resource_registry.find_objects self.rr_find_subj = mock_clients.resource_registry.find_subjects self.rr_delete_assoc = mock_clients.resource_registry.delete_association self.rr_create_assoc = mock_clients.resource_registry.create_association self.ims_list_indexes = mock_clients.index_management.list_indexes def test_create_catalog(self): self.rr_find_res.return_value = ([],[]) fake_indexes = [ DotDict({'_id':'1', 'name':'one', 'options' : {'attribute_match':['attr_field'],'range_fields':[], 'geo_fields':[] }}), DotDict({'_id':'1', 'name':'two', 'options' : {'attribute_match':[],'range_fields':['range_field'], 'geo_fields':[] }}), DotDict({'_id':'1', 'name':'three', 'options' : {'attribute_match':[],'range_fields':['range_field'], 'geo_fields':['geo_field'] }}) ] def find_res(*args, **kwargs): retval = {} for d in fake_indexes: retval[d.name] = d return retval self.ims_list_indexes.side_effect = find_res self.rr_create.return_value = 'cat_id','rev' retval = self.catalog_management.create_catalog('catalog_name',['range_field','geo_field']) self.assertTrue(self.rr_create_assoc.call_count==1, 'Not enough associations %d' % self.rr_create_assoc.call_count) retval = self.catalog_management.create_catalog('catalog_name',['range_field']) self.assertTrue(self.rr_create_assoc.call_count==3, 'Not enough associations %d' % self.rr_create_assoc.call_count) self.assertTrue(retval=='cat_id') def test_update_catalog(self): # Mocks catalog_res = Catalog() # Execution self.catalog_management.update_catalog(catalog_res) # Assertions self.assertTrue(self.rr_update.called, "Improper update of resource") def test_read_catalog(self): # Mocks catalog_res = dict(check=True) self.rr_read.return_value = catalog_res # Execution retval = self.catalog_management.read_catalog('catalog_id') # Assertions self.rr_read.assert_called_once_with('catalog_id', '') self.assertTrue(retval['check']) def test_delete_catalog(self): index_assoc = DotDict(_id=1) # Mocks self.rr_find_assocs_mult.return_value = ([],[index_assoc]) # Execution self.catalog_management.delete_catalog('catalog_id') # Assertions self.rr_delete.assert_called_once_with('catalog_id') self.assertTrue(self.rr_delete_assoc.call_count == 1)
class CatalogManagementUnitTest(PyonTestCase): def setUp(self): super(CatalogManagementUnitTest, self).setUp() mock_clients = self._create_service_mock("catalog_management") self.catalog_management = CatalogManagementService() self.catalog_management.clients = mock_clients self.rr_create = mock_clients.resource_registry.create self.rr_read = mock_clients.resource_registry.read self.rr_update = mock_clients.resource_registry.update self.rr_delete = mock_clients.resource_registry.delete self.rr_find_assoc = mock_clients.resource_registry.find_associations self.rr_find_assocs_mult = mock_clients.resource_registry.find_associations_mult self.rr_find_res = mock_clients.resource_registry.find_resources self.rr_find_obj = mock_clients.resource_registry.find_objects self.rr_find_subj = mock_clients.resource_registry.find_subjects self.rr_delete_assoc = mock_clients.resource_registry.delete_association self.rr_create_assoc = mock_clients.resource_registry.create_association self.ims_list_indexes = mock_clients.index_management.list_indexes def test_create_catalog(self): self.rr_find_res.return_value = ([], []) fake_indexes = [ DotDict( { "_id": "1", "name": "one", "options": {"attribute_match": ["attr_field"], "range_fields": [], "geo_fields": []}, } ), DotDict( { "_id": "1", "name": "two", "options": {"attribute_match": [], "range_fields": ["range_field"], "geo_fields": []}, } ), DotDict( { "_id": "1", "name": "three", "options": {"attribute_match": [], "range_fields": ["range_field"], "geo_fields": ["geo_field"]}, } ), ] def find_res(*args, **kwargs): retval = {} for d in fake_indexes: retval[d.name] = d return retval self.ims_list_indexes.side_effect = find_res self.rr_create.return_value = "cat_id", "rev" retval = self.catalog_management.create_catalog("catalog_name", ["range_field", "geo_field"]) self.assertTrue( self.rr_create_assoc.call_count == 1, "Not enough associations %d" % self.rr_create_assoc.call_count ) retval = self.catalog_management.create_catalog("catalog_name", ["range_field"]) self.assertTrue( self.rr_create_assoc.call_count == 3, "Not enough associations %d" % self.rr_create_assoc.call_count ) self.assertTrue(retval == "cat_id") def test_update_catalog(self): # Mocks catalog_res = Catalog() # Execution self.catalog_management.update_catalog(catalog_res) # Assertions self.assertTrue(self.rr_update.called, "Improper update of resource") def test_read_catalog(self): # Mocks catalog_res = dict(check=True) self.rr_read.return_value = catalog_res # Execution retval = self.catalog_management.read_catalog("catalog_id") # Assertions self.rr_read.assert_called_once_with("catalog_id", "") self.assertTrue(retval["check"]) def test_delete_catalog(self): index_assoc = DotDict(_id=1) # Mocks self.rr_find_assocs_mult.return_value = ([], [index_assoc]) # Execution self.catalog_management.delete_catalog("catalog_id") # Assertions self.rr_delete.assert_called_once_with("catalog_id") self.assertTrue(self.rr_delete_assoc.call_count == 1)