bolognese 0.7.2 → 0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +4 -1
- data/README.md +25 -16
- data/bolognese.gemspec +2 -1
- data/codemeta.json +39 -0
- data/lib/bolognese.rb +4 -0
- data/lib/bolognese/array.rb +11 -0
- data/lib/bolognese/author_utils.rb +35 -21
- data/lib/bolognese/bibtex.rb +4 -4
- data/lib/bolognese/codemeta.rb +8 -13
- data/lib/bolognese/crossref.rb +22 -20
- data/lib/bolognese/datacite.rb +61 -61
- data/lib/bolognese/datacite_json.rb +208 -0
- data/lib/bolognese/datacite_utils.rb +17 -48
- data/lib/bolognese/metadata.rb +83 -22
- data/lib/bolognese/schema_org.rb +42 -16
- data/lib/bolognese/utils.rb +79 -13
- data/lib/bolognese/version.rb +1 -1
- data/lib/bolognese/whitelist_scrubber.rb +45 -0
- data/spec/array_spec.rb +20 -0
- data/spec/author_utils_spec.rb +93 -9
- data/spec/bibtex_spec.rb +4 -4
- data/spec/cli_spec.rb +5 -0
- data/spec/codemeta_spec.rb +41 -31
- data/spec/crossref_spec.rb +47 -72
- data/spec/datacite_json_spec.rb +65 -0
- data/spec/datacite_spec.rb +67 -83
- data/spec/datacite_utils_spec.rb +9 -14
- data/spec/fixtures/datacite.json +49 -0
- data/spec/fixtures/datacite_software.json +18 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +214 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/author_from_schema_org/with_id.yml +930 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/author_to_schema_org/with_id.yml +930 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/authors_as_string/author.yml +137 -860
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/authors_as_string/no_author.yml +137 -860
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/authors_as_string/single_author.yml +137 -860
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/authors_as_string/with_organization.yml +137 -860
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/from_schema_org/with_id.yml +930 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_name_identifier/has_ORCID.yml +155 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_name_identifier/has_no_ORCID.yml +134 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_familyName.yml +155 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_display-order.yml +186 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_display-order_with_ORCID.yml +177 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/has_name_in_sort-order.yml +173 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/get_one_author/is_organization.yml +207 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_comma.yml +207 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_family_name.yml +207 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_id.yml +207 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_no_info.yml +207 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_type_organization.yml +207 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/is_personal_name_/has_type_person.yml +207 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/sanitize/should_only_keep_specific_tags.yml +930 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/sanitize/should_remove_a_tags.yml +930 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Crossref/to_schema_org/with_id.yml +930 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Datacite/insert_related_identifiers/related_identifier.yml +173 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_DataciteJson/get_metadata_as_bibtex/BlogPosting.yml +155 -0
- data/spec/schema_org_spec.rb +17 -14
- data/spec/utils_spec.rb +32 -2
- metadata +54 -4
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Bolognese::DataciteJson, vcr: true do
|
|
4
|
+
let(:string) { IO.read(fixture_path + "datacite.json") }
|
|
5
|
+
|
|
6
|
+
subject { Bolognese::DataciteJson.new(string: string) }
|
|
7
|
+
|
|
8
|
+
context "get metadata as string" do
|
|
9
|
+
it "BlogPosting" do
|
|
10
|
+
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
|
11
|
+
expect(subject.type).to eq("ScholarlyArticle")
|
|
12
|
+
expect(subject.additional_type).to eq("BlogPosting")
|
|
13
|
+
expect(subject.resource_type_general).to eq("Text")
|
|
14
|
+
expect(subject.author).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
|
|
15
|
+
expect(subject.title).to eq("Eating your own Dog Food")
|
|
16
|
+
expect(subject.alternate_name).to eq("type"=>"Local accession number", "name"=>"MS-49-3632-5083")
|
|
17
|
+
expect(subject.date_published).to eq("2016-12-20")
|
|
18
|
+
expect(subject.is_part_of).to eq("id"=>"https://doi.org/10.5438/0000-00ss", "relationType"=>"IsPartOf")
|
|
19
|
+
expect(subject.references).to eq([{"id"=>"https://doi.org/10.5438/0012", "relationType"=>"References"}, {"id"=>"https://doi.org/10.5438/55e5-t5c0", "relationType"=>"References"}])
|
|
20
|
+
expect(subject.provider).to eq("DataCite")
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
context "get metadata as codemeta" do
|
|
25
|
+
it "SoftwareSourceCode" do
|
|
26
|
+
string = IO.read(fixture_path + "datacite_software.json")
|
|
27
|
+
subject = Bolognese::DataciteJson.new(string: string)
|
|
28
|
+
json = JSON.parse(subject.codemeta)
|
|
29
|
+
expect(json["@context"]).to eq("https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld")
|
|
30
|
+
expect(json["@id"]).to eq("https://doi.org/10.5063/f1m61h5x")
|
|
31
|
+
expect(json["@type"]).to eq("SoftwareSourceCode")
|
|
32
|
+
expect(json["identifier"]).to eq("https://doi.org/10.5063/f1m61h5x")
|
|
33
|
+
expect(json["agents"]).to eq("type"=>"Person", "name"=>"Matthew B. Jones", "givenName"=>"Matthew B.", "familyName"=>"Jones")
|
|
34
|
+
expect(json["title"]).to eq("dataone: R interface to the DataONE network of data repositories")
|
|
35
|
+
expect(json["datePublished"]).to eq("2016")
|
|
36
|
+
expect(json["publisher"]).to eq("KNB Data Repository")
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
context "get metadata as bibtex" do
|
|
41
|
+
it "Dataset" do
|
|
42
|
+
bibtex = BibTeX.parse(subject.bibtex).to_a(quotes: '').first
|
|
43
|
+
expect(bibtex[:bibtex_type].to_s).to eq("article")
|
|
44
|
+
expect(bibtex[:bibtex_key]).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
|
45
|
+
expect(bibtex[:doi]).to eq("10.5438/4K3M-NYVG")
|
|
46
|
+
expect(bibtex[:title]).to eq("Eating your own Dog Food")
|
|
47
|
+
expect(bibtex[:author]).to eq("Fenner, Martin")
|
|
48
|
+
expect(bibtex[:publisher]).to eq("DataCite")
|
|
49
|
+
expect(bibtex[:year]).to eq("2016")
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it "BlogPosting" do
|
|
53
|
+
id = "https://doi.org/10.5438/4K3M-NYVG"
|
|
54
|
+
subject = Bolognese::Datacite.new(id: id)
|
|
55
|
+
bibtex = BibTeX.parse(subject.bibtex).to_a(quotes: '').first
|
|
56
|
+
expect(bibtex[:bibtex_type].to_s).to eq("article")
|
|
57
|
+
expect(bibtex[:bibtex_key]).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
|
58
|
+
expect(bibtex[:doi]).to eq("10.5438/4K3M-NYVG")
|
|
59
|
+
expect(bibtex[:title]).to eq("Eating your own Dog Food")
|
|
60
|
+
expect(bibtex[:author]).to eq("Fenner, Martin")
|
|
61
|
+
expect(bibtex[:publisher]).to eq("DataCite")
|
|
62
|
+
expect(bibtex[:year]).to eq("2016")
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
data/spec/datacite_spec.rb
CHANGED
|
@@ -12,23 +12,16 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
12
12
|
expect(subject.type).to eq("Dataset")
|
|
13
13
|
expect(subject.additional_type).to eq("DataPackage")
|
|
14
14
|
expect(subject.resource_type_general).to eq("Dataset")
|
|
15
|
-
expect(subject.author).to eq(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
{"@type"=>"Person", "givenName"=>"Dieudonné", "familyName"=>"Nkoghe"},
|
|
21
|
-
{"@type"=>"Person", "givenName"=>"Eric", "familyName"=>"Leroy"},
|
|
22
|
-
{"@type"=>"Person", "givenName"=>"François", "familyName"=>"Renaud"}])
|
|
23
|
-
expect(subject.name).to eq("Data from: A new malaria agent in African hominids.")
|
|
24
|
-
expect(subject.alternate_name).to eq("Ollomo B, Durand P, Prugnolle F, Douzery EJP, Arnathau C, Nkoghe D, Leroy E, Renaud F (2009) A new malaria agent in African hominids. PLoS Pathogens 5(5): e1000446.")
|
|
25
|
-
expect(subject.license).to eq("http://creativecommons.org/publicdomain/zero/1.0/")
|
|
15
|
+
expect(subject.author.length).to eq(8)
|
|
16
|
+
expect(subject.author.first).to eq("type"=>"Person", "name"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
|
|
17
|
+
expect(subject.title).to eq("Data from: A new malaria agent in African hominids.")
|
|
18
|
+
expect(subject.alternate_name).to eq("type"=>"citation", "name"=>"Ollomo B, Durand P, Prugnolle F, Douzery EJP, Arnathau C, Nkoghe D, Leroy E, Renaud F (2009) A new malaria agent in African hominids. PLoS Pathogens 5(5): e1000446.")
|
|
19
|
+
expect(subject.license).to eq("url"=>"http://creativecommons.org/publicdomain/zero/1.0/")
|
|
26
20
|
expect(subject.date_published).to eq("2011")
|
|
27
|
-
expect(subject.has_part).to eq([{"
|
|
28
|
-
|
|
29
|
-
expect(subject.
|
|
30
|
-
expect(subject.
|
|
31
|
-
expect(subject.provider).to eq("@type"=>"Organization", "name"=>"DataCite")
|
|
21
|
+
expect(subject.has_part).to eq([{"id"=>"https://doi.org/10.5061/dryad.8515/1", "relationType"=>"HasPart"}, {"id"=>"https://doi.org/10.5061/dryad.8515/2", "relationType"=>"HasPart"}])
|
|
22
|
+
expect(subject.references).to eq("id"=>"https://doi.org/10.1371/journal.ppat.1000446", "relationType"=>"IsReferencedBy")
|
|
23
|
+
expect(subject.publisher).to eq("Dryad Digital Repository")
|
|
24
|
+
expect(subject.provider).to eq("DataCite")
|
|
32
25
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
|
33
26
|
end
|
|
34
27
|
|
|
@@ -40,17 +33,16 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
40
33
|
expect(subject.type).to eq("ScholarlyArticle")
|
|
41
34
|
expect(subject.additional_type).to eq("BlogPosting")
|
|
42
35
|
expect(subject.resource_type_general).to eq("Text")
|
|
43
|
-
expect(subject.author).to eq("
|
|
44
|
-
expect(subject.
|
|
45
|
-
expect(subject.alternate_name).to eq("MS-49-3632-5083")
|
|
46
|
-
expect(subject.description).to start_with("Eating your own dog food")
|
|
36
|
+
expect(subject.author).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
|
|
37
|
+
expect(subject.title).to eq("Eating your own Dog Food")
|
|
38
|
+
expect(subject.alternate_name).to eq("type"=>"Local accession number", "name"=>"MS-49-3632-5083")
|
|
39
|
+
expect(subject.description["text"]).to start_with("Eating your own dog food")
|
|
47
40
|
expect(subject.date_published).to eq("2016-12-20")
|
|
48
41
|
expect(subject.date_modified).to eq("2016-12-20")
|
|
49
|
-
expect(subject.is_part_of).to eq("
|
|
50
|
-
expect(subject.
|
|
51
|
-
|
|
52
|
-
expect(subject.
|
|
53
|
-
expect(subject.provider).to eq("@type"=>"Organization", "name"=>"DataCite")
|
|
42
|
+
expect(subject.is_part_of).to eq("id"=>"https://doi.org/10.5438/0000-00ss", "relationType"=>"IsPartOf")
|
|
43
|
+
expect(subject.references).to eq([{"id"=>"https://doi.org/10.5438/0012", "relationType"=>"References"}, {"id"=>"https://doi.org/10.5438/55e5-t5c0", "relationType"=>"References"}])
|
|
44
|
+
expect(subject.publisher).to eq("DataCite")
|
|
45
|
+
expect(subject.provider).to eq("DataCite")
|
|
54
46
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-4")
|
|
55
47
|
end
|
|
56
48
|
|
|
@@ -62,12 +54,12 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
62
54
|
expect(subject.type).to eq("ScholarlyArticle")
|
|
63
55
|
expect(subject.additional_type).to eq("ConferencePaper")
|
|
64
56
|
expect(subject.resource_type_general).to eq("Text")
|
|
65
|
-
expect(subject.author).to eq("
|
|
66
|
-
expect(subject.
|
|
67
|
-
expect(subject.description).to start_with("
|
|
57
|
+
expect(subject.author).to eq("type"=>"Person", "name"=>"Nathaniel Johnston", "givenName"=>"Nathaniel", "familyName"=>"Johnston")
|
|
58
|
+
expect(subject.title).to eq("The Minimum Size of Qubit Unextendible Product Bases")
|
|
59
|
+
expect(subject.description["text"]).to start_with("We investigate the problem of constructing unextendible product bases in the qubit case")
|
|
68
60
|
expect(subject.date_published).to eq("2013")
|
|
69
|
-
expect(subject.publisher).to eq("
|
|
70
|
-
expect(subject.provider).to eq("
|
|
61
|
+
expect(subject.publisher).to eq("Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik GmbH, Wadern/Saarbruecken, Germany")
|
|
62
|
+
expect(subject.provider).to eq("DataCite")
|
|
71
63
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-2.1")
|
|
72
64
|
end
|
|
73
65
|
|
|
@@ -79,14 +71,14 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
79
71
|
expect(subject.type).to eq("SoftwareSourceCode")
|
|
80
72
|
expect(subject.additional_type).to eq("Software")
|
|
81
73
|
expect(subject.resource_type_general).to eq("Software")
|
|
82
|
-
expect(subject.author).to eq("
|
|
83
|
-
expect(subject.
|
|
84
|
-
expect(subject.description).to start_with("
|
|
85
|
-
expect(subject.license).to eq(["info:eu-repo/semantics/openAccess", "https://creativecommons.org/licenses/by-nc-sa/4.0/"])
|
|
74
|
+
expect(subject.author).to eq("type"=>"Person", "name"=>"Kristian Garza", "givenName"=>"Kristian", "familyName"=>"Garza")
|
|
75
|
+
expect(subject.title).to eq("Analysis Tools for Crossover Experiment of UI using Choice Architecture")
|
|
76
|
+
expect(subject.description["text"]).to start_with("This tools are used to analyse the data produced by the Crosssover Experiment")
|
|
77
|
+
expect(subject.license).to eq([{"url"=>"info:eu-repo/semantics/openAccess", "name"=>"Open Access"}, {"url"=>"https://creativecommons.org/licenses/by-nc-sa/4.0/", "name"=>"Creative Commons Attribution-NonCommercial-ShareAlike"}])
|
|
86
78
|
expect(subject.date_published).to eq("2016-03-27")
|
|
87
|
-
expect(subject.
|
|
88
|
-
expect(subject.publisher).to eq("
|
|
89
|
-
expect(subject.provider).to eq("
|
|
79
|
+
expect(subject.references).to eq("id"=>"https://github.com/kjgarza/frame_experiment_analysis/tree/v1.0", "relationType"=>"IsSupplementTo")
|
|
80
|
+
expect(subject.publisher).to eq("Zenodo")
|
|
81
|
+
expect(subject.provider).to eq("DataCite")
|
|
90
82
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
|
91
83
|
end
|
|
92
84
|
|
|
@@ -99,14 +91,14 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
99
91
|
expect(subject.additional_type).to eq("Dataset")
|
|
100
92
|
expect(subject.resource_type_general).to eq("Dataset")
|
|
101
93
|
expect(subject.author.count).to eq(11)
|
|
102
|
-
expect(subject.author.first).to eq("
|
|
103
|
-
expect(subject.
|
|
104
|
-
expect(subject.description).to start_with("<
|
|
105
|
-
expect(subject.license).to eq("https://creativecommons.org/licenses/by/4.0/")
|
|
94
|
+
expect(subject.author.first).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0002-2410-9671", "name"=>"Alexander Junge", "givenName"=>"Alexander", "familyName"=>"Junge")
|
|
95
|
+
expect(subject.title).to eq("RAIN v1")
|
|
96
|
+
expect(subject.description["text"]).to start_with("<b>RAIN: RNA–protein Association and Interaction Networks")
|
|
97
|
+
expect(subject.license).to eq("url"=>"https://creativecommons.org/licenses/by/4.0/", "name"=>"CC-BY")
|
|
106
98
|
expect(subject.date_published).to eq("2016")
|
|
107
|
-
expect(subject.
|
|
108
|
-
expect(subject.publisher).to eq("
|
|
109
|
-
expect(subject.provider).to eq("
|
|
99
|
+
expect(subject.is_identical_to).to eq("id"=>"https://doi.org/10.6084/m9.figshare.4234751", "relationType"=>"IsIdenticalTo")
|
|
100
|
+
expect(subject.publisher).to eq("Figshare")
|
|
101
|
+
expect(subject.provider).to eq("DataCite")
|
|
110
102
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
|
111
103
|
end
|
|
112
104
|
|
|
@@ -118,16 +110,14 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
118
110
|
expect(subject.type).to eq("Dataset")
|
|
119
111
|
expect(subject.additional_type).to eq("Dataset")
|
|
120
112
|
expect(subject.resource_type_general).to eq("Dataset")
|
|
121
|
-
expect(subject.author).to eq(
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
expect(subject.name).to eq("Publication FP7 Funding Acknowledgment - PLOS OpenAIRE")
|
|
126
|
-
expect(subject.description).to start_with("The dataset contains a sample of metadata describing papers")
|
|
113
|
+
expect(subject.author.length).to eq(4)
|
|
114
|
+
expect(subject.author.first).to eq("type"=>"Person", "name"=>"Najko Jahn", "givenName"=>"Najko", "familyName"=>"Jahn")
|
|
115
|
+
expect(subject.title).to eq("Publication FP7 Funding Acknowledgment - PLOS OpenAIRE")
|
|
116
|
+
expect(subject.description["text"]).to start_with("The dataset contains a sample of metadata describing papers")
|
|
127
117
|
expect(subject.date_published).to eq("2013-04-03")
|
|
128
|
-
expect(subject.publisher).to eq("
|
|
129
|
-
expect(subject.funder).to eq("
|
|
130
|
-
expect(subject.provider).to eq("
|
|
118
|
+
expect(subject.publisher).to eq("OpenAIRE Orphan Record Repository")
|
|
119
|
+
expect(subject.funder).to eq("name" => "European Commission")
|
|
120
|
+
expect(subject.provider).to eq("DataCite")
|
|
131
121
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
|
132
122
|
end
|
|
133
123
|
|
|
@@ -140,13 +130,13 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
140
130
|
expect(subject.additional_type).to eq("Project")
|
|
141
131
|
expect(subject.resource_type_general).to eq("Collection")
|
|
142
132
|
expect(subject.author.length).to eq(24)
|
|
143
|
-
expect(subject.author.first).to eq("
|
|
144
|
-
expect(subject.
|
|
145
|
-
expect(subject.description).to start_with("
|
|
133
|
+
expect(subject.author.first).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0001-5331-6592", "name"=>"Farquhar, Adam", "givenName"=>"Adam", "familyName"=>"Farquhar")
|
|
134
|
+
expect(subject.title).to eq("Technical and Human Infrastructure for Open Research (THOR)")
|
|
135
|
+
expect(subject.description["text"]).to start_with("Five years ago, a global infrastructure")
|
|
146
136
|
expect(subject.date_published).to eq("2015")
|
|
147
|
-
expect(subject.publisher).to eq("
|
|
148
|
-
expect(subject.funder).to eq("
|
|
149
|
-
expect(subject.provider).to eq("
|
|
137
|
+
expect(subject.publisher).to eq("DataCite")
|
|
138
|
+
expect(subject.funder).to eq("identifier"=>"https://doi.org/10.13039/501100000780", "name"=>"European Commission")
|
|
139
|
+
expect(subject.provider).to eq("DataCite")
|
|
150
140
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-4")
|
|
151
141
|
|
|
152
142
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
|
@@ -171,13 +161,13 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
171
161
|
expect(subject.type).to eq("ScholarlyArticle")
|
|
172
162
|
expect(subject.additional_type).to eq("BlogPosting")
|
|
173
163
|
expect(subject.resource_type_general).to eq("Text")
|
|
174
|
-
expect(subject.author).to eq("
|
|
175
|
-
expect(subject.
|
|
176
|
-
expect(subject.alternate_name).to eq("MS-49-3632-5083")
|
|
164
|
+
expect(subject.author).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner")
|
|
165
|
+
expect(subject.title).to eq("Eating your own Dog Food")
|
|
166
|
+
expect(subject.alternate_name).to eq("type"=>"Local accession number", "name"=>"MS-49-3632-5083")
|
|
177
167
|
expect(subject.date_published).to eq("2016-12-20")
|
|
178
|
-
expect(subject.is_part_of).to eq("
|
|
179
|
-
expect(subject.
|
|
180
|
-
expect(subject.provider).to eq("
|
|
168
|
+
expect(subject.is_part_of).to eq("id"=>"https://doi.org/10.5438/0000-00ss", "relationType"=>"IsPartOf")
|
|
169
|
+
expect(subject.references).to eq([{"id"=>"https://doi.org/10.5438/0012", "relationType"=>"References"}, {"id"=>"https://doi.org/10.5438/55e5-t5c0", "relationType"=>"References"}])
|
|
170
|
+
expect(subject.provider).to eq("DataCite")
|
|
181
171
|
end
|
|
182
172
|
|
|
183
173
|
it "missing creator" do
|
|
@@ -198,23 +188,17 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
198
188
|
expect(subject.type).to eq("Dataset")
|
|
199
189
|
expect(subject.additional_type).to eq("DataPackage")
|
|
200
190
|
expect(subject.resource_type_general).to eq("Dataset")
|
|
201
|
-
expect(subject.author).to eq(
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
{"@type"=>"Person", "givenName"=>"Dieudonné", "familyName"=>"Nkoghe"},
|
|
207
|
-
{"@type"=>"Person", "givenName"=>"Eric", "familyName"=>"Leroy"},
|
|
208
|
-
{"@type"=>"Person", "givenName"=>"François", "familyName"=>"Renaud"}])
|
|
209
|
-
expect(subject.name).to eq("Data from: A new malaria agent in African hominids.")
|
|
210
|
-
expect(subject.alternate_name).to eq("Ollomo B, Durand P, Prugnolle F, Douzery EJP, Arnathau C, Nkoghe D, Leroy E, Renaud F (2009) A new malaria agent in African hominids. PLoS Pathogens 5(5): e1000446.")
|
|
211
|
-
expect(subject.license).to eq("http://creativecommons.org/publicdomain/zero/1.0/")
|
|
191
|
+
expect(subject.author.length).to eq(8)
|
|
192
|
+
expect(subject.author.first).to eq("type"=>"Person", "name"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
|
|
193
|
+
expect(subject.title).to eq("Data from: A new malaria agent in African hominids.")
|
|
194
|
+
expect(subject.alternate_name).to eq("type"=>"citation", "name"=>"Ollomo B, Durand P, Prugnolle F, Douzery EJP, Arnathau C, Nkoghe D, Leroy E, Renaud F (2009) A new malaria agent in African hominids. PLoS Pathogens 5(5): e1000446.")
|
|
195
|
+
expect(subject.license).to eq("url"=>"http://creativecommons.org/publicdomain/zero/1.0/")
|
|
212
196
|
expect(subject.date_published).to eq("2011")
|
|
213
|
-
expect(subject.has_part).to eq([{"
|
|
214
|
-
{"
|
|
215
|
-
expect(subject.
|
|
216
|
-
expect(subject.publisher).to eq("
|
|
217
|
-
expect(subject.provider).to eq("
|
|
197
|
+
expect(subject.has_part).to eq([{"id"=>"https://doi.org/10.5061/dryad.8515/1", "relationType"=>"HasPart"},
|
|
198
|
+
{"id"=>"https://doi.org/10.5061/dryad.8515/2", "relationType"=>"HasPart"}])
|
|
199
|
+
expect(subject.references).to eq("id"=>"https://doi.org/10.1371/journal.ppat.1000446", "relationType"=>"IsReferencedBy")
|
|
200
|
+
expect(subject.publisher).to eq("Dryad Digital Repository")
|
|
201
|
+
expect(subject.provider).to eq("DataCite")
|
|
218
202
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
|
219
203
|
|
|
220
204
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
|
@@ -232,10 +216,10 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
232
216
|
expect(json["@id"]).to eq("https://doi.org/10.5063/f1m61h5x")
|
|
233
217
|
expect(json["@type"]).to eq("SoftwareSourceCode")
|
|
234
218
|
expect(json["identifier"]).to eq("https://doi.org/10.5063/f1m61h5x")
|
|
235
|
-
expect(json["agents"]).to eq("
|
|
219
|
+
expect(json["agents"]).to eq("type"=>"Person", "name"=>"Matthew B. Jones", "givenName"=>"Matthew B.", "familyName"=>"Jones")
|
|
236
220
|
expect(json["title"]).to eq("dataone: R interface to the DataONE network of data repositories")
|
|
237
221
|
expect(json["datePublished"]).to eq("2016")
|
|
238
|
-
expect(json["publisher"]).to eq("
|
|
222
|
+
expect(json["publisher"]).to eq("KNB Data Repository")
|
|
239
223
|
end
|
|
240
224
|
end
|
|
241
225
|
|
data/spec/datacite_utils_spec.rb
CHANGED
|
@@ -17,7 +17,7 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
17
17
|
it "insert" do
|
|
18
18
|
xml = Nokogiri::XML::Builder.new { |xml| subject.insert_creators(xml) }.to_xml
|
|
19
19
|
response = Maremma.from_xml(xml)
|
|
20
|
-
expect(response.dig("creators", "creator").first).to eq("creatorName"=>"Ollomo
|
|
20
|
+
expect(response.dig("creators", "creator").first).to eq("creatorName"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -83,7 +83,7 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
83
83
|
it "insert" do
|
|
84
84
|
xml = Nokogiri::XML::Builder.new { |xml| subject.insert_alternate_identifiers(xml) }.to_xml
|
|
85
85
|
response = Maremma.from_xml(xml)
|
|
86
|
-
expect(response.dig("alternateIdentifiers", "alternateIdentifier")).to eq("alternateIdentifierType"=>"
|
|
86
|
+
expect(response.dig("alternateIdentifiers", "alternateIdentifier")).to eq("alternateIdentifierType"=>"citation", "__content__"=>"Ollomo B, Durand P, Prugnolle F, Douzery EJP, Arnathau C, Nkoghe D, Leroy E, Renaud F (2009) A new malaria agent in African hominids. PLoS Pathogens 5(5): e1000446.")
|
|
87
87
|
end
|
|
88
88
|
end
|
|
89
89
|
|
|
@@ -112,16 +112,11 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
112
112
|
end
|
|
113
113
|
|
|
114
114
|
context "insert_related_identifiers" do
|
|
115
|
-
it "
|
|
116
|
-
expect(subject.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
"related_identifier_type"=>"DOI",
|
|
121
|
-
"relation_type"=>"HasPart"},
|
|
122
|
-
{"__content__"=>"https://doi.org/10.1371/journal.ppat.1000446",
|
|
123
|
-
"related_identifier_type"=>"DOI",
|
|
124
|
-
"relation_type"=>"References"}])
|
|
115
|
+
it "related_identifier" do
|
|
116
|
+
expect(subject.related_identifier).to eq([{"id"=>"https://doi.org/10.5061/dryad.8515/1", "relationType"=>"HasPart"},
|
|
117
|
+
{"id"=>"https://doi.org/10.5061/dryad.8515/2", "relationType"=>"HasPart"},
|
|
118
|
+
{"id"=>"https://doi.org/10.1371/journal.ppat.1000446",
|
|
119
|
+
"relationType"=>"IsReferencedBy"}])
|
|
125
120
|
end
|
|
126
121
|
|
|
127
122
|
it "insert" do
|
|
@@ -134,7 +129,7 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
134
129
|
"relationType"=>"HasPart",
|
|
135
130
|
"__content__"=>"https://doi.org/10.5061/dryad.8515/2"},
|
|
136
131
|
{"relatedIdentifierType"=>"DOI",
|
|
137
|
-
"relationType"=>"
|
|
132
|
+
"relationType"=>"IsReferencedBy",
|
|
138
133
|
"__content__"=>"https://doi.org/10.1371/journal.ppat.1000446"}])
|
|
139
134
|
end
|
|
140
135
|
end
|
|
@@ -143,7 +138,7 @@ describe Bolognese::Datacite, vcr: true do
|
|
|
143
138
|
it "insert" do
|
|
144
139
|
xml = Nokogiri::XML::Builder.new { |xml| subject.insert_rights_list(xml) }.to_xml
|
|
145
140
|
response = Maremma.from_xml(xml)
|
|
146
|
-
expect(response.dig("rightsList", "rights")).to eq("rightsURI"=>"http://creativecommons.org/publicdomain/zero/1.0/"
|
|
141
|
+
expect(response.dig("rightsList", "rights")).to eq("rightsURI"=>"http://creativecommons.org/publicdomain/zero/1.0/")
|
|
147
142
|
end
|
|
148
143
|
end
|
|
149
144
|
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "https://doi.org/10.5438/4k3m-nyvg",
|
|
3
|
+
"doi": "10.5438/4K3M-NYVG",
|
|
4
|
+
"creator": {
|
|
5
|
+
"type": "Person",
|
|
6
|
+
"id": "http://orcid.org/0000-0003-1419-2405",
|
|
7
|
+
"name": "Fenner, Martin",
|
|
8
|
+
"givenName": "Martin",
|
|
9
|
+
"familyName": "Fenner"
|
|
10
|
+
},
|
|
11
|
+
"title": "Eating your own Dog Food",
|
|
12
|
+
"publisher": "DataCite",
|
|
13
|
+
"publication-year": "2016",
|
|
14
|
+
"resource-type-general": "Text",
|
|
15
|
+
"resource-type": "BlogPosting",
|
|
16
|
+
"subject": [
|
|
17
|
+
"datacite",
|
|
18
|
+
"doi",
|
|
19
|
+
"metadata"
|
|
20
|
+
],
|
|
21
|
+
"date-created": "2016-12-20",
|
|
22
|
+
"date-published": "2016-12-20",
|
|
23
|
+
"date-modified": "2016-12-20",
|
|
24
|
+
"alternate-identifier": {
|
|
25
|
+
"type": "Local accession number",
|
|
26
|
+
"name": "MS-49-3632-5083"
|
|
27
|
+
},
|
|
28
|
+
"related_identifier": [
|
|
29
|
+
{
|
|
30
|
+
"id": "https://doi.org/10.5438/0012",
|
|
31
|
+
"relationType": "References"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "https://doi.org/10.5438/55e5-t5c0",
|
|
35
|
+
"relationType": "References"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "https://doi.org/10.5438/0000-00ss",
|
|
39
|
+
"relationType": "IsPartOf"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"version": "1.0",
|
|
43
|
+
"description": {
|
|
44
|
+
"type": "Abstract",
|
|
45
|
+
"text": "Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for..."
|
|
46
|
+
},
|
|
47
|
+
"schemaVersion": "http://datacite.org/schema/kernel-4",
|
|
48
|
+
"provider": "DataCite"
|
|
49
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "https://doi.org/10.5063/f1m61h5x",
|
|
3
|
+
"doi": "10.5063/F1M61H5X",
|
|
4
|
+
"creator": {
|
|
5
|
+
"type": "Person",
|
|
6
|
+
"name": "Matthew B. Jones",
|
|
7
|
+
"givenName": "Matthew B.",
|
|
8
|
+
"familyName": "Jones"
|
|
9
|
+
},
|
|
10
|
+
"title": "dataone: R interface to the DataONE network of data repositories",
|
|
11
|
+
"publisher": "KNB Data Repository",
|
|
12
|
+
"publication-year": "2016",
|
|
13
|
+
"resource-type-general": "Software",
|
|
14
|
+
"resource-type": "Software",
|
|
15
|
+
"date-published": "2016",
|
|
16
|
+
"schemaVersion": "http://datacite.org/schema/kernel-3",
|
|
17
|
+
"provider": "DataCite"
|
|
18
|
+
}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: get
|
|
5
|
+
uri: https://doi.crossref.org/doiRA/10.5061/dryad.8515
|
|
6
|
+
body:
|
|
7
|
+
encoding: US-ASCII
|
|
8
|
+
string: ''
|
|
9
|
+
headers:
|
|
10
|
+
User-Agent:
|
|
11
|
+
- Maremma - https://github.com/datacite/maremma
|
|
12
|
+
Accept:
|
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
|
14
|
+
response:
|
|
15
|
+
status:
|
|
16
|
+
code: 200
|
|
17
|
+
message: ''
|
|
18
|
+
headers:
|
|
19
|
+
Server:
|
|
20
|
+
- Apache-Coyote/1.1
|
|
21
|
+
Crossref-Deployment-Name:
|
|
22
|
+
- svc1-1
|
|
23
|
+
Content-Type:
|
|
24
|
+
- application/json;charset=UTF-8
|
|
25
|
+
Content-Language:
|
|
26
|
+
- en-US
|
|
27
|
+
Content-Length:
|
|
28
|
+
- '56'
|
|
29
|
+
Date:
|
|
30
|
+
- Mon, 27 Feb 2017 20:46:45 GMT
|
|
31
|
+
Connection:
|
|
32
|
+
- close
|
|
33
|
+
body:
|
|
34
|
+
encoding: UTF-8
|
|
35
|
+
string: |-
|
|
36
|
+
[
|
|
37
|
+
{
|
|
38
|
+
"DOI": "10.5061/dryad.8515",
|
|
39
|
+
"RA": "DataCite"
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
http_version:
|
|
43
|
+
recorded_at: Mon, 27 Feb 2017 20:46:46 GMT
|
|
44
|
+
- request:
|
|
45
|
+
method: get
|
|
46
|
+
uri: https://doi.org/10.5061/dryad.8515
|
|
47
|
+
body:
|
|
48
|
+
encoding: US-ASCII
|
|
49
|
+
string: ''
|
|
50
|
+
headers:
|
|
51
|
+
User-Agent:
|
|
52
|
+
- Maremma - https://github.com/datacite/maremma
|
|
53
|
+
Accept:
|
|
54
|
+
- application/vnd.datacite.datacite+xml
|
|
55
|
+
response:
|
|
56
|
+
status:
|
|
57
|
+
code: 303
|
|
58
|
+
message: ''
|
|
59
|
+
headers:
|
|
60
|
+
Server:
|
|
61
|
+
- Apache-Coyote/1.1
|
|
62
|
+
Vary:
|
|
63
|
+
- Accept
|
|
64
|
+
Location:
|
|
65
|
+
- http://data.datacite.org/10.5061%2Fdryad.8515
|
|
66
|
+
Expires:
|
|
67
|
+
- Mon, 27 Feb 2017 21:33:17 GMT
|
|
68
|
+
Content-Type:
|
|
69
|
+
- text/html;charset=utf-8
|
|
70
|
+
Content-Length:
|
|
71
|
+
- '175'
|
|
72
|
+
Date:
|
|
73
|
+
- Mon, 27 Feb 2017 20:46:54 GMT
|
|
74
|
+
body:
|
|
75
|
+
encoding: UTF-8
|
|
76
|
+
string: |-
|
|
77
|
+
<html><head><title>Handle Redirect</title></head>
|
|
78
|
+
<body><a href="http://data.datacite.org/10.5061%2Fdryad.8515">http://data.datacite.org/10.5061%2Fdryad.8515</a></body></html>
|
|
79
|
+
http_version:
|
|
80
|
+
recorded_at: Mon, 27 Feb 2017 20:46:54 GMT
|
|
81
|
+
- request:
|
|
82
|
+
method: get
|
|
83
|
+
uri: http://data.datacite.org/10.5061%2Fdryad.8515
|
|
84
|
+
body:
|
|
85
|
+
encoding: US-ASCII
|
|
86
|
+
string: ''
|
|
87
|
+
headers:
|
|
88
|
+
User-Agent:
|
|
89
|
+
- Maremma - https://github.com/datacite/maremma
|
|
90
|
+
Accept:
|
|
91
|
+
- application/vnd.datacite.datacite+xml
|
|
92
|
+
response:
|
|
93
|
+
status:
|
|
94
|
+
code: 301
|
|
95
|
+
message: ''
|
|
96
|
+
headers:
|
|
97
|
+
Server:
|
|
98
|
+
- openresty/1.11.2.2
|
|
99
|
+
Date:
|
|
100
|
+
- Mon, 27 Feb 2017 20:46:54 GMT
|
|
101
|
+
Content-Type:
|
|
102
|
+
- text/html
|
|
103
|
+
Content-Length:
|
|
104
|
+
- '191'
|
|
105
|
+
Connection:
|
|
106
|
+
- keep-alive
|
|
107
|
+
Location:
|
|
108
|
+
- https://data.datacite.org/10.5061%2Fdryad.8515
|
|
109
|
+
body:
|
|
110
|
+
encoding: UTF-8
|
|
111
|
+
string: "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n<body
|
|
112
|
+
bgcolor=\"white\">\r\n<center><h1>301 Moved Permanently</h1></center>\r\n<hr><center>openresty/1.11.2.2</center>\r\n</body>\r\n</html>\r\n"
|
|
113
|
+
http_version:
|
|
114
|
+
recorded_at: Mon, 27 Feb 2017 20:46:54 GMT
|
|
115
|
+
- request:
|
|
116
|
+
method: get
|
|
117
|
+
uri: https://data.datacite.org/10.5061%2Fdryad.8515
|
|
118
|
+
body:
|
|
119
|
+
encoding: US-ASCII
|
|
120
|
+
string: ''
|
|
121
|
+
headers:
|
|
122
|
+
User-Agent:
|
|
123
|
+
- Maremma - https://github.com/datacite/maremma
|
|
124
|
+
Accept:
|
|
125
|
+
- application/vnd.datacite.datacite+xml
|
|
126
|
+
response:
|
|
127
|
+
status:
|
|
128
|
+
code: 200
|
|
129
|
+
message: ''
|
|
130
|
+
headers:
|
|
131
|
+
Server:
|
|
132
|
+
- openresty/1.11.2.2
|
|
133
|
+
Date:
|
|
134
|
+
- Mon, 27 Feb 2017 20:46:55 GMT
|
|
135
|
+
Content-Type:
|
|
136
|
+
- application/vnd.datacite.datacite+xml
|
|
137
|
+
Content-Length:
|
|
138
|
+
- '2601'
|
|
139
|
+
Connection:
|
|
140
|
+
- keep-alive
|
|
141
|
+
Cache-Control:
|
|
142
|
+
- no-transform, max-age=3600
|
|
143
|
+
Last-Modified:
|
|
144
|
+
- Sat, 04 Feb 2017 17:54:37 GMT
|
|
145
|
+
Vary:
|
|
146
|
+
- Accept
|
|
147
|
+
Access-Control-Allow-Origin:
|
|
148
|
+
- "*"
|
|
149
|
+
Access-Control-Allow-Methods:
|
|
150
|
+
- GET, POST, OPTIONS
|
|
151
|
+
body:
|
|
152
|
+
encoding: ASCII-8BIT
|
|
153
|
+
string: !binary |-
|
|
154
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291
|
|
155
|
+
cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwt
|
|
156
|
+
MyIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVt
|
|
157
|
+
YS1pbnN0YW5jZSIgeG1sbnM6bWV0cz0iaHR0cDovL3d3dy5sb2MuZ292L01F
|
|
158
|
+
VFMvIiB4bWxuczpkc3BhY2U9Imh0dHA6Ly93d3cuZHNwYWNlLm9yZy94bWxu
|
|
159
|
+
cy9kc3BhY2UvZGltIiB4bWxuczpkaW09Imh0dHA6Ly93d3cuZHNwYWNlLm9y
|
|
160
|
+
Zy94bWxucy9kc3BhY2UvZGltIiB4bWxuczpkcnlhZD0iaHR0cDovL3B1cmwu
|
|
161
|
+
b3JnL2RyeWFkL3Rlcm1zLyIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8v
|
|
162
|
+
ZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyBodHRwOi8vc2NoZW1hLmRh
|
|
163
|
+
dGFjaXRlLm9yZy9tZXRhL2tlcm5lbC0zL21ldGFkYXRhLnhzZCI+ICA8aWRl
|
|
164
|
+
bnRpZmllciBpZGVudGlmaWVyVHlwZT0iRE9JIj4xMC41MDYxL0RSWUFELjg1
|
|
165
|
+
MTU8L2lkZW50aWZpZXI+ICA8dmVyc2lvbj4xPC92ZXJzaW9uPiAgPGNyZWF0
|
|
166
|
+
b3JzPiAgICA8Y3JlYXRvcj4gICAgICA8Y3JlYXRvck5hbWU+T2xsb21vLCBC
|
|
167
|
+
ZW5qYW1pbjwvY3JlYXRvck5hbWU+ICAgIDwvY3JlYXRvcj4gICAgPGNyZWF0
|
|
168
|
+
b3I+ICAgICAgPGNyZWF0b3JOYW1lPkR1cmFuZCwgUGF0cmljazwvY3JlYXRv
|
|
169
|
+
ck5hbWU+ICAgIDwvY3JlYXRvcj4gICAgPGNyZWF0b3I+ICAgICAgPGNyZWF0
|
|
170
|
+
b3JOYW1lPlBydWdub2xsZSwgRnJhbmNrPC9jcmVhdG9yTmFtZT4gICAgPC9j
|
|
171
|
+
cmVhdG9yPiAgICA8Y3JlYXRvcj4gICAgICA8Y3JlYXRvck5hbWU+RG91emVy
|
|
172
|
+
eSwgRW1tYW51ZWwgSi4gUC48L2NyZWF0b3JOYW1lPiAgICA8L2NyZWF0b3I+
|
|
173
|
+
ICAgIDxjcmVhdG9yPiAgICAgIDxjcmVhdG9yTmFtZT5Bcm5hdGhhdSwgQ8Op
|
|
174
|
+
bGluZTwvY3JlYXRvck5hbWU+ICAgIDwvY3JlYXRvcj4gICAgPGNyZWF0b3I+
|
|
175
|
+
ICAgICAgPGNyZWF0b3JOYW1lPk5rb2doZSwgRGlldWRvbm7DqTwvY3JlYXRv
|
|
176
|
+
ck5hbWU+ICAgIDwvY3JlYXRvcj4gICAgPGNyZWF0b3I+ICAgICAgPGNyZWF0
|
|
177
|
+
b3JOYW1lPkxlcm95LCBFcmljPC9jcmVhdG9yTmFtZT4gICAgPC9jcmVhdG9y
|
|
178
|
+
PiAgICA8Y3JlYXRvcj4gICAgICA8Y3JlYXRvck5hbWU+UmVuYXVkLCBGcmFu
|
|
179
|
+
w6dvaXM8L2NyZWF0b3JOYW1lPiAgICA8L2NyZWF0b3I+ICA8L2NyZWF0b3Jz
|
|
180
|
+
PiAgPHRpdGxlcz4gICAgPHRpdGxlPkRhdGEgZnJvbTogQSBuZXcgbWFsYXJp
|
|
181
|
+
YSBhZ2VudCBpbiBBZnJpY2FuIGhvbWluaWRzLjwvdGl0bGU+ICA8L3RpdGxl
|
|
182
|
+
cz4gIDxwdWJsaXNoZXI+RHJ5YWQgRGlnaXRhbCBSZXBvc2l0b3J5PC9wdWJs
|
|
183
|
+
aXNoZXI+ICA8cHVibGljYXRpb25ZZWFyPjIwMTE8L3B1YmxpY2F0aW9uWWVh
|
|
184
|
+
cj4gIDxzdWJqZWN0cz4gICAgPHN1YmplY3Q+UGh5bG9nZW55PC9zdWJqZWN0
|
|
185
|
+
PiAgICA8c3ViamVjdD5NYWxhcmlhPC9zdWJqZWN0PiAgICA8c3ViamVjdD5Q
|
|
186
|
+
YXJhc2l0ZXM8L3N1YmplY3Q+ICAgIDxzdWJqZWN0PlRheG9ub215PC9zdWJq
|
|
187
|
+
ZWN0PiAgICA8c3ViamVjdD5NaXRvY2hvbmRyaWFsIGdlbm9tZTwvc3ViamVj
|
|
188
|
+
dD4gICAgPHN1YmplY3Q+QWZyaWNhPC9zdWJqZWN0PiAgICA8c3ViamVjdD5Q
|
|
189
|
+
bGFzbW9kaXVtPC9zdWJqZWN0PiAgPC9zdWJqZWN0cz4gIDxyZXNvdXJjZVR5
|
|
190
|
+
cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iRGF0YXNldCI+RGF0YVBhY2thZ2U8
|
|
191
|
+
L3Jlc291cmNlVHlwZT4gIDxhbHRlcm5hdGVJZGVudGlmaWVycz4gICAgPGFs
|
|
192
|
+
dGVybmF0ZUlkZW50aWZpZXIgYWx0ZXJuYXRlSWRlbnRpZmllclR5cGU9ImNp
|
|
193
|
+
dGF0aW9uIj5PbGxvbW8gQiwgRHVyYW5kIFAsIFBydWdub2xsZSBGLCBEb3V6
|
|
194
|
+
ZXJ5IEVKUCwgQXJuYXRoYXUgQywgTmtvZ2hlIEQsIExlcm95IEUsIFJlbmF1
|
|
195
|
+
ZCBGICgyMDA5KSBBIG5ldyBtYWxhcmlhIGFnZW50IGluIEFmcmljYW4gaG9t
|
|
196
|
+
aW5pZHMuIFBMb1MgUGF0aG9nZW5zIDUoNSk6IGUxMDAwNDQ2LjwvYWx0ZXJu
|
|
197
|
+
YXRlSWRlbnRpZmllcj4gIDwvYWx0ZXJuYXRlSWRlbnRpZmllcnM+ICA8cmVs
|
|
198
|
+
YXRlZElkZW50aWZpZXJzPiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRl
|
|
199
|
+
ZElkZW50aWZpZXJUeXBlPSJET0kiIHJlbGF0aW9uVHlwZT0iSGFzUGFydCI+
|
|
200
|
+
MTAuNTA2MS9EUllBRC44NTE1LzE8L3JlbGF0ZWRJZGVudGlmaWVyPiAgICA8
|
|
201
|
+
cmVsYXRlZElkZW50aWZpZXIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0ki
|
|
202
|
+
IHJlbGF0aW9uVHlwZT0iSGFzUGFydCI+MTAuNTA2MS9EUllBRC44NTE1LzI8
|
|
203
|
+
L3JlbGF0ZWRJZGVudGlmaWVyPiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVs
|
|
204
|
+
YXRlZElkZW50aWZpZXJUeXBlPSJET0kiIHJlbGF0aW9uVHlwZT0iSXNSZWZl
|
|
205
|
+
cmVuY2VkQnkiPjEwLjEzNzEvSk9VUk5BTC5QUEFULjEwMDA0NDY8L3JlbGF0
|
|
206
|
+
ZWRJZGVudGlmaWVyPiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRlZElk
|
|
207
|
+
ZW50aWZpZXJUeXBlPSJQTUlEIiByZWxhdGlvblR5cGU9IklzUmVmZXJlbmNl
|
|
208
|
+
ZEJ5Ij4xOTQ3ODg3NzwvcmVsYXRlZElkZW50aWZpZXI+ICA8L3JlbGF0ZWRJ
|
|
209
|
+
ZGVudGlmaWVycz4gIDxyaWdodHNMaXN0PiAgICA8cmlnaHRzIHJpZ2h0c1VS
|
|
210
|
+
ST0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3pl
|
|
211
|
+
cm8vMS4wLyIvPiAgPC9yaWdodHNMaXN0PjwvcmVzb3VyY2U+
|
|
212
|
+
http_version:
|
|
213
|
+
recorded_at: Mon, 27 Feb 2017 20:46:54 GMT
|
|
214
|
+
recorded_with: VCR 3.0.3
|