Skip to content

Commit 7642a7a

Browse files
committed
Add tests for null values in dates
1 parent 9aac9d8 commit 7642a7a

File tree

2 files changed

+194
-0
lines changed

2 files changed

+194
-0
lines changed
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
{
2+
"data": {
3+
"id": "10.5438/prvv-nv23",
4+
"type": "dois",
5+
"attributes": {
6+
"doi": "10.5438/prvv-nv23",
7+
"prefix": "10.5438",
8+
"suffix": "prvv-nv23",
9+
"identifiers": [
10+
{
11+
"identifier": "https://doi.org/10.5438/prvv-nv23",
12+
"identifierType": "DOI"
13+
}
14+
],
15+
"creators": [
16+
{
17+
"name": "Fenner, Martin",
18+
"nameType": "Personal",
19+
"givenName": "Martin",
20+
"familyName": "Fenner",
21+
"affiliation": ["DataCite"],
22+
"nameIdentifiers": [
23+
{
24+
"schemeUri": "https://orcid.org",
25+
"nameIdentifier": "https://orcid.org/0000-0003-1419-2405",
26+
"nameIdentifierScheme": "ORCID"
27+
}
28+
]
29+
},
30+
{
31+
"name": "Hallett, Richard",
32+
"nameType": "Personal",
33+
"givenName": "Richard",
34+
"familyName": "Hallett",
35+
"affiliation": ["DataCite"],
36+
"nameIdentifiers": [
37+
{
38+
"schemeUri": "https://orcid.org",
39+
"nameIdentifier": "https://orcid.org/0000-0002-8599-0773",
40+
"nameIdentifierScheme": "ORCID"
41+
}
42+
]
43+
}
44+
],
45+
"titles": [
46+
{
47+
"title": "Welcome to the DataCite Team, Richard!"
48+
}
49+
],
50+
"publisher": "DataCite",
51+
"container": {},
52+
"publicationYear": 2018,
53+
"subjects": [
54+
{
55+
"subject": "datacite"
56+
}
57+
],
58+
"contributors": [],
59+
"dates": [
60+
{
61+
"date": null,
62+
"dateType": null
63+
},
64+
{
65+
"date": "2018-01-18",
66+
"dateType": "Updated"
67+
}
68+
],
69+
"language": null,
70+
"types": {
71+
"ris": "GEN",
72+
"bibtex": "article",
73+
"citeproc": "post-weblog",
74+
"schemaOrg": "BlogPosting",
75+
"resourceTypeGeneral": "Text"
76+
},
77+
"relatedIdentifiers": [
78+
{
79+
"relationType": "IsPartOf",
80+
"relatedIdentifier": "10.5438/0000-00ss",
81+
"resourceTypeGeneral": "Text",
82+
"relatedIdentifierType": "DOI"
83+
}
84+
],
85+
"sizes": [],
86+
"formats": null,
87+
"version": "1.0",
88+
"rightsList": [
89+
{
90+
"rights": null,
91+
"rightsUri": null
92+
}
93+
],
94+
"descriptions": [
95+
{
96+
"lang": null,
97+
"description": "DataCite is pleased to welcome Richard Hallett to our team. Richard joined DataCite as application developer in December. Get to know him better via this interview. Richard Hallett Can you tell us a little bit about what you did before you started...",
98+
"descriptionType": "Abstract"
99+
}
100+
],
101+
"geoLocations": [{}],
102+
"fundingReferences": null,
103+
"xml": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTQzOC9QUlZWLU5WMjM8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPkZlbm5lciwgTWFydGluPC9jcmVhdG9yTmFtZT4KICAgICAgPGdpdmVuTmFtZT5NYXJ0aW48L2dpdmVuTmFtZT4KICAgICAgPGZhbWlseU5hbWU+RmVubmVyPC9mYW1pbHlOYW1lPgogICAgICA8bmFtZUlkZW50aWZpZXIgbmFtZUlkZW50aWZpZXJTY2hlbWU9Ik9SQ0lEIiBzY2hlbWVVUkk9Imh0dHBzOi8vb3JjaWQub3JnIj5odHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PC9uYW1lSWRlbnRpZmllcj4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzA0d3huc2o4MSIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiPkRhdGFDaXRlPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5IYWxsZXR0LCBSaWNoYXJkPC9jcmVhdG9yTmFtZT4KICAgICAgPGdpdmVuTmFtZT5SaWNoYXJkPC9naXZlbk5hbWU+CiAgICAgIDxmYW1pbHlOYW1lPkhhbGxldHQ8L2ZhbWlseU5hbWU+CiAgICAgIDxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiIHNjaGVtZVVSST0iaHR0cHM6Ly9vcmNpZC5vcmciPmh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04NTk5LTA3NzM8L25hbWVJZGVudGlmaWVyPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDR3eG5zajgxIiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiI+RGF0YUNpdGU8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogIDwvY3JlYXRvcnM+CiAgPHRpdGxlcz4KICAgIDx0aXRsZT5XZWxjb21lIHRvIHRoZSBEYXRhQ2l0ZSBUZWFtLCBSaWNoYXJkITwvdGl0bGU+CiAgPC90aXRsZXM+CiAgPHB1Ymxpc2hlcj5EYXRhQ2l0ZTwvcHVibGlzaGVyPgogIDxwdWJsaWNhdGlvblllYXI+MjAxODwvcHVibGljYXRpb25ZZWFyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iVGV4dCI+QmxvZ1Bvc3Rpbmc8L3Jlc291cmNlVHlwZT4KICA8c3ViamVjdHM+CiAgICA8c3ViamVjdD5kYXRhY2l0ZTwvc3ViamVjdD4KICA8L3N1YmplY3RzPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJJc3N1ZWQiPjIwMTgtMDEtMTg8L2RhdGU+CiAgICA8ZGF0ZSBkYXRlVHlwZT0iQ3JlYXRlZCI+MjAxOC0wMS0xODwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJVcGRhdGVkIj4yMDE4LTAxLTE4PC9kYXRlPgogIDwvZGF0ZXM+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJJc1BhcnRPZiIgcmVzb3VyY2VUeXBlR2VuZXJhbD0iVGV4dCI+MTAuNTQzOC8wMDAwLTAwc3M8L3JlbGF0ZWRJZGVudGlmaWVyPgogIDwvcmVsYXRlZElkZW50aWZpZXJzPgogIDx2ZXJzaW9uPjEuMDwvdmVyc2lvbj4KICA8cmlnaHRzTGlzdD4KICAgIDxyaWdodHMvPgogIDwvcmlnaHRzTGlzdD4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPkRhdGFDaXRlIGlzIHBsZWFzZWQgdG8gd2VsY29tZSBSaWNoYXJkIEhhbGxldHQgdG8gb3VyIHRlYW0uIFJpY2hhcmQgam9pbmVkIERhdGFDaXRlIGFzIGFwcGxpY2F0aW9uIGRldmVsb3BlciBpbiBEZWNlbWJlci4gR2V0IHRvIGtub3cgaGltIGJldHRlciB2aWEgdGhpcyBpbnRlcnZpZXcuIFJpY2hhcmQgSGFsbGV0dCBDYW4geW91IHRlbGwgdXMgYSBsaXR0bGUgYml0IGFib3V0IHdoYXQgeW91IGRpZCBiZWZvcmUgeW91IHN0YXJ0ZWQuLi48L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgogIDxnZW9Mb2NhdGlvbnM+CiAgICA8Z2VvTG9jYXRpb24vPgogIDwvZ2VvTG9jYXRpb25zPgo8L3Jlc291cmNlPgo=",
104+
"url": "https://blog.datacite.org/welcome-to-team-richard/",
105+
"contentUrl": null,
106+
"metadataVersion": 5,
107+
"schemaVersion": null,
108+
"source": null,
109+
"isActive": true,
110+
"state": "findable",
111+
"reason": null,
112+
"created": "2018-03-17T06:33:00.000Z",
113+
"registered": "2018-10-17T05:48:57.000Z",
114+
"published": "2018",
115+
"updated": "2019-08-10T08:02:12.000Z"
116+
},
117+
"relationships": {
118+
"client": {
119+
"data": {
120+
"id": "datacite.blog",
121+
"type": "clients"
122+
}
123+
},
124+
"provider": {
125+
"data": {
126+
"id": "dryad",
127+
"type": "providers"
128+
}
129+
},
130+
"media": {
131+
"data": {
132+
"id": "10.5438/prvv-nv23",
133+
"type": "media"
134+
}
135+
}
136+
}
137+
},
138+
"included": [
139+
{
140+
"id": "datacite.blog",
141+
"type": "clients",
142+
"attributes": {
143+
"name": "DataCite Blog",
144+
"symbol": "DATACITE.BLOG",
145+
"year": 2019,
146+
"contactEmail": "info@datacite.org",
147+
"alternateName": null,
148+
"description": null,
149+
"language": null,
150+
"clientType": "repository",
151+
"domains": "*",
152+
"issn": null,
153+
"url": "https://blog.datacite.org",
154+
"created": "2019-01-02T14:27:23.000Z",
155+
"updated": "2019-01-02T17:22:42.000Z",
156+
"isActive": true,
157+
"hasPassword": true
158+
},
159+
"relationships": {
160+
"provider": {
161+
"data": {
162+
"id": "datacite",
163+
"type": "providers"
164+
}
165+
},
166+
"prefixes": {
167+
"data": [
168+
{
169+
"id": "10.5438",
170+
"type": "prefixes"
171+
}
172+
]
173+
}
174+
}
175+
}
176+
]
177+
}

tests/integration/test_catalogs.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import json
2+
from viringo import catalogs
3+
from viringo.services import datacite
4+
def test_build_metadata_null_dates(mocker):
5+
mocked_requests_get = mocker.patch('viringo.services.datacite.requests.get')
6+
with open('tests/integration/fixtures/datacite_api_doi_dateproblems.json') as json_file:
7+
data = json.load(json_file)
8+
mocked_requests_get.return_value.status_code = 200
9+
mocked_requests_get.return_value.json.return_value = data
10+
11+
result = datacite.get_metadata("10.5438/prvv-nv23")
12+
13+
oai_server = catalogs.DataCiteOAIServer()
14+
meta = oai_server.build_metadata_map(
15+
result
16+
)
17+
assert meta.get('date') == ['2018', 'Updated: 2018-01-18']

0 commit comments

Comments
 (0)