From 4098eccbb55c39d40ac6995d8e64e7c2c1fccdd7 Mon Sep 17 00:00:00 2001 From: Suzanne Vogt Date: Fri, 29 Apr 2022 22:54:39 -0400 Subject: [PATCH 1/4] Issue-131 - problem reading crossref xml, funderIdentifier. --- lib/bolognese/readers/crossref_reader.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/bolognese/readers/crossref_reader.rb b/lib/bolognese/readers/crossref_reader.rb index 36ef8c9b..e7efaefa 100644 --- a/lib/bolognese/readers/crossref_reader.rb +++ b/lib/bolognese/readers/crossref_reader.rb @@ -307,6 +307,7 @@ def crossref_funding_reference(program_metadata) award_uri = a.fetch("awardURI", nil) elsif a.fetch("name") == "funder_name" funder_name = a.fetch("__content__", nil).to_s.squish.presence + ##### funder_identifier = validate_funder_doi(a.dig("assertion", "__content__")) funder_identifier_type = "Crossref Funder ID" if funder_identifier.present? end From 6e062445ed06ebdf162604d6494ab04f58aa9ef9 Mon Sep 17 00:00:00 2001 From: Suzanne Vogt Date: Sat, 30 Apr 2022 16:51:51 -0400 Subject: [PATCH 2/4] Issue-131 - problem reading crossref xml, funderIdentifier. --- Gemfile.lock | 110 +++++++++--------- .../validate_orcid/validate_orcid_sandbox.yml | 65 +++++++++++ .../validate_orcid_sandbox_https.yml | 65 +++++++++++ 3 files changed, 185 insertions(+), 55 deletions(-) create mode 100644 spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox.yml create mode 100644 spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox_https.yml diff --git a/Gemfile.lock b/Gemfile.lock index 2999e1c1..715f2ac4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - bolognese (1.9.12) + bolognese (1.9.13) activesupport (>= 4.2.5) benchmark_methods (~> 0.7) bibtex-ruby (>= 5.1.0) @@ -30,7 +30,7 @@ PATH GEM remote: https://rubygems.org/ specs: - activesupport (6.1.4.4) + activesupport (6.1.5.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -38,38 +38,39 @@ GEM zeitwerk (~> 2.3) addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) - amazing_print (1.3.0) + amazing_print (1.4.0) benchmark_methods (0.7) bibtex-ruby (6.0.0) latex-decode (~> 0.0) builder (3.2.4) citeproc (1.0.10) namae (~> 1.0) - citeproc-ruby (1.1.13) + citeproc-ruby (1.1.14) citeproc (~> 1.0, >= 1.0.9) - csl (~> 1.5) + csl (~> 1.6) colorize (0.8.1) - concurrent-ruby (1.1.9) + concurrent-ruby (1.1.10) crack (0.4.5) rexml crass (1.0.6) - csl (1.5.2) + csl (1.6.0) namae (~> 1.0) + rexml csl-styles (1.0.1.11) csl (~> 1.0) diff-lcs (1.4.4) docile (1.4.0) - ebnf (2.1.3) - amazing_print (~> 1.2) + ebnf (2.3.1) + amazing_print (~> 1.4) htmlentities (~> 4.3) - rdf (~> 3.1) + rdf (~> 3.2) scanf (~> 1.0) - sxp (~> 1.1) - unicode-types (~> 1.6) - edtf (3.0.6) - activesupport (>= 3.0, < 7.0) + sxp (~> 1.2) + unicode-types (~> 1.7) + edtf (3.0.8) + activesupport (>= 3.0, < 8.0) excon (0.71.1) - faraday (0.17.4) + faraday (0.17.5) multipart-post (>= 1.2, < 3) faraday-encoding (0.0.5) faraday @@ -77,34 +78,32 @@ GEM faraday (>= 0.7.4, < 1.0) gender_detector (0.1.2) unicode_utils (>= 1.3.0) - haml (5.2.1) + haml (5.2.2) temple (>= 0.8.0) tilt - hamster (3.0.0) - concurrent-ruby (~> 1.0) hashdiff (1.0.1) htmlentities (4.3.4) - i18n (1.8.11) + i18n (1.10.0) concurrent-ruby (~> 1.0) iso8601 (0.9.1) json (2.5.1) - json-canonicalization (0.2.1) - json-ld (3.1.9) + json-canonicalization (0.3.0) + json-ld (3.2.0) htmlentities (~> 4.3) - json-canonicalization (~> 0.2) + json-canonicalization (~> 0.3) link_header (~> 0.0, >= 0.0.8) - multi_json (~> 1.14) - rack (~> 2.0) - rdf (~> 3.1) - json-ld-preloaded (3.1.6) - json-ld (~> 3.1) - rdf (~> 3.1) + multi_json (~> 1.15) + rack (~> 2.2) + rdf (~> 3.2) + json-ld-preloaded (3.2.0) + json-ld (~> 3.2) + rdf (~> 3.2) jsonlint (0.3.0) oj (~> 3) optimist (~> 3) latex-decode (0.3.2) link_header (0.0.8) - loofah (2.10.0) + loofah (2.17.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) maremma (4.9.7) @@ -118,6 +117,7 @@ GEM nokogiri (>= 1.11.2, < 1.13.0) oj (>= 2.8.3) oj_mimic_json (~> 1.0, >= 1.0.1) + matrix (0.4.2) mini_portile2 (2.6.1) minitest (5.15.0) multi_json (1.15.0) @@ -139,30 +139,29 @@ GEM rack-test (0.8.3) rack (>= 1.0, < 3) rake (12.3.3) - rdf (3.1.15) - hamster (~> 3.0) + rdf (3.2.7) link_header (~> 0.0, >= 0.0.8) - rdf-aggregate-repo (3.1.0) - rdf (~> 3.1) - rdf-rdfa (3.1.3) + rdf-aggregate-repo (3.2.0) + rdf (~> 3.2) + rdf-rdfa (3.2.0) haml (~> 5.2) htmlentities (~> 4.3) - rdf (~> 3.1, >= 3.1.13) - rdf-aggregate-repo (~> 3.1) - rdf-vocab (~> 3.1, >= 3.1.11) - rdf-xsd (~> 3.1) - rdf-rdfxml (3.1.1) + rdf (~> 3.2) + rdf-aggregate-repo (~> 3.2) + rdf-vocab (~> 3.2) + rdf-xsd (~> 3.2) + rdf-rdfxml (3.2.0) htmlentities (~> 4.3) - rdf (~> 3.1) - rdf-rdfa (~> 3.1) - rdf-xsd (~> 3.1) - rdf-turtle (3.1.3) - ebnf (~> 2.1) - rdf (~> 3.1, >= 3.1.8) - rdf-vocab (3.1.14) - rdf (~> 3.1, >= 3.1.12) - rdf-xsd (3.1.1) - rdf (~> 3.1) + rdf (~> 3.2) + rdf-rdfa (~> 3.2) + rdf-xsd (~> 3.2) + rdf-turtle (3.2.0) + ebnf (~> 2.3) + rdf (~> 3.2) + rdf-vocab (3.2.1) + rdf (~> 3.2, >= 3.2.4) + rdf-xsd (3.2.1) + rdf (~> 3.2) rexml (~> 3.2) rexml (3.2.5) rspec (3.10.0) @@ -187,21 +186,22 @@ GEM json (>= 1.8, < 3) simplecov-html (~> 0.10.0) simplecov-html (0.10.2) - sxp (1.1.0) - rdf (~> 3.1) + sxp (1.2.2) + matrix + rdf (~> 3.2) temple (0.8.2) - thor (1.1.0) + thor (1.2.1) tilt (2.0.10) tzinfo (2.0.4) concurrent-ruby (~> 1.0) - unicode-types (1.6.0) + unicode-types (1.7.0) unicode_utils (1.4.0) vcr (3.0.3) webmock (3.13.0) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - zeitwerk (2.5.3) + zeitwerk (2.5.4) PLATFORMS ruby @@ -219,4 +219,4 @@ DEPENDENCIES webmock (~> 3.0, >= 3.0.1) BUNDLED WITH - 2.2.26 + 2.3.12 diff --git a/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox.yml b/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox.yml new file mode 100644 index 00000000..76d5c6af --- /dev/null +++ b/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox.yml @@ -0,0 +1,65 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.crossref.org/works/10.1101/097196/transform/application/vnd.crossref.unixsd+xml + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Mozilla/5.0 (compatible; Maremma/4.9.7; mailto:info@datacite.org) + Accept: + - text/xml;charset=utf-8 + Accept-Encoding: + - gzip,deflate + response: + status: + code: 200 + message: OK + headers: + Date: + - Sat, 30 Apr 2022 20:48:18 GMT + Content-Length: + - '3783' + Set-Cookie: + - AWSALB=IzwiD4ckMWUgwRWarQseCh+WQh3+IWY10oqYDhQVBc7jlUBtU2FERh8acBdX/6RDUKxnvHbAJACMpfFTS30dCQTYFyNHZ+vFIAFa0Tn5yaSR8hq695pErmgTww4g; + Expires=Sat, 07 May 2022 20:48:18 GMT; Path=/, AWSALBCORS=IzwiD4ckMWUgwRWarQseCh+WQh3+IWY10oqYDhQVBc7jlUBtU2FERh8acBdX/6RDUKxnvHbAJACMpfFTS30dCQTYFyNHZ+vFIAFa0Tn5yaSR8hq695pErmgTww4g; + Expires=Sat, 07 May 2022 20:48:18 GMT; Path=/; SameSite=None + Link: + - !binary |- + PGh0dHA6Ly9keC5kb2kub3JnLzEwLjExMDEvMDk3MTk2PjsgcmVsPSJjYW5vbmljYWwiLCA8aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY+OyB2ZXJzaW9uPSJ2b3IiOyByZWw9Iml0ZW0iLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PjsgdGl0bGU9Ik1hcnRpbiBGZW5uZXIiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xMzA0LTE5Mzk+OyB0aXRsZT0iTWVyY+ggQ3Jvc2FzIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtNTIxMi03MDUyPjsgdGl0bGU9IkplZmZyZXkgR3JldGhlIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PjsgdGl0bGU9IkRhdmlkIEtlbm5lZHkiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS04NDc5LTAyNjI+OyB0aXRsZT0iSGVubmluZyBIZXJtamFrb2IiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS05ODUzLTU2Njg+OyB0aXRsZT0iUGhpbGlwcGUgUm9jY2EtU2VycmEiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0yMTg4LTI1NzA+OyB0aXRsZT0iR3VzdGF2byBEdXJhbmQiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xNzMxLTUzNDY+OyB0aXRsZT0iUm9iaW4gQmVyam9uIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODI0OS03Mzg4PjsgdGl0bGU9IlNlYmFzdGlhbiBLYXJjaGVyIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItODQwNi0zODcxPjsgdGl0bGU9Ik1hcnlhbm4gTWFydG9uZSI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MD47IHRpdGxlPSJUaW1vdGh5IENsYXJrIjsgcmVsPSJhdXRob3Ii + Access-Control-Expose-Headers: + - Link + Access-Control-Allow-Headers: + - X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language, + Accept-Ranges, Cache-Control + Access-Control-Allow-Origin: + - "*" + Vary: + - Accept-Encoding + Content-Encoding: + - gzip + Server: + - Jetty(9.4.40.v20210413) + X-Ratelimit-Limit: + - '50' + X-Ratelimit-Interval: + - 1s + X-Api-Pool: + - polite + X-Rate-Limit-Limit: + - '50' + X-Rate-Limit-Interval: + - 1s + Permissions-Policy: + - interest-cohort=() + Connection: + - close + body: + encoding: ASCII-8BIT + string: !binary |- + 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 + http_version: + recorded_at: Sat, 30 Apr 2022 20:48:19 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox_https.yml b/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox_https.yml new file mode 100644 index 00000000..2c061f56 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox_https.yml @@ -0,0 +1,65 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.crossref.org/works/10.1101/097196/transform/application/vnd.crossref.unixsd+xml + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Mozilla/5.0 (compatible; Maremma/4.9.7; mailto:info@datacite.org) + Accept: + - text/xml;charset=utf-8 + Accept-Encoding: + - gzip,deflate + response: + status: + code: 200 + message: OK + headers: + Date: + - Sat, 30 Apr 2022 20:48:18 GMT + Content-Length: + - '3783' + Set-Cookie: + - AWSALB=z0MokkwrAm/7H+MO2uvzfNnX6BI81Sx/X1RjL5Ysxi6FHpYi9MzyUqa6YSVqD61uKgrJ9+GK27lxsrtQgKQaFftYVTP5Jk8A6h6V6Cb1qz07NlAxQal1B+YS0KEY; + Expires=Sat, 07 May 2022 20:48:18 GMT; Path=/, AWSALBCORS=z0MokkwrAm/7H+MO2uvzfNnX6BI81Sx/X1RjL5Ysxi6FHpYi9MzyUqa6YSVqD61uKgrJ9+GK27lxsrtQgKQaFftYVTP5Jk8A6h6V6Cb1qz07NlAxQal1B+YS0KEY; + Expires=Sat, 07 May 2022 20:48:18 GMT; Path=/; SameSite=None + Link: + - !binary |- + PGh0dHA6Ly9keC5kb2kub3JnLzEwLjExMDEvMDk3MTk2PjsgcmVsPSJjYW5vbmljYWwiLCA8aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY+OyB2ZXJzaW9uPSJ2b3IiOyByZWw9Iml0ZW0iLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PjsgdGl0bGU9Ik1hcnRpbiBGZW5uZXIiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xMzA0LTE5Mzk+OyB0aXRsZT0iTWVyY+ggQ3Jvc2FzIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtNTIxMi03MDUyPjsgdGl0bGU9IkplZmZyZXkgR3JldGhlIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PjsgdGl0bGU9IkRhdmlkIEtlbm5lZHkiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS04NDc5LTAyNjI+OyB0aXRsZT0iSGVubmluZyBIZXJtamFrb2IiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS05ODUzLTU2Njg+OyB0aXRsZT0iUGhpbGlwcGUgUm9jY2EtU2VycmEiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0yMTg4LTI1NzA+OyB0aXRsZT0iR3VzdGF2byBEdXJhbmQiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xNzMxLTUzNDY+OyB0aXRsZT0iUm9iaW4gQmVyam9uIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODI0OS03Mzg4PjsgdGl0bGU9IlNlYmFzdGlhbiBLYXJjaGVyIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItODQwNi0zODcxPjsgdGl0bGU9Ik1hcnlhbm4gTWFydG9uZSI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MD47IHRpdGxlPSJUaW1vdGh5IENsYXJrIjsgcmVsPSJhdXRob3Ii + Access-Control-Expose-Headers: + - Link + Access-Control-Allow-Headers: + - X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language, + Accept-Ranges, Cache-Control + Access-Control-Allow-Origin: + - "*" + Vary: + - Accept-Encoding + Content-Encoding: + - gzip + Server: + - Jetty(9.4.40.v20210413) + X-Ratelimit-Limit: + - '50' + X-Ratelimit-Interval: + - 1s + X-Api-Pool: + - polite + X-Rate-Limit-Limit: + - '50' + X-Rate-Limit-Interval: + - 1s + Permissions-Policy: + - interest-cohort=() + Connection: + - close + body: + encoding: ASCII-8BIT + string: !binary |- + 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 + http_version: + recorded_at: Sat, 30 Apr 2022 20:48:18 GMT +recorded_with: VCR 3.0.3 From bf7c16f327d92cabd6982e3c3bf7c6905d27ac5d Mon Sep 17 00:00:00 2001 From: Suzanne Vogt Date: Sun, 1 May 2022 12:32:59 -0400 Subject: [PATCH 3/4] Issue-131 - problem reading crossref xml, funderIdentifier. --- lib/bolognese/readers/crossref_reader.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) mode change 100644 => 100755 lib/bolognese/readers/crossref_reader.rb diff --git a/lib/bolognese/readers/crossref_reader.rb b/lib/bolognese/readers/crossref_reader.rb old mode 100644 new mode 100755 index e7efaefa..2e1a960f --- a/lib/bolognese/readers/crossref_reader.rb +++ b/lib/bolognese/readers/crossref_reader.rb @@ -292,6 +292,7 @@ def crossref_people(bibliographic_metadata, contributor_role) end def crossref_funding_reference(program_metadata) + id = [] fundref = Array.wrap(program_metadata).find { |a| a["name"] == "fundref" } || {} Array.wrap(fundref.fetch("assertion", [])).select { |a| a["name"] == "fundgroup" && a["assertion"].present? }.map do |f| funder_identifier = nil @@ -307,13 +308,17 @@ def crossref_funding_reference(program_metadata) award_uri = a.fetch("awardURI", nil) elsif a.fetch("name") == "funder_name" funder_name = a.fetch("__content__", nil).to_s.squish.presence - ##### - funder_identifier = validate_funder_doi(a.dig("assertion", "__content__")) - funder_identifier_type = "Crossref Funder ID" if funder_identifier.present? + + # This is work-in-progress. This reads input with multiple funder_identifiers, but only outputs the last one. + # We need to determine what the DataCite xml writer will accept for multiple funder_identifiers to generate the correct DataCite xml. + Array.wrap(a.fetch("assertion", [])).select { |a| a["name"] == "funder_identifier" && a["__content__"].present? }.map do |f| + funder_identifier = validate_funder_doi(f.fetch("__content__", nil)) + funder_identifier_type = "Crossref Funder ID" if funder_identifier.present? + end end end - # funder_name is required in DataCite + # funder_name is required in DataCite. How do we handle multiple identifier/identifierTypes? if funder_name.present? { "funderIdentifier" => funder_identifier, "funderIdentifierType" => funder_identifier_type, From e61a28653a57a43f04cfba2fe2e3cb84113fae79 Mon Sep 17 00:00:00 2001 From: Suzanne Vogt Date: Mon, 2 May 2022 14:41:32 -0400 Subject: [PATCH 4/4] Issue-131 - problems reading crossref xml. (Added tests for examples. This is a WIP.) --- ...le_with_funding_multiple_award_numbers.yml | 117 +++++++++++++++++ ...th_funding_multiple_funder_identifiers.yml | 120 ++++++++++++++++++ spec/readers/crossref_reader_spec.rb | 116 +++++++++++++++++ spec/spec_helper.rb | 1 + 4 files changed, 354 insertions(+) create mode 100644 spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding_multiple_award_numbers.yml create mode 100644 spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding_multiple_funder_identifiers.yml diff --git a/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding_multiple_award_numbers.yml b/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding_multiple_award_numbers.yml new file mode 100644 index 00000000..269e6598 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding_multiple_award_numbers.yml @@ -0,0 +1,117 @@ +--- +http_interactions: +- request: + method: get + uri: https://doi.org/ra/10.3390 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Mozilla/5.0 (compatible; Maremma/4.9.7; mailto:info@datacite.org) + Accept: + - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 + Accept-Encoding: + - gzip,deflate + response: + status: + code: 200 + message: OK + headers: + Date: + - Mon, 02 May 2022 18:17:35 GMT + Content-Type: + - application/json;charset=UTF-8 + Connection: + - keep-alive + Permissions-Policy: + - interest-cohort=(),browsing-topics=() + Content-Encoding: + - gzip + Cf-Cache-Status: + - DYNAMIC + Expect-Ct: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=bWDkCDJMSPhNt7FwxxDTbZOlzvotumPT5li3We30i4n0e7qjtH9s2Hgd9%2F0ZXSDRFtgg4TUsMfWi8ad19W2XCKLnaWdpAk1%2FbFbvanpVgpTgxAqKh4SOOm8%3D"}],"group":"cf-nel","max_age":604800}' + Nel: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Server: + - cloudflare + Cf-Ray: + - 7052c12ccae68c15-EWR + Alt-Svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + body: + encoding: ASCII-8BIT + string: !binary |- + H4sIAAAAAAAAA4vmUlCoBmIFBSUXf08lKwUlQwM9Y2NLAyUdiGiQI0jQuSi/uLgoNU0JKFjLFQsA/mTzsjYAAAA= + http_version: + recorded_at: Mon, 02 May 2022 18:17:35 GMT +- request: + method: get + uri: https://api.crossref.org/works/10.3390/ijms23084442/transform/application/vnd.crossref.unixsd+xml + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Mozilla/5.0 (compatible; Maremma/4.9.7; mailto:info@datacite.org) + Accept: + - text/xml;charset=utf-8 + Accept-Encoding: + - gzip,deflate + response: + status: + code: 200 + message: OK + headers: + Date: + - Mon, 02 May 2022 18:17:35 GMT + Content-Length: + - '5824' + Set-Cookie: + - AWSALB=JauEzW5gHGNnOedIDzqn8P4EjVONAq+CINxy9m/FTeGwK6ChasLdABSvnDDQV/fQ48KeR0CA62uB0gUeAwFmmqC4NwADCL0SZiIQ9LgaX9a9p3lTBWKn0cxbbHlQ; + Expires=Mon, 09 May 2022 18:17:35 GMT; Path=/, AWSALBCORS=JauEzW5gHGNnOedIDzqn8P4EjVONAq+CINxy9m/FTeGwK6ChasLdABSvnDDQV/fQ48KeR0CA62uB0gUeAwFmmqC4NwADCL0SZiIQ9LgaX9a9p3lTBWKn0cxbbHlQ; + Expires=Mon, 09 May 2022 18:17:35 GMT; Path=/; SameSite=None + Link: + - ; rel="canonical", ; + version="vor"; rel="item", ; + version="vor"; rel="license", ; title="Yasen + Maimaitiyiming"; rel="author" + Access-Control-Expose-Headers: + - Link + Access-Control-Allow-Headers: + - X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language, + Accept-Ranges, Cache-Control + Access-Control-Allow-Origin: + - "*" + Vary: + - Accept-Encoding + Content-Encoding: + - gzip + Server: + - Jetty(9.4.40.v20210413) + X-Ratelimit-Limit: + - '50' + X-Ratelimit-Interval: + - 1s + X-Api-Pool: + - polite + X-Rate-Limit-Limit: + - '50' + X-Rate-Limit-Interval: + - 1s + Permissions-Policy: + - interest-cohort=() + Connection: + - close + body: + encoding: ASCII-8BIT + string: !binary |- + H4sIAAAAAAAA/9Vd3XLjtpK+P1X7DixfJVVDEgDBP6/HpzzOf8ZzpmYmlc25cVEkLMHDH4Wk7NFe7UPsE+6TbDdIWbJHMqFJJ2c3lUokigAajUb3191o+Ozvn6rSuVNtp5v65Qn32Imj6rwpdD1/efLLh+/c5OTv5387y9um61p1c92qblX2DrSqu5cni75fnvr+/f29t3nDa9q5/3vb5QtVZX6AHT50b76ZpqefOv2o+X1gGgrGuP8fV6/fm+aurrs+q3MFrTp9OvT5usmz3nRnM7pz6KXhlc5/mNnvK9Wur5tVv1z10ND71BUn5//2N8c5G34ZZm6ewLOFyorxM3wrGn09y/p8ca2L87qp1Zn/6NHYyN9pdTZrivW2BzOGA7PtV8BXGKsp79RIwHYQp18v1cuT22bV1ll5nbW9zkt1cs6ZFwQp8/Vt1YmAJVJKYUjYbZ+3lat7VTl1VkEny9Ws1N1CtS5+Pxm77voWlv7k/Oqbtz86F9+f+ZtWz/UE7NOf/nA3lapmQI0uNp3UK3wAs0ujxKqHXPdGNPb1EUShjAPBrDoaGbynn1imoR0xhVo2ne7dXlcK1rVaPu1KMCGY5CkLZMpTqz6b+xo4NPD7KatHGbDqp8y63l0ti6x/WDHz2dDkMuny9AMLThk/Fek/7VjfKuigONybOGXylAnL3uBzMVu7ebOq+6d8OzBF3HCtypu22Hlquh42+JTO+jQqDe7x49TNTsONtgFa9mubVa0/wTN4datfdmgd5e7J4+0P15XqM+Bt5pRZPV9lc2CLqp92Y1rcrMryutd9qc5/rHsFrXEWWen8NHTlNDfOVVOqfFVmrfM+16D2VXfm77Tb02s2m7XqbtPvT1fvz/xHj/Y00V1XO5UqdHY9rKOCQfu2qXUOQitRQlgUn/n43r72YIxUjWNdfvczrLz59hl//KcMOsxCGGe1l1CjEIfFvkb5fUR0U5e6Vvs4DS2rpu4X5/LMHz7sfWetstZsiDPffNxDgP+Ugn0vbaZx15Srat8b8M74mwjO/IOvbVl2+JWBVYlZmz0823Zx4PcndsrZnd/A1kHa1Kd+rwwbmer2z3GQt9ewKCC+WV04l7odZPl1U8+dN2AFLg2Mcd69uegcXTsX+QoW9fW6Wi6aGWpAnTuv1eqjqnR26nzXNpXzNusXzVzVqtOd0zfOJbzW6ZuRZjPMB1R0lar7M/+gyPsHCQdprkFfz1Z90x6Y2BLQEvAHFaHTKcAFsC+BUbrtQBPuNL9uYfe+PMlWQHK7XzCht7m+U0Nn579lnarP/J0nB9p0uGrw81Wmq0z3eq0r4OOZv3l+oNk/3l3++M35qAGbNteFUX0M/oEtzgSYgZS5Mglhsw/v7p2/v8OAYziUFYUeVNwfYxOI1Do7ik+/qed58y+f0oesOWo+2dRq/8tn9Kuqb1dHrtLq//icflhlx8znTdZmdQUqadVmf2xmaFWf1Upnt1nfnWYzgJpZPjp/p/jsESiq85n26rLyar3w5s2d/9PFh/f8gMk0PS7PPyyUM3ibTqvmwMTOyXKD+pybpnXA6q6dzOmqrCydJZgRRC09tFmsYOYOaOqmUi+MXsanLWAsXWNnd6DenSq7bVrdrzeNNiOggm/RwIO1mCsnq3C8Dt8C183Nt1bDcy5KWL3VfPH0F6do4FGPtCtDaVavnWXb9ErXL3AwILsFIVnN5wD+VYHG5L5pPzpZ5ygNv7dOv6qgXbdaApzvOlggx0w4H+wP9NGagaumAKvW48A4B/XJvI7WCOgdXsXp36zqvDezg8cjIfBL78CS1V3e6uUgoi8c8Er6Jw9ND/jcNT+UG6hYqjtVIheesZzOVxevX38NtOu5BowJ5NygJYUV0/M6q0cCgEWAppxX/gf0XvIViGPrglcE7C9Nt7pAqmE+GmUQzTXOdgauNHTVts2989Wrq689BwVmuWulYbpAgAOf8rLpFMpL1zW5Rm/EuQdWOxl4DS1Sgk2Q9Kzscf0Nt/oF8GhWNvnHLSGFvrlRLZh4vTX7RQsbE7qqYSLAmVyhQMIO1zdjV7iy9/gU/g+b8U7fZaXn/LrQgHv6DWYwi4OoEnZbbuhuFa6nQvnLBoGF1jkgcegFOLFGTqDv0KDMZMu1OwMrXjiqRJs8DAx9Zg/8ztewHQoM0Qy944bArguFW2KQo0J3CnoZuNMqXO47ZNyygdFxFWpwXDvk9ap7AWIOP8KsloDaHxbm0RIY6YFmO4IJg79wFLbRsHXXm2YDZctmuRpkDHpXw+aYwTZatWZjgIiXTasKlLt8VW2kX93pAhUu9FUgIMN2uHibVc0XYLZwN5QoNLj7WvgPjN2tbgDBaTXqlAKFullulgMo9Zx3KsevWXGH0SYzy3zdG3HMzfRGbW92ocoXdVM2cw0vguejshIXZKn3iZeu83JVDJs36/eoGBSXvGmWpoWZpZEFhKuwftAfjrR+yuIHwUKtBmYGO640eJxbsAutF9D3TKkaONqruhsWGSjW6l4VL2B3d6ghehR0XIqtJLzYNl1m2qyPkb/P9eMPsE9Q492rsWNDkq7vMHy1YXG5Ben5BqSXCNKf8mKUks2sXzgovUAfLsqLg2K20PMFCP/iQUc+WLPxLXgG0r5nMGRS/jnEh/05bAHgie4+Omj2+p1Xthv9YWN74AsNFm2vp7VrPv8M15M973sW2fqcgxuH//9TndMlKPQDbo1xYK7xhfMhOrnzYO9wB7o6e4hbXj+JAO28g5oCVwxEVhcjG5dan5w/DpBuXzs84+dGOrtpT41EZtUIim7aw3EiMNEFfsbAzxjnGh8dWFvoPUNkYKRu22AOwGB5EFAeaASTMPHZA80c583G6MMHQJTlJiTkfAfoqHiwNJcLMDuH+nhm8C2rTzYuYvHJwzgZsoYzjwcsSP2QcY4OI09YCiKy092h+Vq9tIeu7D5ri+tNTDERPGZcBv/uJAKHD0P4xJNYpEZUp4aweeUvXU2zTM5bgHRFkwOO2Luef/4yigSD5X/dMoIK41cxDBvH/x9X7Z8LdasBxTg/1oC6hj33QYFy+R7x65+3XH/xErF3DKQjIurw9TdC/BCguIUUa25eGJX63gi4fqLyM31Y5V8YJP/jAFjBr9nV/U9/O2AEYLybVqnrvrkGsFE4/sHXwDoDylPXmOvIlssS8Cm0enly14yr3wGJJk8DIC9vKgAMnaFybNj5s7UvPQbi8Li3vVza8mHfz5iM2RuG3/xqlbLcaYIZ0VWbq4eJIK+rYqk9mIn/kEbwReAn/tDXQ5O9HeZNiXkIlCqYB+Dvfo1ZrOy+VO3gZB3c3iZRNb768kS/zdqs0PPqwAp+Gfn+sriZmAKuwmEI5G8nuHf9nlmhs00e9Rrgzz68uvOK81GtMV99cyDQs11tznjkv2csFW4SxfIrJr+GPStDN3xm2f3NOJZUiGkqWOx3HDgeu6CJXDD7zE0JKQgmKRAR99s681gItMB3TskAOc2AIPFrxHiKcyFjwrHD48YOAsKxo4NjDwHY8x+aapblC1Bcw/dDbw+pqjGd+eaxz3j6JCH0wnm1459/N4bgTK7kcT8HBtvkx4aXLoo7z/n209JzrjD4gV172xTbsx3lvw0OHAejOnw+vBCo7jCU0qK6G2zVycPOSOPEDdyAp64ULExdcc0PL9I205gG8TOpRvPmjrsXTDh/X7D88aTohTz0b/XMBSaloGsFpeAnlrqPS+ZGcRB9xdOvgwCcHPcZ7h5NRWq1/Wb5rQc8iL2QcvtxNjk4DxNfRBKkC8y99+ryG1gKWIiUlIxJK2QwR44BpbbjApSQTBNKAqYN0AE+cEpR4NNWCCXy1rud6aZFeUhx/0ek5oBP26IdXsh0y4swoiRj0iw9komAR5JFpDJx2DY9XowqWzf5Elcj8ljqgZNEScW0ihyhUZRIA41YDAaAlBHTehIFAlBh4oYyFkYgjLaWpJvDQlE+Vtdp+jVLJQtIgaKYVpkjGVHoyoglXzEOiDkEq0EpF8JOZRo3DSCBiBJKhS0sAHvCfB7LWLIk8jDAA/9hcRyRkjGtL3kY+qgn/SSVXMaUAiksQDtuTUQt4LXwyAUXInbXlCRYYHejo2azqh/sBZOgoSQlDZN6clcSUxmy5wIGR48+rR/3WG4OyimhNJrisI4cHZdX4Fq0WXWcI/NjhajfZORM5qtZ9XlTmbxhvtBlsWiawslMmr98lOYv1epjtpPnH1N0v/z8P//13xdPUtWYhGzAsRiOe+a6Vg+nGMYXMYf+y8+YdutbnZVD6lg/Op6KYYts1gwJ1C/yo161nvOT5/wAZGf98T6UOSL+nA81+jk85Uf4PGE0lfL6EmGZtmQHZDaljDkEFpZsgBYpF0Z/gRWjhRbBdPhpP+4GVUZJhgX8T4Q/K2G7oScauCx1Q5GCEqGkwgL9h5H/5tufrpoM0aaIKTVpcBTu31kLnpByYdKkiQDAHYYkReTKVEYe4m4piUOSgQX8H1eDp3HABYtEkgr4QEmEBfpHsAnIhsFayPArlnwdY3zSpfTFAgsPgHN/drvwuJSkLnFgifq3HOACOBAmtByQ07oS4K3/0+U/EOaGHgsA9cSUWFdaROqNtmZhGA6OYJrIxP1PShq+KEyChovUM5c2sH+v1eCkMmGB/w347vV8iN2hYDBK7C0tgiRJ6t80dT6ifxYHlN6wnNaSwAR/nhXwwRMeJ40RSTv1eOvhuc9xCdD9oVRQ0iKKHCR+JznqJLMvWcBD0piEtFOSD3xgCTwAPlCaqtAuLnLrVU0JZOBqCI/BgpDmk0K7fOYuFZHhBSPNqE3rySDmG//GW85Vjdo7CEmRVGgbTd7ygqHhAjVJSYWtltzsUe4xwHOCUk+ER6U4AUqSiqR1HPlhGTCIDP9SwtnQVlU+2hhAhaBUVOG0snxIs0eJSBJ0vCjHt1WUWy4kxmpzSi5EFlm3JPIxXAnoKZJu4pIa7chWSW62JNhMYAPpSkQWUFJEfjecfvSyrAWnj1InRJPacYBOIw8E9+IkkiEleossVGMa+Itq7hfF7zygNFGRbeT4YScINuwE0uMfFroRFXPlBWlCaZUia+SY1aXqh+mjOpSkm2BSHQ45ThDBDnB0wMKYVAYstCHI3+xmvvRVeU+Lm2NbvDjTzXKRbZLdaZBSaoH4eLwIVAhiHyK2SKfhNsDTn+DgS0bKAgtveif4yRKXRS6P0DBRUnEsTGQm104aBo6ndeIj2N7UCrP9nBa2xxYu9W4wOnQ5d6OEJaSoNT7WtZbGOkhKnBLbHdC69XQFSmIw0jwUnJaISSUZgFbyYVeKhKcSWRF4iUjDmHJ7JBbaEqMMrVqCjJIyILHI0WzkcVOJaWItjIVhQLkzkiPSNAa6J7EMGeWuSCxc6jT2Ly++8djOP5xWTyUWulIK/9X7d2iugiggHXxaSaLz0nGRBmMcGiQyIk0bJtNHDpJU+M0IW7ngpGcOElvduGyXIwVhIEijbYmFamTC50kM5hpcavSrI1ICLLDjkDxmQYCRd0ANPOKkp1/SaaUYAnzmCQCWVCTCWAgmQ9LTu0cASF1Vo5HC4CslhkstAOSORpARKQsslOJ2cMliynNw6bQuTKIAdAGA5x7vDekBxIFOpCTBXiNK2Ao8hq2QCvcTJQkWfvSYHBSpIUFI2JKUpjG1OIi1ywWwDTIJSdOTqUWaepeE1OV4loOUC4fV4nju61dzS9Mxh8Be1/m7NxfO5bs333zrvG2bqunNRTMKv+xeq/DKNfebvN3c1PL8BTCztfPBbIjN/QuVfucGeIpi6V+++/aVc/FJd190kusKDK9ziUGLP+kMl3zuhjzz4s6RrRjjltRHuGA7WcpagLVyQ9ovZSmp/QPptSNCsiCSgxFmAYtd0nIBZncogIeSu3GcRN7V5TsXtz8Ds/yBlBLLkO6QDRfCi+MgIkXmYOgmTy9xCQ7C1cU7770A9yQlLRZgR50HwJh2xAWjzDNxZmOKhH+bl5kngpD0WDpntsgcdJraYDEexpT+Mmd2p6X0bbkALBISC6AFLk+YL3gUhmmcDvtAsIBLWjGYriwLUhb5M712AZ9zV5LWDk0XlO3lgpSCNHTCLerKnqJTISWtREwXlQ3OcjvkfENOW01mUU72NM4/nE4hlgiLfBeoJb2aeeCj0HLAIqAL+mCpa/DSU+LCSgtUvjm5SXz8hFvUjWHMslSrQfISyvgEny4XE4LHvlpqDKJH6JGQCpxNnViQ+pfR1SusRZHfkw4+rf/2ZDJiyQVl0JpblIl9ToZgsQhJUZFFmdh4RE9idgtLF0WYkJ7Q4xbFYrv+AlYLYpCAVBlMV4ttw6aghNMkIN2RloViD1XeLBUyoV2ESW1oKDAXZJp8e0AaN+bPVInt5QBIbkKav+AWpUd7dmQY0J4V5TalRwYULPq83ybdaXkxXXw0OEsoDoOvEIURe/a6o+NpsElpmZBVksSDBw8OfEBa6cJtCo8G/RjEo26C3eGSmorp6qMgENJfbKoDB5iYspC0jJNPVx9t0t55Ox5hjogPD3ObyiM8DdLmPElIDeV0udFniyAxukNbXM5tyo32V6LR+rAWtUef02EuPqBdlunio+0xsRSYIEhPDnOLyqPPUiyCkRb6c4vKozHdmKTpGG4NE0GrJy3qjrbnNVdM0gqB/W0DEVbrBi7QK0mL4Ph0uREPRSh8VQ2ZTqBC0gIHm3qj/ZfT0Koom8qj0aVAhYBXRrE4ob2WxabyyNiq+XI22kvEULQ0TOa7fsi6har0cSmvi/FvAYyJrbLO3dcXV5fC5afcaTuMoYdxMvz9oIv3lwk8A93PQhnHztumXFdNu1zoruqGy/Lf4XXgwy3I450Jz2XGvuwWuE5ntfM2y80lBpcGwWMm7o78LrjNPQbHXN0m0yT8E5JgNjVfg06SQWJuEACfJqZ1rKcrvoxTO2uH+j+wjqQbYLrUS/AkDvx8jkeBAtrQ7nSFl5BxAvJXmQv0Ekz/0c7++NMXgiWcFC5bFHcNlwAJ7kdROlyXTzi8bXnX6EaOxV20rqxFdZdZh2yu67lJ95AeP+IWdV2Yb4FZR2HIgzHzliQ8pb3Gb7q+6/GlcSKIGOkxdm5R27V7m2pKq41sKrt2YIkJJ8SS9ggMtyjt+uzoOPVRfj5d3rUlolXL0ZVFfESqHWxKvJ7UlwRDsR2pjrSu9tpyIzKlwCGteNpFNkytPB/Pq8iItlae25R+ARH5CBhID0/z6Yqvz+QhHGqyaeXBQk9i6BOomI2hTxHGtIbTpgAMvOk6a/35x3VMWpTObeq+RkUZxcOZTYCukXtPSoStouxbBSZrrMHkxBc3cJsCsP3XqZDWhnOLErADl/DGpGDGogxso6XSIV0YsiSSpEdZ+TFVYDtVN/hXcERAWinMp0vBHh0qM2fbQ9LAm00h2IOquOe0l8Px6Qqwp7XCeHUCQglSsZwuAds90IAKizZVNV0HFseh9C9LXXuvs9FsYOUN6QUv3KII7FHxDZYEBiHpgX9uUwa26/NhBZCUMemdJtymCgzv4I1YnMhQjrxI05inpOrBoiDsczqwjpj47Ot0UdgTH5j42nSbqjAm/I+3lQDtEIS0m9OmHgzzI0EYj3lkFjJJm8O1qAnDw2Z51sGeZLTHvaZrwZ5e5xEFaUp7VbtNLdiYR0/FZhGilDZJZVEKdgBFhV+K5rY/7v/LQ9sI+BhYf/LGw++PnkOv49852XlsKLwGONy0xcPjM//3lWo3fyPzzJ81xfBl/AHe71Yl0rXtc/PsfwHaUWFnSokAAA== + http_version: + recorded_at: Mon, 02 May 2022 18:17:35 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding_multiple_funder_identifiers.yml b/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding_multiple_funder_identifiers.yml new file mode 100644 index 00000000..e26b9d48 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding_multiple_funder_identifiers.yml @@ -0,0 +1,120 @@ +--- +http_interactions: +- request: + method: get + uri: https://doi.org/ra/10.1093 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Mozilla/5.0 (compatible; Maremma/4.9.7; mailto:info@datacite.org) + Accept: + - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 + Accept-Encoding: + - gzip,deflate + response: + status: + code: 200 + message: OK + headers: + Date: + - Mon, 02 May 2022 17:20:13 GMT + Content-Type: + - application/json;charset=UTF-8 + Connection: + - keep-alive + Permissions-Policy: + - interest-cohort=(),browsing-topics=() + Content-Encoding: + - gzip + Cf-Cache-Status: + - DYNAMIC + Expect-Ct: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=q4tjhimufJvWA8LrLwh69ilqQgbB3FsRJii8Ivm8W3T7IJlWG%2Fth6S2HoNO%2F%2FYqo4eNGs4Xb%2F7%2BV5sND%2FnR6EM6BSVhR9%2F%2FzB8ct5qXX0%2FF0FMiqK37W9kc%3D"}],"group":"cf-nel","max_age":604800}' + Nel: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Server: + - cloudflare + Cf-Ray: + - 70526d227b413344-EWR + Alt-Svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400 + body: + encoding: ASCII-8BIT + string: !binary |- + H4sIAAAAAAAAA4vmUlCoBmIFBSUXf08lKwUlQwM9QwNLYyUdiGiQI0jQuSi/uLgoNU0JKFjLFQsAv2ioUjYAAAA= + http_version: + recorded_at: Mon, 02 May 2022 17:20:13 GMT +- request: + method: get + uri: https://api.crossref.org/works/10.1093/mnras/stab1131/transform/application/vnd.crossref.unixsd+xml + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Mozilla/5.0 (compatible; Maremma/4.9.7; mailto:info@datacite.org) + Accept: + - text/xml;charset=utf-8 + Accept-Encoding: + - gzip,deflate + response: + status: + code: 200 + message: OK + headers: + Date: + - Mon, 02 May 2022 17:20:13 GMT + Content-Length: + - '5206' + Set-Cookie: + - AWSALB=Vv0n/9KI4KScBF1WY1oCNWiBCOhU3UsQZ0sDOR0aXjFzLJdiBx4ykPWzHTNu+fL+37hwKLRkowCeRPB4YBtrBDy3CilfCijSBHMeGuYByiRWSuxI/5RV34AzLtmt; + Expires=Mon, 09 May 2022 17:20:13 GMT; Path=/, AWSALBCORS=Vv0n/9KI4KScBF1WY1oCNWiBCOhU3UsQZ0sDOR0aXjFzLJdiBx4ykPWzHTNu+fL+37hwKLRkowCeRPB4YBtrBDy3CilfCijSBHMeGuYByiRWSuxI/5RV34AzLtmt; + Expires=Mon, 09 May 2022 17:20:13 GMT; Path=/; SameSite=None + Link: + - ; rel="canonical", ; + version="am"; type="application/pdf"; rel="item", ; + version="vor"; type="application/pdf"; rel="item", ; + version="vor"; rel="item", ; + version="vor"; rel="license", ; title="Fernanda + Duplancic"; rel="author", ; title="Georgina + V Coldwell"; rel="author" + Access-Control-Expose-Headers: + - Link + Access-Control-Allow-Headers: + - X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language, + Accept-Ranges, Cache-Control + Access-Control-Allow-Origin: + - "*" + Vary: + - Accept-Encoding + Content-Encoding: + - gzip + Server: + - Jetty(9.4.40.v20210413) + X-Ratelimit-Limit: + - '50' + X-Ratelimit-Interval: + - 1s + X-Api-Pool: + - polite + X-Rate-Limit-Limit: + - '50' + X-Rate-Limit-Interval: + - 1s + Permissions-Policy: + - interest-cohort=() + Connection: + - close + body: + encoding: ASCII-8BIT + string: !binary |- + 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 + http_version: + recorded_at: Mon, 02 May 2022 17:20:13 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/readers/crossref_reader_spec.rb b/spec/readers/crossref_reader_spec.rb index 80312311..7902672a 100644 --- a/spec/readers/crossref_reader_spec.rb +++ b/spec/readers/crossref_reader_spec.rb @@ -104,6 +104,122 @@ expect(subject.agency).to eq("crossref") end + # WIP + # 1) Crossref returns "Organization", crossref_reader.rb changes that to 'Crossref Funder ID" + # 2) Funder "New York University University of Notre Dame" should have 2 funderIdentifiers + # Funder "Ohio State University Pennsylvania State University..." should have 5 funderIdentifiers + it "journal article with funding multiple funder_identifiers" do + input = "https://doi.org/10.1093/mnras/stab1131" + subject = Bolognese::Metadata.new(input: input) + expect(subject.valid?).to be true + expect(subject.id).to eq("https://doi.org/10.1093/mnras/stab1131") + expect(subject.funding_references).to eq( + [ + { + "funderIdentifier"=>"https://doi.org/10.13039/501100002923", + # "funderIdentifierType"=>"Organization", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"CONICET" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100007747", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"University of Utah" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100008047", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"Carnegie Mellon University" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100009207", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"Harvard-Smithsonian Center for Astrophysics" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/501100004721", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"University of Tokyo" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100005846", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"AIP" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100009611", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"New Mexico State University" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100008109", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"New York University University of Notre Dame" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100007493", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"Ohio State University Pennsylvania State University Universidad Nacional Aut??noma de M??xico University of Arizona University of Colorado Boulder" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100009153", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"University of Portsmouth" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100008457", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"University of Virginia" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100007812", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"University of Washington" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100005595", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"University of California" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/100000104", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"National Aeronautics and Space Administration" + } + ] + ) + end + + # WIP + # 1) Crossref returns "Organization", crossref_reader.rb changes that to 'Crossref Funder ID" + # 2) Funder "Zhejiang Innovation Team Grant": should have 1 funderIdentifier and 2 award numbers. + it "journal article with funding multiple award_numbers" do + input = "https://doi.org/10.3390/ijms23084442" + subject = Bolognese::Metadata.new(input: input) + expect(subject.valid?).to be true + expect(subject.id).to eq("https://doi.org/10.3390/ijms23084442") + expect(subject.funding_references).to eq( + [ + { + "funderIdentifier"=>"https://doi.org/10.13039/501100001809", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"National Natural Science Foundation of China", + "awardNumber"=>"82170143; 82000155; 81872942" + }, + { + "funderIdentifier"=>"https://doi.org/10.13039/501100002858", + "funderIdentifierType"=>"Crossref Funder ID", + "funderName"=>"China Postdoctoral Science Foundation", + "awardNumber"=>"2021M702877" + }, + { + "funderName"=>"Zhejiang Innovation Team Grant", + "awardNumber"=>"LD22H310005" + } + ] + ) + end + it "journal article original language title" do input = "https://doi.org/10.7600/jspfsm.56.60" subject = Bolognese::Metadata.new(input: input) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 0a54f32d..4dc0695c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -91,4 +91,5 @@ def silence_warnings c.ignore_localhost = true c.ignore_hosts 'codeclimate.com' c.configure_rspec_metadata! + # c.allow_http_connections_when_no_cassette = true end