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' )
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')
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')