Exemple #1
0
    def test_work_with_sample_and_filters(self):
        result = restful.Works(etiquette=self.etiquette).filter(
            type='journal-article').sample(5).url

        self.assertEqual(
            result,
            'https://api.crossref.org/works?filter=type%3Ajournal-article&sample=5'
        )
Exemple #2
0
    def test_work_select_fields_multiple_parameter_and_array(self):
        result = restful.Works(etiquette=self.etiquette).select(
            'DOI', 'title').select('subject').select(
                ['relation', 'editor']).select('relation, editor').url

        self.assertEqual(
            result,
            'https://api.crossref.org/works?select=DOI%2Ceditor%2Crelation%2Csubject%2Ctitle'
        )
    def test_work_agency_header(self):
        """
        Testing the base structure for the /works/{DOI}/agency endpoint.
        If all the base structure is present, this test may not lead to dict
        keyerror exceptions.
        """
        works = restful.Works(etiquette=self.etiquette)

        result = works.agency('10.1590/S0102-09352010000200002', only_message=False)

        self.assertEqual(result['message-type'], 'work-agency')
    def test_work_agency_message(self):
        """
        Testing the base structure for the /works/{DOI}/agency endpoint.
        If all the base structure is present, this test may not lead to dict
        keyerror exceptions.
        """
        works = restful.Works(etiquette=self.etiquette)

        result = works.agency('10.1590/S0102-09352010000200002')

        self.assertEqual(result['agency']['id'], 'crossref')
Exemple #5
0
    def native(self):
        """
        DOI metadata in the schema specific to the registration agency--in 
        this case, Datacite.
        """
        if self._native is None:
            if self.log and not self.client_info:
                self.log.warn("Crossref client info not set; " +
                              "call nistoar.doi.set_client() to set")

            self._native = xref.Works(etiquette=self.client_info).doi(self.id)

        return self._native
    def test_work_with_sample(self):
        result = restful.Works(etiquette=self.etiquette).sample(5).url

        self.assertEqual(result, 'https://api.crossref.org/works?sample=5')
    def test_work_select_fields(self):
        result = restful.Works(etiquette=self.etiquette).select('DOI').url

        self.assertEqual(result, 'https://api.crossref.org/works?select=DOI')