briard 2.8.2 → 2.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +11 -1
- data/briard.gemspec +1 -0
- data/lib/briard/metadata.rb +4 -2
- data/lib/briard/metadata_utils.rb +2 -0
- data/lib/briard/readers/datacite_reader.rb +1 -1
- data/lib/briard/schema_utils.rb +15 -0
- data/lib/briard/version.rb +1 -1
- data/resources/json-schema/briard_schema.json +367 -0
- data/spec/fixtures/crosscite.json +1 -1
- data/spec/fixtures/datacite.json +1 -1
- data/spec/fixtures/datacite_software.json +1 -1
- data/spec/fixtures/datacite_software_version.json +1 -1
- data/spec/fixtures/vcr_cassettes/Briard_Metadata/json_schema_errors/doi_not_found.yml +105 -0
- data/spec/fixtures/vcr_cassettes/Briard_Metadata/json_schema_errors/is_valid.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Briard_Metadata/json_schema_valid_/is_valid.yml +65 -0
- data/spec/metadata_spec.rb +1 -0
- data/spec/readers/datacite_json_reader_spec.rb +2 -2
- data/spec/readers/datacite_reader_spec.rb +36 -36
- data/spec/readers/npm_reader_spec.rb +3 -3
- data/spec/schema_utils_spec.rb +24 -0
- data/spec/writers/datacite_writer_spec.rb +6 -6
- metadata +21 -1
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.1101/097196/transform/application/vnd.crossref.unixsd+xml
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.9.9; mailto:info@front-matter.io)
|
12
|
+
Accept:
|
13
|
+
- text/xml;charset=utf-8
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip,deflate
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Date:
|
22
|
+
- Wed, 23 Nov 2022 15:36:56 GMT
|
23
|
+
Content-Length:
|
24
|
+
- '3783'
|
25
|
+
Set-Cookie:
|
26
|
+
- AWSALB=hrEi7zfZtcqh2gFapPvhYYHZPJnpfAttTHA/Hw9wB2/n6F3yVDFg7lSmaFVMsUauL+mfEE/NXTkvVsjX/wC64qQ6ng7GmN8aDowo7+hQ2ZiucdFuH+gwLdrWcLaQ;
|
27
|
+
Expires=Wed, 30 Nov 2022 15:36:56 GMT; Path=/, AWSALBCORS=hrEi7zfZtcqh2gFapPvhYYHZPJnpfAttTHA/Hw9wB2/n6F3yVDFg7lSmaFVMsUauL+mfEE/NXTkvVsjX/wC64qQ6ng7GmN8aDowo7+hQ2ZiucdFuH+gwLdrWcLaQ;
|
28
|
+
Expires=Wed, 30 Nov 2022 15:36:56 GMT; Path=/; SameSite=None
|
29
|
+
Link:
|
30
|
+
- !binary |-
|
31
|
+
PGh0dHA6Ly9keC5kb2kub3JnLzEwLjExMDEvMDk3MTk2PjsgcmVsPSJjYW5vbmljYWwiLCA8aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY+OyB2ZXJzaW9uPSJ2b3IiOyByZWw9Iml0ZW0iLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PjsgdGl0bGU9Ik1hcnRpbiBGZW5uZXIiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xMzA0LTE5Mzk+OyB0aXRsZT0iTWVyY+ggQ3Jvc2FzIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtNTIxMi03MDUyPjsgdGl0bGU9IkplZmZyZXkgR3JldGhlIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PjsgdGl0bGU9IkRhdmlkIEtlbm5lZHkiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS04NDc5LTAyNjI+OyB0aXRsZT0iSGVubmluZyBIZXJtamFrb2IiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS05ODUzLTU2Njg+OyB0aXRsZT0iUGhpbGlwcGUgUm9jY2EtU2VycmEiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0yMTg4LTI1NzA+OyB0aXRsZT0iR3VzdGF2byBEdXJhbmQiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xNzMxLTUzNDY+OyB0aXRsZT0iUm9iaW4gQmVyam9uIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODI0OS03Mzg4PjsgdGl0bGU9IlNlYmFzdGlhbiBLYXJjaGVyIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItODQwNi0zODcxPjsgdGl0bGU9Ik1hcnlhbm4gTWFydG9uZSI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MD47IHRpdGxlPSJUaW1vdGh5IENsYXJrIjsgcmVsPSJhdXRob3Ii
|
32
|
+
Access-Control-Expose-Headers:
|
33
|
+
- Link
|
34
|
+
Access-Control-Allow-Headers:
|
35
|
+
- X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
|
36
|
+
Accept-Ranges, Cache-Control
|
37
|
+
Access-Control-Allow-Origin:
|
38
|
+
- "*"
|
39
|
+
Vary:
|
40
|
+
- Accept-Encoding
|
41
|
+
Content-Encoding:
|
42
|
+
- gzip
|
43
|
+
Server:
|
44
|
+
- Jetty(9.4.40.v20210413)
|
45
|
+
X-Ratelimit-Limit:
|
46
|
+
- '50'
|
47
|
+
X-Ratelimit-Interval:
|
48
|
+
- 1s
|
49
|
+
X-Api-Pool:
|
50
|
+
- polite
|
51
|
+
X-Rate-Limit-Limit:
|
52
|
+
- '50'
|
53
|
+
X-Rate-Limit-Interval:
|
54
|
+
- 1s
|
55
|
+
Permissions-Policy:
|
56
|
+
- interest-cohort=()
|
57
|
+
Connection:
|
58
|
+
- close
|
59
|
+
body:
|
60
|
+
encoding: ASCII-8BIT
|
61
|
+
string: !binary |-
|
62
|
+
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
|
63
|
+
http_version:
|
64
|
+
recorded_at: Wed, 23 Nov 2022 15:36:56 GMT
|
65
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.1101/097196/transform/application/vnd.crossref.unixsd+xml
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.9.9; mailto:info@front-matter.io)
|
12
|
+
Accept:
|
13
|
+
- text/xml;charset=utf-8
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip,deflate
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Date:
|
22
|
+
- Wed, 23 Nov 2022 14:00:49 GMT
|
23
|
+
Content-Length:
|
24
|
+
- '3783'
|
25
|
+
Set-Cookie:
|
26
|
+
- AWSALB=ahuqVTYaryoMFXu0Svf6PAOLkWDjRJmdMEPzS3/LkG1/hRMfhimhkA3JE2mbvmdPApcCQd8n+3Tcmvn3fYes1tGbe3YMMGhkpp299jUC0GlociTbL8y/xnBTIz22;
|
27
|
+
Expires=Wed, 30 Nov 2022 14:00:49 GMT; Path=/, AWSALBCORS=ahuqVTYaryoMFXu0Svf6PAOLkWDjRJmdMEPzS3/LkG1/hRMfhimhkA3JE2mbvmdPApcCQd8n+3Tcmvn3fYes1tGbe3YMMGhkpp299jUC0GlociTbL8y/xnBTIz22;
|
28
|
+
Expires=Wed, 30 Nov 2022 14:00:49 GMT; Path=/; SameSite=None
|
29
|
+
Link:
|
30
|
+
- !binary |-
|
31
|
+
PGh0dHA6Ly9keC5kb2kub3JnLzEwLjExMDEvMDk3MTk2PjsgcmVsPSJjYW5vbmljYWwiLCA8aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY+OyB2ZXJzaW9uPSJ2b3IiOyByZWw9Iml0ZW0iLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PjsgdGl0bGU9Ik1hcnRpbiBGZW5uZXIiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xMzA0LTE5Mzk+OyB0aXRsZT0iTWVyY+ggQ3Jvc2FzIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtNTIxMi03MDUyPjsgdGl0bGU9IkplZmZyZXkgR3JldGhlIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PjsgdGl0bGU9IkRhdmlkIEtlbm5lZHkiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS04NDc5LTAyNjI+OyB0aXRsZT0iSGVubmluZyBIZXJtamFrb2IiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS05ODUzLTU2Njg+OyB0aXRsZT0iUGhpbGlwcGUgUm9jY2EtU2VycmEiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0yMTg4LTI1NzA+OyB0aXRsZT0iR3VzdGF2byBEdXJhbmQiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xNzMxLTUzNDY+OyB0aXRsZT0iUm9iaW4gQmVyam9uIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODI0OS03Mzg4PjsgdGl0bGU9IlNlYmFzdGlhbiBLYXJjaGVyIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItODQwNi0zODcxPjsgdGl0bGU9Ik1hcnlhbm4gTWFydG9uZSI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MD47IHRpdGxlPSJUaW1vdGh5IENsYXJrIjsgcmVsPSJhdXRob3Ii
|
32
|
+
Access-Control-Expose-Headers:
|
33
|
+
- Link
|
34
|
+
Access-Control-Allow-Headers:
|
35
|
+
- X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
|
36
|
+
Accept-Ranges, Cache-Control
|
37
|
+
Access-Control-Allow-Origin:
|
38
|
+
- "*"
|
39
|
+
Vary:
|
40
|
+
- Accept-Encoding
|
41
|
+
Content-Encoding:
|
42
|
+
- gzip
|
43
|
+
Server:
|
44
|
+
- Jetty(9.4.40.v20210413)
|
45
|
+
X-Ratelimit-Limit:
|
46
|
+
- '50'
|
47
|
+
X-Ratelimit-Interval:
|
48
|
+
- 1s
|
49
|
+
X-Api-Pool:
|
50
|
+
- polite
|
51
|
+
X-Rate-Limit-Limit:
|
52
|
+
- '50'
|
53
|
+
X-Rate-Limit-Interval:
|
54
|
+
- 1s
|
55
|
+
Permissions-Policy:
|
56
|
+
- interest-cohort=()
|
57
|
+
Connection:
|
58
|
+
- close
|
59
|
+
body:
|
60
|
+
encoding: ASCII-8BIT
|
61
|
+
string: !binary |-
|
62
|
+
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
|
63
|
+
http_version:
|
64
|
+
recorded_at: Wed, 23 Nov 2022 14:00:49 GMT
|
65
|
+
recorded_with: VCR 3.0.3
|
data/spec/metadata_spec.rb
CHANGED
@@ -11,6 +11,7 @@ describe Briard::Metadata, vcr: true do
|
|
11
11
|
it 'unknown DOI prefix' do
|
12
12
|
input = 'http://doi.org/10.0137/14802'
|
13
13
|
subject = described_class.new(input: input)
|
14
|
+
expect(subject.errors).to eq(["root is missing required keys: id, creators, titles, publisher, publication_year, types"])
|
14
15
|
expect(subject.valid?).to be false
|
15
16
|
expect(subject.bibtex.nil?).to be(true)
|
16
17
|
end
|
@@ -33,7 +33,7 @@ describe Briard::Metadata, vcr: true do
|
|
33
33
|
'relatedIdentifierType' => 'DOI', 'relationType' => 'IsPartOf')
|
34
34
|
expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.5438/55e5-t5c0',
|
35
35
|
'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
|
36
|
-
expect(subject.agency).to eq('
|
36
|
+
expect(subject.agency).to eq('DataCite')
|
37
37
|
end
|
38
38
|
|
39
39
|
# it "SoftwareSourceCode" do
|
@@ -87,7 +87,7 @@ describe Briard::Metadata, vcr: true do
|
|
87
87
|
expect(subject.related_identifiers.first).to eq(
|
88
88
|
'relatedIdentifier' => 'https://github.com/jakevdp/supersmoother/tree/v0.3.2', 'relatedIdentifierType' => 'URL', 'relationType' => 'IsSupplementTo'
|
89
89
|
)
|
90
|
-
expect(subject.agency).to eq('
|
90
|
+
expect(subject.agency).to eq('DataCite')
|
91
91
|
end
|
92
92
|
end
|
93
93
|
end
|
@@ -43,7 +43,7 @@ describe Briard::Metadata, vcr: true do
|
|
43
43
|
{ 'subject' => 'mitochondrial genome' },
|
44
44
|
{ 'subject' => 'parasites' }])
|
45
45
|
expect(subject.publisher).to eq('Dryad')
|
46
|
-
expect(subject.agency).to eq('
|
46
|
+
expect(subject.agency).to eq('DataCite')
|
47
47
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
48
48
|
end
|
49
49
|
|
@@ -78,7 +78,7 @@ describe Briard::Metadata, vcr: true do
|
|
78
78
|
'subject' => 'FOS: Computer and information sciences',
|
79
79
|
'subjectScheme' => 'Fields of Science and Technology (FOS)',
|
80
80
|
'valueUri' => 'http://www.oecd.org/science/inno/38235147.pdf' }])
|
81
|
-
expect(subject.agency).to eq('
|
81
|
+
expect(subject.agency).to eq('DataCite')
|
82
82
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
83
83
|
end
|
84
84
|
|
@@ -101,7 +101,7 @@ describe Briard::Metadata, vcr: true do
|
|
101
101
|
'subjectScheme' => 'DDC' }])
|
102
102
|
expect(subject.publication_year).to eq('2013')
|
103
103
|
expect(subject.publisher).to eq('Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik GmbH, Wadern/Saarbruecken, Germany')
|
104
|
-
expect(subject.agency).to eq('
|
104
|
+
expect(subject.agency).to eq('DataCite')
|
105
105
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-2.1')
|
106
106
|
end
|
107
107
|
|
@@ -163,7 +163,7 @@ describe Briard::Metadata, vcr: true do
|
|
163
163
|
expect(subject.sizes).to eq(['4 kB'])
|
164
164
|
expect(subject.formats).to eq(['application/xml'])
|
165
165
|
expect(subject.publisher).to eq('DataCite')
|
166
|
-
expect(subject.agency).to eq('
|
166
|
+
expect(subject.agency).to eq('DataCite')
|
167
167
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
168
168
|
end
|
169
169
|
|
@@ -183,7 +183,7 @@ describe Briard::Metadata, vcr: true do
|
|
183
183
|
{ 'date' => '2016', 'dateType' => 'Issued' }])
|
184
184
|
expect(subject.publication_year).to eq('2016')
|
185
185
|
expect(subject.publisher).to eq('University of St Andrews')
|
186
|
-
expect(subject.agency).to eq('
|
186
|
+
expect(subject.agency).to eq('DataCite')
|
187
187
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
188
188
|
end
|
189
189
|
|
@@ -206,7 +206,7 @@ describe Briard::Metadata, vcr: true do
|
|
206
206
|
expect(subject.sizes).to eq([])
|
207
207
|
expect(subject.subjects).to eq([{ 'subject' => 'environmental research' }])
|
208
208
|
expect(subject.publisher).to eq('EvK2 CNR Committee')
|
209
|
-
expect(subject.agency).to eq('
|
209
|
+
expect(subject.agency).to eq('DataCite')
|
210
210
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-2.2')
|
211
211
|
end
|
212
212
|
|
@@ -243,7 +243,7 @@ describe Briard::Metadata, vcr: true do
|
|
243
243
|
{ 'subject' => 'crossover experiment' },
|
244
244
|
{ 'subject' => 'hci' }])
|
245
245
|
expect(subject.publisher).to eq('Zenodo')
|
246
|
-
expect(subject.agency).to eq('
|
246
|
+
expect(subject.agency).to eq('DataCite')
|
247
247
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
248
248
|
end
|
249
249
|
|
@@ -290,7 +290,7 @@ describe Briard::Metadata, vcr: true do
|
|
290
290
|
'subject' => 'FOS: Biological sciences',
|
291
291
|
'subjectScheme' => 'Fields of Science and Technology (FOS)' }
|
292
292
|
])
|
293
|
-
expect(subject.agency).to eq('
|
293
|
+
expect(subject.agency).to eq('DataCite')
|
294
294
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
295
295
|
end
|
296
296
|
|
@@ -323,7 +323,7 @@ describe Briard::Metadata, vcr: true do
|
|
323
323
|
'subjectScheme' => 'Fields of Science and Technology (FOS)', 'schemeUri' => 'http://www.oecd.org/science/inno/38235147.pdf' },
|
324
324
|
{ 'subject' => '60412 Quantitative Genetics (incl. Disease and Trait Mapping Genetics)',
|
325
325
|
'subjectScheme' => 'FOR', 'schemeUri' => 'http://www.abs.gov.au/ausstats/abs@.nsf/0/6BB427AB9696C225CA2574180004463E' }])
|
326
|
-
expect(subject.agency).to eq('
|
326
|
+
expect(subject.agency).to eq('DataCite')
|
327
327
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
328
328
|
end
|
329
329
|
|
@@ -385,7 +385,7 @@ describe Briard::Metadata, vcr: true do
|
|
385
385
|
{ 'subject' => 'data mining' },
|
386
386
|
{ 'subject' => 'statistical computing language r' },
|
387
387
|
{ 'subject' => 'funded research publications' }])
|
388
|
-
expect(subject.agency).to eq('
|
388
|
+
expect(subject.agency).to eq('DataCite')
|
389
389
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
390
390
|
end
|
391
391
|
|
@@ -434,7 +434,7 @@ describe Briard::Metadata, vcr: true do
|
|
434
434
|
'funderName' => 'European Commission' }])
|
435
435
|
expect(subject.identifiers).to eq([{ 'identifier' => '123',
|
436
436
|
'identifierType' => 'Repository ID' }])
|
437
|
-
expect(subject.agency).to eq('
|
437
|
+
expect(subject.agency).to eq('DataCite')
|
438
438
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
439
439
|
expect(subject.state).to eq('findable')
|
440
440
|
end
|
@@ -723,7 +723,7 @@ describe Briard::Metadata, vcr: true do
|
|
723
723
|
'http://www.rcuk.ac.uk/research/efficiency/researchadmin/harmonisation/',
|
724
724
|
'subject' => 'Materials Characterisation',
|
725
725
|
'subjectScheme' => 'RCUK Research Classifications' }])
|
726
|
-
expect(subject.agency).to eq('
|
726
|
+
expect(subject.agency).to eq('DataCite')
|
727
727
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
728
728
|
end
|
729
729
|
|
@@ -752,7 +752,7 @@ describe Briard::Metadata, vcr: true do
|
|
752
752
|
'funderIdentifier' => 'https://doi.org/10.13039/501100000780',
|
753
753
|
'funderIdentifierType' => 'Crossref Funder ID',
|
754
754
|
'funderName' => 'European Commission' }])
|
755
|
-
expect(subject.agency).to eq('
|
755
|
+
expect(subject.agency).to eq('DataCite')
|
756
756
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
757
757
|
end
|
758
758
|
|
@@ -777,7 +777,7 @@ describe Briard::Metadata, vcr: true do
|
|
777
777
|
expect(subject.funding_references.length).to eq(1)
|
778
778
|
expect(subject.funding_references.first).to eq('awardNumber' => 'проект № 170100728',
|
779
779
|
'funderName' => 'РФФИ')
|
780
|
-
expect(subject.agency).to eq('
|
780
|
+
expect(subject.agency).to eq('DataCite')
|
781
781
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
782
782
|
end
|
783
783
|
|
@@ -804,7 +804,7 @@ describe Briard::Metadata, vcr: true do
|
|
804
804
|
expect(subject.related_identifiers.length).to eq(3)
|
805
805
|
expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.5438/0000-00ss',
|
806
806
|
'relatedIdentifierType' => 'DOI', 'relationType' => 'IsPartOf')
|
807
|
-
expect(subject.agency).to eq('
|
807
|
+
expect(subject.agency).to eq('DataCite')
|
808
808
|
end
|
809
809
|
|
810
810
|
it 'Schema 4.1 from string' do
|
@@ -840,7 +840,7 @@ describe Briard::Metadata, vcr: true do
|
|
840
840
|
'rightsUri' => 'https://creativecommons.org/licenses/by-nd/2.0/legalcode',
|
841
841
|
'schemeUri' => 'https://spdx.org/licenses/' }])
|
842
842
|
expect(subject.publisher).to eq('Springer')
|
843
|
-
expect(subject.agency).to eq('
|
843
|
+
expect(subject.agency).to eq('DataCite')
|
844
844
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
845
845
|
end
|
846
846
|
|
@@ -873,7 +873,7 @@ describe Briard::Metadata, vcr: true do
|
|
873
873
|
'rightsUri' => 'https://creativecommons.org/licenses/by-nd/2.0/legalcode',
|
874
874
|
'schemeUri' => 'https://spdx.org/licenses/' }])
|
875
875
|
expect(subject.publisher).to eq('Springer')
|
876
|
-
expect(subject.agency).to eq('
|
876
|
+
expect(subject.agency).to eq('DataCite')
|
877
877
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4.0')
|
878
878
|
end
|
879
879
|
|
@@ -904,7 +904,7 @@ describe Briard::Metadata, vcr: true do
|
|
904
904
|
'rightsUri' => 'https://creativecommons.org/publicdomain/zero/1.0/legalcode',
|
905
905
|
'schemeUri' => 'https://spdx.org/licenses/' }])
|
906
906
|
expect(subject.publisher).to eq('Dryad Digital Repository')
|
907
|
-
expect(subject.agency).to eq('
|
907
|
+
expect(subject.agency).to eq('DataCite')
|
908
908
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-3')
|
909
909
|
end
|
910
910
|
|
@@ -937,7 +937,7 @@ describe Briard::Metadata, vcr: true do
|
|
937
937
|
'rightsUri' => 'https://creativecommons.org/licenses/by-nd/2.0/legalcode',
|
938
938
|
'schemeUri' => 'https://spdx.org/licenses/' }])
|
939
939
|
expect(subject.publisher).to eq('Springer')
|
940
|
-
expect(subject.agency).to eq('
|
940
|
+
expect(subject.agency).to eq('DataCite')
|
941
941
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-3.0')
|
942
942
|
end
|
943
943
|
|
@@ -965,7 +965,7 @@ describe Briard::Metadata, vcr: true do
|
|
965
965
|
expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.5272/oldertestpub',
|
966
966
|
'relatedIdentifierType' => 'DOI', 'relationType' => 'IsPartOf')
|
967
967
|
expect(subject.publisher).to eq('Springer')
|
968
|
-
expect(subject.agency).to eq('
|
968
|
+
expect(subject.agency).to eq('DataCite')
|
969
969
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-2.2')
|
970
970
|
end
|
971
971
|
|
@@ -1005,7 +1005,7 @@ describe Briard::Metadata, vcr: true do
|
|
1005
1005
|
'rightsUri' => 'https://creativecommons.org/licenses/by-nd/2.0/legalcode',
|
1006
1006
|
'schemeUri' => 'https://spdx.org/licenses/' }])
|
1007
1007
|
expect(subject.publisher).to eq('Springer')
|
1008
|
-
expect(subject.agency).to eq('
|
1008
|
+
expect(subject.agency).to eq('DataCite')
|
1009
1009
|
end
|
1010
1010
|
|
1011
1011
|
it 'namespaced xml from string' do
|
@@ -1024,7 +1024,7 @@ describe Briard::Metadata, vcr: true do
|
|
1024
1024
|
{ 'date' => '2018-07-18', 'dateType' => 'Accepted' }, { 'date' => '2018', 'dateType' => 'Issued' }])
|
1025
1025
|
expect(subject.publication_year).to eq('2018')
|
1026
1026
|
expect(subject.publisher).to eq('nanoHUB')
|
1027
|
-
expect(subject.agency).to eq('
|
1027
|
+
expect(subject.agency).to eq('DataCite')
|
1028
1028
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-2.2')
|
1029
1029
|
end
|
1030
1030
|
|
@@ -1055,7 +1055,7 @@ describe Briard::Metadata, vcr: true do
|
|
1055
1055
|
expect(subject.titles).to eq([{ 'title' => 'CERES Level 3 Cloud Type Historgram Terra+Aqua HDF file - Edition4' }])
|
1056
1056
|
expect(subject.publication_year).to eq('2016')
|
1057
1057
|
expect(subject.publisher).to eq('NASA Langley Atmospheric Science Data Center DAAC')
|
1058
|
-
expect(subject.agency).to eq('
|
1058
|
+
expect(subject.agency).to eq('DataCite')
|
1059
1059
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
1060
1060
|
end
|
1061
1061
|
|
@@ -1103,7 +1103,7 @@ describe Briard::Metadata, vcr: true do
|
|
1103
1103
|
{ 'date' => '1996', 'dateType' => 'Issued' }])
|
1104
1104
|
expect(subject.publication_year).to eq('1996')
|
1105
1105
|
expect(subject.publisher).to eq('GESIS Data Archive')
|
1106
|
-
expect(subject.agency).to eq('
|
1106
|
+
expect(subject.agency).to eq('DataCite')
|
1107
1107
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
1108
1108
|
end
|
1109
1109
|
|
@@ -1129,7 +1129,7 @@ describe Briard::Metadata, vcr: true do
|
|
1129
1129
|
expect(subject.subjects).to eq([{ 'subject' => 'pv systems' },
|
1130
1130
|
{ 'subject' => 'off-grid applications' }])
|
1131
1131
|
expect(subject.publisher).to eq('WIP-Munich')
|
1132
|
-
expect(subject.agency).to eq('
|
1132
|
+
expect(subject.agency).to eq('DataCite')
|
1133
1133
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-2.2')
|
1134
1134
|
end
|
1135
1135
|
|
@@ -1165,7 +1165,7 @@ describe Briard::Metadata, vcr: true do
|
|
1165
1165
|
expect(subject.dates).to eq([{ 'date' => '2017', 'dateType' => 'Issued' }])
|
1166
1166
|
expect(subject.publication_year).to eq('2017')
|
1167
1167
|
expect(subject.publisher).to eq('Siemens AG')
|
1168
|
-
expect(subject.agency).to eq('
|
1168
|
+
expect(subject.agency).to eq('DataCite')
|
1169
1169
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-3')
|
1170
1170
|
end
|
1171
1171
|
|
@@ -1207,7 +1207,7 @@ describe Briard::Metadata, vcr: true do
|
|
1207
1207
|
{ 'date' => '2015', 'dateType' => 'Issued' }])
|
1208
1208
|
expect(subject.publication_year).to eq('2015')
|
1209
1209
|
expect(subject.publisher).to eq('Royal Netherlands Meteorological Institute (KNMI)')
|
1210
|
-
expect(subject.agency).to eq('
|
1210
|
+
expect(subject.agency).to eq('DataCite')
|
1211
1211
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
1212
1212
|
end
|
1213
1213
|
|
@@ -1217,7 +1217,7 @@ describe Briard::Metadata, vcr: true do
|
|
1217
1217
|
expect(subject.valid?).to be false
|
1218
1218
|
expect(subject.id).to eq('https://doi.org/10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1')
|
1219
1219
|
expect(subject.doi).to eq('10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1')
|
1220
|
-
expect(subject.agency).to eq('
|
1220
|
+
expect(subject.agency).to eq('DataCite')
|
1221
1221
|
expect(subject.state).to eq('not_found')
|
1222
1222
|
end
|
1223
1223
|
|
@@ -1233,7 +1233,7 @@ describe Briard::Metadata, vcr: true do
|
|
1233
1233
|
expect(subject.dates).to eq([{ 'date' => '2018-01-12', 'dateType' => 'Issued' }])
|
1234
1234
|
expect(subject.publication_year).to eq('2018')
|
1235
1235
|
expect(subject.publisher).to eq('CaltechDATA')
|
1236
|
-
expect(subject.agency).to eq('
|
1236
|
+
expect(subject.agency).to eq('DataCite')
|
1237
1237
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
1238
1238
|
expect(subject.state).to eq('findable')
|
1239
1239
|
end
|
@@ -1250,7 +1250,7 @@ describe Briard::Metadata, vcr: true do
|
|
1250
1250
|
expect(subject.dates).to eq([{ 'date' => '2018', 'dateType' => 'Issued' }])
|
1251
1251
|
expect(subject.publication_year).to eq('2018')
|
1252
1252
|
expect(subject.publisher).to eq('F1000 Research Limited')
|
1253
|
-
expect(subject.agency).to eq('
|
1253
|
+
expect(subject.agency).to eq('DataCite')
|
1254
1254
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-3')
|
1255
1255
|
expect(subject.state).to eq('findable')
|
1256
1256
|
end
|
@@ -1269,7 +1269,7 @@ describe Briard::Metadata, vcr: true do
|
|
1269
1269
|
expect(subject.titles).to eq([{ 'title' => 'Referee report. For: Gates - add article keywords to the metatags [version 2; referees: 1 approved]' }])
|
1270
1270
|
expect(subject.publication_year).to eq('2018')
|
1271
1271
|
expect(subject.publisher).to eq('Gates Open Research')
|
1272
|
-
expect(subject.agency).to eq('
|
1272
|
+
expect(subject.agency).to eq('DataCite')
|
1273
1273
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-3')
|
1274
1274
|
end
|
1275
1275
|
|
@@ -1371,7 +1371,7 @@ describe Briard::Metadata, vcr: true do
|
|
1371
1371
|
{ 'date' => '2009-10-01/2014-01-23', 'dateType' => 'Created' }])
|
1372
1372
|
expect(subject.publication_year).to eq('2014')
|
1373
1373
|
expect(subject.publisher).to eq('Deutsches Elektronen-Synchrotron, DESY, Hamburg')
|
1374
|
-
expect(subject.agency).to eq('
|
1374
|
+
expect(subject.agency).to eq('DataCite')
|
1375
1375
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-3')
|
1376
1376
|
end
|
1377
1377
|
|
@@ -1396,7 +1396,7 @@ describe Briard::Metadata, vcr: true do
|
|
1396
1396
|
expect(subject.funding_references.count).to eq(1)
|
1397
1397
|
expect(subject.funding_references.first).to eq('awardNumber' => 'проект № 170100728',
|
1398
1398
|
'funderName' => 'РФФИ')
|
1399
|
-
expect(subject.agency).to eq('
|
1399
|
+
expect(subject.agency).to eq('DataCite')
|
1400
1400
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
1401
1401
|
end
|
1402
1402
|
|
@@ -1507,7 +1507,7 @@ describe Briard::Metadata, vcr: true do
|
|
1507
1507
|
'title' => 'Meteo measurements at the Sand Motor' }])
|
1508
1508
|
expect(subject.publication_year).to eq('2017')
|
1509
1509
|
expect(subject.publisher).to eq('4TU.Centre for Research Data')
|
1510
|
-
expect(subject.agency).to eq('
|
1510
|
+
expect(subject.agency).to eq('DataCite')
|
1511
1511
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
1512
1512
|
expect(subject.geo_locations.first['geoLocationPlace']).to eq('Zandmotor, sand suppletion area on the Dutch coast.')
|
1513
1513
|
expect(subject.geo_locations.first['geoLocationPolygon'].first).to eq('polygonPoint' => {
|
@@ -1579,7 +1579,7 @@ describe Briard::Metadata, vcr: true do
|
|
1579
1579
|
}
|
1580
1580
|
])
|
1581
1581
|
expect(subject.publisher).to eq('DataCite')
|
1582
|
-
expect(subject.agency).to eq('
|
1582
|
+
expect(subject.agency).to eq('DataCite')
|
1583
1583
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
1584
1584
|
expect(subject.related_items.last).to eq(
|
1585
1585
|
{
|
@@ -1773,7 +1773,7 @@ describe Briard::Metadata, vcr: true do
|
|
1773
1773
|
}
|
1774
1774
|
])
|
1775
1775
|
expect(subject.publisher).to eq('GigaScience Database')
|
1776
|
-
expect(subject.agency).to eq('
|
1776
|
+
expect(subject.agency).to eq('DataCite')
|
1777
1777
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
1778
1778
|
end
|
1779
1779
|
|
@@ -16,7 +16,7 @@ describe Briard::Metadata, vcr: true do
|
|
16
16
|
context 'get npm metadata' do
|
17
17
|
it 'minimal' do
|
18
18
|
expect(subject.valid?).to be false
|
19
|
-
expect(subject.errors.first).to
|
19
|
+
expect(subject.errors.first).to eq("root is missing required keys: id, publisher, publication_year")
|
20
20
|
# expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5438/4k3m-nyvg", "identifierType"=>"DOI"}])
|
21
21
|
# expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
22
22
|
expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article',
|
@@ -34,7 +34,7 @@ describe Briard::Metadata, vcr: true do
|
|
34
34
|
input = "#{fixture_path}cit_package.json"
|
35
35
|
subject = described_class.new(input: input, from: 'npm')
|
36
36
|
expect(subject.valid?).to be false
|
37
|
-
expect(subject.errors.first).to
|
37
|
+
expect(subject.errors.first).to eq("root is missing required keys: id, publisher, publication_year")
|
38
38
|
# expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5438/4k3m-nyvg", "identifierType"=>"DOI"}])
|
39
39
|
# expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
40
40
|
expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article',
|
@@ -52,7 +52,7 @@ describe Briard::Metadata, vcr: true do
|
|
52
52
|
input = "#{fixture_path}edam_package.json"
|
53
53
|
subject = described_class.new(input: input, from: 'npm')
|
54
54
|
expect(subject.valid?).to be false
|
55
|
-
expect(subject.errors.first).to
|
55
|
+
expect(subject.errors.first).to eq("root is missing required keys: id, publisher, publication_year")
|
56
56
|
# expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.5438/4k3m-nyvg", "identifierType"=>"DOI"}])
|
57
57
|
# expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
58
58
|
expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article',
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Briard::Metadata, vcr: true do
|
6
|
+
subject { described_class.new(input: input, from: 'crossref') }
|
7
|
+
|
8
|
+
let(:input) { 'https://doi.org/10.1101/097196' }
|
9
|
+
|
10
|
+
context 'json_schema_errors' do
|
11
|
+
it 'is_valid' do
|
12
|
+
response = subject.json_schema_errors
|
13
|
+
expect(response).to be_nil
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'no creator' do
|
17
|
+
input = "#{fixture_path}datacite_missing_creator.xml"
|
18
|
+
subject = described_class.new(input: input, regenerate: true)
|
19
|
+
expect(subject.creators).to be_empty
|
20
|
+
expect(subject.valid?).to be false
|
21
|
+
expect(subject.json_schema_errors).to be nil
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -187,7 +187,7 @@ describe Briard::Metadata, vcr: true do
|
|
187
187
|
expect(subject.publication_year).to eq('2015')
|
188
188
|
expect(subject.version_info).to eq('v0.3.2')
|
189
189
|
expect(subject.publisher).to eq('Zenodo')
|
190
|
-
expect(subject.agency).to eq('
|
190
|
+
expect(subject.agency).to eq('DataCite')
|
191
191
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
192
192
|
expect(subject.datacite).to include('<version>v0.3.2</version>')
|
193
193
|
end
|
@@ -216,7 +216,7 @@ describe Briard::Metadata, vcr: true do
|
|
216
216
|
{ 'schemeUri' => 'http://www.oecd.org/science/inno/38235147.pdf',
|
217
217
|
'subject' => 'FOS: Computer and information sciences',
|
218
218
|
'subjectScheme' => 'Fields of Science and Technology (FOS)' }])
|
219
|
-
expect(subject.agency).to eq('
|
219
|
+
expect(subject.agency).to eq('DataCite')
|
220
220
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-3')
|
221
221
|
expect(subject.datacite).to end_with('</resource>')
|
222
222
|
end
|
@@ -245,7 +245,7 @@ describe Briard::Metadata, vcr: true do
|
|
245
245
|
{ 'schemeUri' => 'http://www.oecd.org/science/inno/38235147.pdf',
|
246
246
|
'subject' => 'FOS: Computer and information sciences',
|
247
247
|
'subjectScheme' => 'Fields of Science and Technology (FOS)' }])
|
248
|
-
expect(subject.agency).to eq('
|
248
|
+
expect(subject.agency).to eq('DataCite')
|
249
249
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-3')
|
250
250
|
expect(subject.datacite).to end_with('</resource>')
|
251
251
|
end
|
@@ -273,7 +273,7 @@ describe Briard::Metadata, vcr: true do
|
|
273
273
|
expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.1371/journal.ppat.1000446',
|
274
274
|
'relatedIdentifierType' => 'DOI', 'relationType' => 'IsCitedBy')
|
275
275
|
expect(subject.publisher).to eq('Dryad')
|
276
|
-
expect(subject.agency).to eq('
|
276
|
+
expect(subject.agency).to eq('DataCite')
|
277
277
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
278
278
|
|
279
279
|
datacite = Maremma.from_xml(subject.datacite).fetch('resource', {})
|
@@ -301,7 +301,7 @@ describe Briard::Metadata, vcr: true do
|
|
301
301
|
{ 'date' => '2016-03-14T17:02:02Z', 'dateType' => 'Available' }, { 'date' => '2013', 'dateType' => 'Issued' }])
|
302
302
|
expect(subject.publication_year).to eq('2013')
|
303
303
|
expect(subject.publisher).to eq('UC Merced')
|
304
|
-
expect(subject.agency).to eq('
|
304
|
+
expect(subject.agency).to eq('DataCite')
|
305
305
|
expect(subject.schema_version).to eq('http://datacite.org/schema/kernel-4')
|
306
306
|
|
307
307
|
datacite = Maremma.from_xml(subject.datacite).fetch('resource', {})
|
@@ -315,7 +315,7 @@ describe Briard::Metadata, vcr: true do
|
|
315
315
|
expect(subject.valid?).to be false
|
316
316
|
expect(subject.id).to eq('https://doi.org/10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1')
|
317
317
|
expect(subject.doi).to eq('10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1')
|
318
|
-
expect(subject.agency).to eq('
|
318
|
+
expect(subject.agency).to eq('DataCite')
|
319
319
|
expect(subject.state).to eq('not_found')
|
320
320
|
datacite = Maremma.from_xml(subject.datacite).fetch('resource', {})
|
321
321
|
expect(datacite['identifier']).to eq('identifierType' => 'DOI',
|