Coverage for test / get_pub_test.py: 98%

52 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-25 18:06 +0000

1# SPDX-FileCopyrightText: 2023-2024 Arianna Moretti <arianna.moretti4@unibo.it> 

2# 

3# SPDX-License-Identifier: ISC 

4 

5import unittest 

6from oc_ds_converter.pubmed.get_publishers import ExtractPublisherDOI 

7 

8 

9class MyTestCase(unittest.TestCase): 

10 

11 def test_get_pub_API_crossref(self): 

12 e_p_doi = ExtractPublisherDOI({}) 

13 pub_1016 = e_p_doi.extract_publishers_v("10.1016/0005-2728(75)90129-2") 

14 pub_1136 = e_p_doi.extract_publishers_v("10.1136/bmj.4.5994.440") 

15 pub_1021 = e_p_doi.extract_publishers_v("10.1021/bi00695a008") 

16 pub_1007 = e_p_doi.extract_publishers_v("10.1007/bmj.4.5994.440") 

17 pub_1097 = e_p_doi.extract_publishers_v("10.1097/00003246-197507000-00003") 

18 pub_1378 = e_p_doi.extract_publishers_v("10.1378/chest.68.6.814") 

19 pub_1055 = e_p_doi.extract_publishers_v("10.1055/s-0028-1106478") 

20 pub_1080 = e_p_doi.extract_publishers_v("10.1080/0743580750908416") 

21 pub_1210 = e_p_doi.extract_publishers_v("10.1210/endo-97-4-855") 

22 pub_1159 = e_p_doi.extract_publishers_v("10.1159/000458949") 

23 

24 

25 self.assertEqual(pub_1016, "Elsevier BV") 

26 self.assertEqual(pub_1136, "BMJ") 

27 self.assertEqual(pub_1021, "American Chemical Society (ACS)") 

28 self.assertEqual(pub_1007, "Springer Science and Business Media LLC") 

29 self.assertEqual(pub_1097, "Ovid Technologies (Wolters Kluwer Health)") 

30 self.assertEqual(pub_1378, "Elsevier BV") 

31 self.assertEqual(pub_1055, "Georg Thieme Verlag KG") 

32 self.assertEqual(pub_1080, "Informa UK Limited") 

33 self.assertEqual(pub_1210, "The Endocrine Society") 

34 self.assertEqual(pub_1159, "S. Karger AG") 

35 

36 def test_get_pref_info_from_dict(self): 

37 dataicte_doi = "10.14454/FXWS-0523" 

38 crossref_doi = "10.1021/bi00695a008" 

39 made_up_dict_crossref = {'10.1021': {'name': 'A Fake Publisher', 'crossref_member': '239', 'from': 'Crossref'}} 

40 made_up_dict_external = {'10.14454': {'name': 'A Fake Datacite Publisher', 'from': 'datacite'}} 

41 

42 e_p_doi_1 = ExtractPublisherDOI(made_up_dict_crossref) 

43 e_p_doi_2 = ExtractPublisherDOI(made_up_dict_external) 

44 

45 pub_d = e_p_doi_2.extract_publishers_v(dataicte_doi) 

46 pub_c = e_p_doi_1.extract_publishers_v(crossref_doi) 

47 self.assertEqual(pub_d, "A Fake Datacite Publisher") 

48 self.assertEqual(pub_c, "A Fake Publisher") 

49 

50 # TO BE TESTED IN FUTURE 

51 # 13-03-24 Datacite 500 Internal Server Error 

52 

53 # def test_get_pub_API_datacite(self): 

54 # e_p_doi_3 = ExtractPublisherDOI({}) 

55 # dataicte_doi = "10.14454/FXWS-0523" 

56 # datacite_doi2 = "10.15468/dl.7xagnb" 

57 # pub_d = e_p_doi_3.extract_publishers_v(dataicte_doi) 

58 # pub_d2 = e_p_doi_3.extract_publishers_v(datacite_doi2) 

59 

60 #self.assertEqual(pub_d, "DataCite") 

61 #self.assertEqual(pub_d2, "The Global Biodiversity Information Facility") 

62 

63 def test_get_pub_API_medra(self): 

64 e_p_doi_4 = ExtractPublisherDOI({}) 

65 medra_doi = "10.3233/ds-210053" 

66 medra_doi_no_pub = "10.48255/9788891322968" 

67 pub_m = e_p_doi_4.extract_publishers_v(medra_doi) 

68 pub_m2 = e_p_doi_4.extract_publishers_v(medra_doi_no_pub) 

69 self.assertEqual(pub_m, "IOS Press") 

70 self.assertEqual(pub_m2, "unidentified") 

71 

72 def test_get_pub_cnki(self): 

73 e_p_doi_5 = ExtractPublisherDOI({}) 

74 cnki_doi = "10.13336/j.1003-6520.hve.20160308018" 

75 pub_c = e_p_doi_5.extract_publishers_v(cnki_doi) 

76 expected = "unidentified" 

77 self.assertEqual(pub_c, expected) 

78 

79 

80 

81 

82 

83 

84 

85 

86 

87 

88if __name__ == '__main__': 

89 unittest.main()