Пример #1
0
    def test_harvest_params(self, mock_get):
        # Arrange
        mock_get.return_value.status_code = status.HTTP_200_OK
        mock_get.return_value.text = OaiPmhMock.mock_oai_response_list_records(
        )
        expected_params = {
            "verb": "ListRecords",
            "metadataPrefix": self.metadata_prefix,
            "set": self.set,
            "from": self.from_,
            "until": self.until,
        }

        # Act
        oai_verbs_api.list_records(
            url=self.url,
            metadata_prefix=self.metadata_prefix,
            set_h=self.set,
            from_date=self.from_,
            until_date=self.until,
        )

        # Assert
        mock_get.assert_called_with(self.url,
                                    expected_params,
                                    verify=SSL_CERTIFICATES_DIR)
Пример #2
0
    def test_harvest_registry_updates_dates(self, mock_convert_file, mock_get):
        """Test harvest update
        Args:
            mock_get:
            mock_convert_file:

        Returns:

        """
        # Arrange
        mock_get.return_value.status_code = status.HTTP_200_OK
        mock_get.return_value.text = OaiPmhMock.mock_oai_response_list_records(
            with_resumption_token=False)
        mock_convert_file.return_value = None

        # Assert
        # Registry date
        self.assertEquals(self.fixture.registry.last_update, None)

        # Act
        result = oai_registry_api.harvest_registry(self.fixture.registry)

        # Assert
        self.assertEquals(result, [])
        # Registry date
        self.assertNotEquals(self.fixture.registry.last_update, None)
Пример #3
0
    def test_harvest_by_metadata_formats_and_sets_saves_record(
            self, mock_convert_file, mock_get):
        """Test harvest by metadata formats and sets save
        Args:
            mock_get:

        Returns:

        """
        # Arrange
        mock_get.return_value.status_code = status.HTTP_200_OK
        mock_get.return_value.text = OaiPmhMock.mock_oai_response_list_records(
            with_resumption_token=False)
        metadata_format = [self.fixture.oai_metadata_formats[0]]
        set_ = [self.fixture.oai_sets[0]]
        mock_convert_file.return_value = None

        # Act
        result = oai_registry_api._harvest_by_metadata_formats_and_sets(
            self.fixture.registry, metadata_format, set_,
            self.fixture.oai_sets)

        # Assert
        record_in_database = oai_record_api.get_all_by_registry_id(
            self.fixture.registry.id)
        self.assertEquals(result, [])
        self.assertTrue(len(record_in_database) > 0)
Пример #4
0
    def test_harvest_params_with_resumption_token(self, mock_get):
        # Arrange
        mock_get.return_value.status_code = status.HTTP_200_OK
        mock_get.return_value.text = OaiPmhMock.mock_oai_response_list_records()
        resumption_token = "h34fh"
        expected_params = {'verb': 'ListRecords', 'resumptionToken': "h34fh"}

        # Act
        oai_verbs_api.list_records(url=self.url, metadata_prefix=self.metadata_prefix,
                                   set_h=self.set, from_date=self.from_, until_date=self.until,
                                   resumption_token=resumption_token)

        # Asset
        mock_get.assert_called_with(self.url, expected_params, verify=SSL_CERTIFICATES_DIR)
Пример #5
0
    def test_harvest_params_returns_serialized_data_and_resumption_token(self, mock_get):
        # Arrange
        mock_get.return_value.status_code = status.HTTP_200_OK
        mock_get.return_value.text = OaiPmhMock.mock_oai_response_list_records()
        resumption_token = "h34fh"

        # Act
        result, resumption_token = oai_verbs_api.list_records(url=self.url, metadata_prefix=self.metadata_prefix,
                                                              set_h=self.set, from_date=self.from_,
                                                              until_date=self.until, resumption_token=resumption_token)

        # Asset
        self.assertEqual(result.status_code, status.HTTP_200_OK)
        self.assertNotEqual(resumption_token, None)
        self.assertTrue(len(result.data), 1)
Пример #6
0
    def test_harvest_params(self, mock_get):
        # Arrange
        mock_get.return_value.status_code = status.HTTP_200_OK
        mock_get.return_value.text = OaiPmhMock.mock_oai_response_list_records()
        expected_params = {'verb': 'ListRecords',
                           'metadataPrefix': self.metadata_prefix,
                           'set': self.set,
                           'from': self.from_,
                           'until': self.until
                           }

        # Act
        oai_verbs_api.list_records(url=self.url, metadata_prefix=self.metadata_prefix,
                                   set_h=self.set, from_date=self.from_, until_date=self.until)

        # Assert
        mock_get.assert_called_with(self.url, expected_params, verify=SSL_CERTIFICATES_DIR)
Пример #7
0
    def test_harvest_by_metadata_formats_and_sets_updates_dates(
            self, mock_convert_file, mock_get):
        """Test harvest by metadata formats and sets update
        Args:
            mock_get:

        Returns:

        """
        # Arrange
        mock_get.return_value.status_code = status.HTTP_200_OK
        mock_get.return_value.text = OaiPmhMock.mock_oai_response_list_records(
            with_resumption_token=False)
        metadata_format = self.fixture.oai_metadata_formats[0]
        set_ = self.fixture.oai_sets[0]
        mock_convert_file.return_value = None

        # Assert
        # Metadata Format date
        self.assertEquals(metadata_format.last_update, None)
        # Metadata Format + Set date
        with self.assertRaises(exceptions.DoesNotExist):
            oai_harvester_metadata_format_set_api.get_by_metadata_format_and_set(
                metadata_format, set_)

        # Act
        result = oai_registry_api._harvest_by_metadata_formats_and_sets(
            self.fixture.registry, [metadata_format], [set_],
            self.fixture.oai_sets)

        # Assert
        self.assertEquals(result, [])
        # Metadata Format date
        metadata_format_in_database = oai_harvester_metadata_format_api.get_by_id(
            metadata_format.id)
        self.assertNotEquals(metadata_format_in_database.last_update, None)
        # Metadata Format + Set date
        oai_h_mf_set = (oai_harvester_metadata_format_set_api.
                        get_by_metadata_format_and_set(metadata_format, set_))
        self.assertNotEquals(oai_h_mf_set.last_update, None)
Пример #8
0
    def test_harvest_registry_saves_record(self, mock_convert_file, mock_get):
        """Test harvest save
        Args:
            mock_get:
            mock_convert_file:

        Returns:

        """
        # Arrange
        mock_get.return_value.status_code = status.HTTP_200_OK
        mock_get.return_value.text = OaiPmhMock.mock_oai_response_list_records(
            with_resumption_token=False)
        mock_convert_file.return_value = None

        # Act
        result = oai_registry_api.harvest_registry(self.fixture.registry)

        # Assert
        record_in_database = oai_record_api.get_all_by_registry_id(
            self.fixture.registry.id)
        self.assertEquals(result, [])
        self.assertTrue(len(record_in_database) > 0)