コード例 #1
0
    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
コード例 #2
0
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)
コード例 #3
0
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')
コード例 #4
0
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)