コード例 #1
0
ファイル: geonode.py プロジェクト: ridhodwid/geonode
 def test_get_num_available_resources_by_type(self):
     """
     Test function of _get_num_available_resources_by_type
     """
     worker = GeonodeLegacyHarvester(remote_url=self.remote_url,
                                     harvester_id=1)
     self.assertEqual(worker._get_num_available_resources_by_type(),
                      test_resources)
     self.assertEqual(
         worker._get_total_records(GeoNodeResourceType.DATASET),
         test_resources[GeoNodeResourceType.DATASET])
     self.assertEqual(
         worker._get_total_records(GeoNodeResourceType.DOCUMENT),
         test_resources[GeoNodeResourceType.DOCUMENT])
     self.assertEqual(worker._get_total_records(GeoNodeResourceType.MAP),
                      test_resources[GeoNodeResourceType.MAP])
コード例 #2
0
ファイル: geonode.py プロジェクト: ridhodwid/geonode
    def test_worker_from_django_record(self):
        """
        Test worker that genearted by harvester
        """
        harvester = Harvester.objects.create(
            remote_url=self.remote_url,
            name=self.name,
            default_owner=self.user,
            harvester_type=self.harvester_type,
            harvester_type_specific_configuration={
                'harvest_documents': False,
                'harvest_datasets': True,
                'resource_title_filter': ''
            })
        worker = GeonodeLegacyHarvester.from_django_record(harvester)
        self.assertEqual(worker.__class__, GeonodeLegacyHarvester)
        self.assertEqual(worker.remote_url, self.remote_url)
        self.assertEqual(harvester.default_owner, self.user)

        self.assertFalse(worker.harvest_documents)
        self.assertTrue(worker.harvest_datasets)
        self.assertTrue(worker.harvest_maps)
        self.assertEqual(worker.resource_name_filter, '')
コード例 #3
0
ファイル: geonode.py プロジェクト: ridhodwid/geonode
 def setUp(self):
     super().setUp()
     self.worker = GeonodeLegacyHarvester(remote_url=self.remote_url,
                                          harvester_id=1)
コード例 #4
0
ファイル: geonode.py プロジェクト: ridhodwid/geonode
class TestGeonodeHarvester(GeoNodeBaseTestSupport):
    """
    Test GeonodeLegacyHarvester
    """
    remote_url = 'test.com'
    name = 'This is geonode harvester'
    user = get_user_model().objects.get(username='******')
    harvester_type = 'geonode.harvesting.harvesters.geonode.GeonodeLegacyHarvester'

    def setUp(self):
        super().setUp()
        self.worker = GeonodeLegacyHarvester(remote_url=self.remote_url,
                                             harvester_id=1)

    def test_base_api_url(self):
        """
        Test the return of base_api_url
        """
        self.assertEqual(self.worker.base_api_url, f"{self.remote_url}/api")

    def test_allows_copying_resources(self):
        """
        Test the return of allows_copying_resources
        """
        self.assertTrue(self.worker.allows_copying_resources)

    @patch(
        "geonode.harvesting.harvesters.geonode.GeonodeLegacyHarvester._get_total_records",
        geonode_get_total_records)
    def test_get_num_available_resources_by_type(self):
        """
        Test function of _get_num_available_resources_by_type
        """
        worker = GeonodeLegacyHarvester(remote_url=self.remote_url,
                                        harvester_id=1)
        self.assertEqual(worker._get_num_available_resources_by_type(),
                         test_resources)
        self.assertEqual(
            worker._get_total_records(GeoNodeResourceType.DATASET),
            test_resources[GeoNodeResourceType.DATASET])
        self.assertEqual(
            worker._get_total_records(GeoNodeResourceType.DOCUMENT),
            test_resources[GeoNodeResourceType.DOCUMENT])
        self.assertEqual(worker._get_total_records(GeoNodeResourceType.MAP),
                         test_resources[GeoNodeResourceType.MAP])

    @patch(
        "geonode.harvesting.harvesters.geonode.GeonodeLegacyHarvester._get_total_records",
        geonode_get_total_records)
    def test_get_num_available_resources(self):
        """
        Test function of get_num_available_resources for each of type in GeonodeLegacyHarvester
        """
        params = {'remote_url': self.remote_url, 'harvester_id': 1}
        # test worker that harvest all type
        worker = GeonodeLegacyHarvester(**params)
        self.assertEqual(worker.get_num_available_resources(), 6)

        # test worker with skip document
        worker = GeonodeLegacyHarvester(**params, harvest_documents=False)
        self.assertEqual(worker.get_num_available_resources(), 4)

        # test worker with skip layer
        worker = GeonodeLegacyHarvester(**params, harvest_datasets=False)
        self.assertEqual(worker.get_num_available_resources(), 5)

        # test worker with skip maps
        worker = GeonodeLegacyHarvester(**params, harvest_maps=False)
        self.assertEqual(worker.get_num_available_resources(), 3)

    @patch(
        "geonode.harvesting.harvesters.geonode.GeonodeLegacyHarvester._list_resources_by_type",
        geonode_list_resources_by_type)
    def test_list_resources_by_type(self):
        """
        Test _list_resources_by_type function for every type in GeonodeLegacyHarvester
        """
        self.assertEqual(
            self.worker._list_resources_by_type(GeoNodeResourceType.DATASET,
                                                0)[0].resource_type,
            GeoNodeResourceType.DATASET.value)
        self.assertEqual(
            self.worker._list_dataset_resources(1)[0].resource_type,
            GeoNodeResourceType.DATASET.value)

        self.assertEqual(
            self.worker._list_resources_by_type(GeoNodeResourceType.DOCUMENT,
                                                0)[0].resource_type,
            GeoNodeResourceType.DOCUMENT.value)
        self.assertEqual(
            self.worker._list_document_resources(1)[0].resource_type,
            GeoNodeResourceType.DOCUMENT.value)

        self.assertEqual(
            self.worker._list_resources_by_type(GeoNodeResourceType.MAP,
                                                0)[0].resource_type,
            GeoNodeResourceType.MAP.value)
        self.assertEqual(
            self.worker._list_map_resources(1)[0].resource_type,
            GeoNodeResourceType.MAP.value)

    def test_extract_unique_identifier(self):
        """
        Test _extract_unique_identifier function
        """
        self.assertEqual(self.worker._extract_unique_identifier({'id': 1}), 1)

    def test_worker_from_django_record(self):
        """
        Test worker that genearted by harvester
        """
        harvester = Harvester.objects.create(
            remote_url=self.remote_url,
            name=self.name,
            default_owner=self.user,
            harvester_type=self.harvester_type,
            harvester_type_specific_configuration={
                'harvest_documents': False,
                'harvest_datasets': True,
                'resource_title_filter': ''
            })
        worker = GeonodeLegacyHarvester.from_django_record(harvester)
        self.assertEqual(worker.__class__, GeonodeLegacyHarvester)
        self.assertEqual(worker.remote_url, self.remote_url)
        self.assertEqual(harvester.default_owner, self.user)

        self.assertFalse(worker.harvest_documents)
        self.assertTrue(worker.harvest_datasets)
        self.assertTrue(worker.harvest_maps)
        self.assertEqual(worker.resource_name_filter, '')
コード例 #5
0
ファイル: geonode.py プロジェクト: ridhodwid/geonode
    def test_get_num_available_resources(self):
        """
        Test function of get_num_available_resources for each of type in GeonodeLegacyHarvester
        """
        params = {'remote_url': self.remote_url, 'harvester_id': 1}
        # test worker that harvest all type
        worker = GeonodeLegacyHarvester(**params)
        self.assertEqual(worker.get_num_available_resources(), 6)

        # test worker with skip document
        worker = GeonodeLegacyHarvester(**params, harvest_documents=False)
        self.assertEqual(worker.get_num_available_resources(), 4)

        # test worker with skip layer
        worker = GeonodeLegacyHarvester(**params, harvest_datasets=False)
        self.assertEqual(worker.get_num_available_resources(), 5)

        # test worker with skip maps
        worker = GeonodeLegacyHarvester(**params, harvest_maps=False)
        self.assertEqual(worker.get_num_available_resources(), 3)