relaton 1.14.2 → 1.15.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/README.adoc +1 -3
- data/lib/relaton/db.rb +1 -1
- data/lib/relaton/registry.rb +1 -1
- data/lib/relaton/version.rb +1 -1
- data/relaton.gemspec +2 -1
- data/spec/relaton/db_spec.rb +14 -20
- data/spec/relaton/registry_spec.rb +4 -0
- data/spec/relaton_spec.rb +147 -118
- data/spec/spec_helper.rb +1 -1
- data/spec/vcr_cassetes/3gpp_tr_00_01u_umts_3_0_0.yml +16 -14
- data/spec/vcr_cassetes/api_relaton_org.yml +80 -10
- data/spec/vcr_cassetes/api_relaton_org_unavailable.yml +18 -18
- data/spec/vcr_cassetes/bsi_bs_en_iso_8848.yml +34 -34
- data/spec/vcr_cassetes/cc_dir_10005_2019.yml +2310 -13
- data/spec/vcr_cassetes/cie_001_1980.yml +15 -13
- data/spec/vcr_cassetes/doi_10_6028_nist_ir_8245.yml +9 -9
- data/spec/vcr_cassetes/ecma_6.yml +13 -12
- data/spec/vcr_cassetes/en_10160_1999.yml +6821 -34
- data/spec/vcr_cassetes/iana_service_names_port_numbers.yml +13 -10
- data/spec/vcr_cassetes/ieee_528_2019.yml +11 -11
- data/spec/vcr_cassetes/iso_111111119115_1.yml +10 -10
- data/spec/vcr_cassetes/iso_19115_1.yml +17 -17
- data/spec/vcr_cassetes/iso_19115_1_2.yml +34 -34
- data/spec/vcr_cassetes/iso_19115_all_parts.yml +18 -18
- data/spec/vcr_cassetes/iso_19133_2005.yml +16 -16
- data/spec/vcr_cassetes/iso_combined_applied.yml +34 -34
- data/spec/vcr_cassetes/iso_combined_included.yml +35 -35
- data/spec/vcr_cassetes/iso_dis.yml +17 -17
- data/spec/vcr_cassetes/ogc_19_025r1.yml +11 -11
- data/spec/vcr_cassetes/omg_ami4ccm_1_0.yml +6 -6
- data/spec/vcr_cassetes/rfc_8341.yml +21 -9
- metadata +17 -17
- data/spec/vcr_cassetes/async_fetch.yml +0 -4457
- data/spec/vcr_cassetes/bipm_i18n_async_fetch.yml +0 -414
- data/spec/vcr_cassetes/bipm_metrologia_29_6_373.yml +0 -294
- data/spec/vcr_cassetes/fisp_140.yml +0 -48
- data/spec/vcr_cassetes/gb_t_20223_2006.yml +0 -147
- data/spec/vcr_cassetes/iec_60050_102_2007.yml +0 -280
- data/spec/vcr_cassetes/iec_combined_included.yml +0 -926
- data/spec/vcr_cassetes/iho_b_11.yml +0 -74
- data/spec/vcr_cassetes/itu_combined_included.yml +0 -1333
- data/spec/vcr_cassetes/oasis_amqp_core_types_v1_0_pt1.yml +0 -84
- data/spec/vcr_cassetes/sp_800_38b.yml +0 -48
- data/spec/vcr_cassetes/threads_from_env.yml +0 -412
- data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +0 -814
- data/spec/vcr_cassetes/w3c_json_ld11.yml +0 -232
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92d8d26812ae600e09e7b84beb548768db73c0e0837389feb0cf55c84ec4314f
|
4
|
+
data.tar.gz: d7737f947638fbe5eb17456c2e41e0b1b567434db39cbbc2f0c1644378765c9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94b13ec45ed1b2f2313212ec1eecd5e25f60cf5017874f342100a2702b141cbb0f09bc275b34ccc1f5afbc6bbfd66f89d19febda44828f7e1f33046ee5c18fce
|
7
|
+
data.tar.gz: bc7c20aa21f7c7552a6cc191cce868786949939b7f66c939f69f825b887da48233ed2bde348e837c4388e37164d858edcd6e06702376063d690086872f8011e9
|
data/docs/README.adoc
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
= Relaton
|
2
2
|
|
3
3
|
image:https://img.shields.io/gem/v/relaton.svg["Gem Version", link="https://rubygems.org/gems/relaton"]
|
4
|
-
image:https://github.com/relaton/relaton/workflows/
|
5
|
-
image:https://github.com/relaton/relaton/workflows/windows/badge.svg["Build Status (Windows)", link="https://github.com/relaton/relaton/actions?workflow=windows"]
|
6
|
-
image:https://github.com/relaton/relaton/workflows/ubuntu/badge.svg["Build Status (Ubuntu)", link="https://github.com/relaton/relaton/actions?workflow=ubuntu"]
|
4
|
+
image:https://github.com/relaton/relaton/workflows/rake/badge.svg["Build Status", link="https://github.com/relaton/relaton/actions?workflow=rake"]
|
7
5
|
image:https://codeclimate.com/github/relaton/relaton/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/relaton/relaton"]
|
8
6
|
image:https://img.shields.io/github/issues-pr-raw/relaton/relaton.svg["Pull Requests", link="https://github.com/relaton/relaton/pulls"]
|
9
7
|
image:https://img.shields.io/github/commits-since/relaton/relaton/latest.svg["Commits since latest",link="https://github.com/relaton/relaton/releases"]
|
data/lib/relaton/db.rb
CHANGED
@@ -110,7 +110,7 @@ module Relaton
|
|
110
110
|
Util.log "[relaton] ERROR: #{args[0]} -- #{e.message}", :error
|
111
111
|
args[3].call nil
|
112
112
|
end
|
113
|
-
@queues[stdclass] = { queue:
|
113
|
+
@queues[stdclass] = { queue: SizedQueue.new(threads * 2), workers_pool: wp }
|
114
114
|
Thread.new { process_queue @queues[stdclass] }
|
115
115
|
end
|
116
116
|
@queues[stdclass][:queue] << [ref, year, opts, block]
|
data/lib/relaton/registry.rb
CHANGED
@@ -9,7 +9,7 @@ module Relaton
|
|
9
9
|
relaton_gb relaton_iec relaton_ietf relaton_iso relaton_itu relaton_nist
|
10
10
|
relaton_ogc relaton_calconnect relaton_omg relaton_un relaton_w3c
|
11
11
|
relaton_ieee relaton_iho relaton_bipm relaton_ecma relaton_cie relaton_bsi
|
12
|
-
relaton_cen relaton_iana relaton_3gpp relaton_oasis relaton_doi
|
12
|
+
relaton_cen relaton_iana relaton_3gpp relaton_oasis relaton_doi relaton_jis
|
13
13
|
].freeze
|
14
14
|
|
15
15
|
include Singleton
|
data/lib/relaton/version.rb
CHANGED
data/relaton.gemspec
CHANGED
@@ -43,8 +43,9 @@ Gem::Specification.new do |spec|
|
|
43
43
|
spec.add_dependency "relaton-ieee", "~> 1.14.0"
|
44
44
|
spec.add_dependency "relaton-ietf", "~> 1.14.0"
|
45
45
|
spec.add_dependency "relaton-iho", "~> 1.14.0"
|
46
|
-
spec.add_dependency "relaton-iso", "~> 1.
|
46
|
+
spec.add_dependency "relaton-iso", "~> 1.15.0"
|
47
47
|
spec.add_dependency "relaton-itu", "~> 1.14.0"
|
48
|
+
spec.add_dependency "relaton-jis", "~> 1.14.0"
|
48
49
|
spec.add_dependency "relaton-nist", "~> 1.14.0"
|
49
50
|
spec.add_dependency "relaton-oasis", "~> 1.14.0"
|
50
51
|
spec.add_dependency "relaton-ogc", "~> 1.14.0"
|
data/spec/relaton/db_spec.rb
CHANGED
@@ -8,6 +8,7 @@ RSpec.describe Relaton::Db do
|
|
8
8
|
it "create bibitem from YAML content" do
|
9
9
|
h = { "docid" => [{ "id" => "ISO 123", type: "ISO", "primary" => true }] }
|
10
10
|
expect(YAML).to receive(:safe_load).with(:content).and_return h
|
11
|
+
allow(YAML).to receive(:safe_load).and_call_original
|
11
12
|
item = subject.send :search_edition_year, "iso/item.yaml", :content, nil, nil
|
12
13
|
expect(item).to be_instance_of RelatonIsoBib::IsoBibliographicItem
|
13
14
|
end
|
@@ -203,33 +204,27 @@ RSpec.describe Relaton::Db do
|
|
203
204
|
"ITU-T Y.1911", "ITU-T Y.2012", "ITU-T Y.2206", "ITU-T O.172",
|
204
205
|
"ITU-T G.780/Y.1351", "ITU-T G.711", "ITU-T G.1011"]
|
205
206
|
results = []
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
end
|
210
|
-
Timeout.timeout(60) { refs.size.times { results << queue.pop } }
|
207
|
+
refs.each do |ref|
|
208
|
+
expect(db).to receive(:fetch).with(ref, nil, {}).and_return :result
|
209
|
+
db.fetch_async(ref) { |r| queue << [r, ref] }
|
211
210
|
end
|
211
|
+
Timeout.timeout(60) { refs.size.times { results << queue.pop } }
|
212
212
|
results.each do |result|
|
213
|
-
expect(result[0]).to
|
213
|
+
expect(result[0]).to be :result
|
214
214
|
end
|
215
215
|
end
|
216
216
|
|
217
217
|
it "BIPM i18n" do
|
218
|
-
expect(File).to receive(:exist?).with(/index\.yaml/).and_return false
|
219
|
-
allow(File).to receive(:exist?).and_call_original
|
220
|
-
# refs = ["CGPM Resolution 1889-00", "CGPM Résolution 1889-00",
|
221
|
-
# "CGPM Réunion 9", "CGPM Meeting 9"]
|
222
218
|
refs = ["CGPM -- Resolution (1889)", "CGPM -- Résolution (1889)",
|
223
219
|
"CGPM -- Réunion 9 (1948)", "CGPM -- Meeting 9 (1948)"]
|
224
220
|
results = []
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
end
|
229
|
-
Timeout.timeout(60) { refs.size.times { results << queue.pop } }
|
221
|
+
refs.each do |ref|
|
222
|
+
expect(db).to receive(:fetch).with(ref, nil, {}).and_return :result
|
223
|
+
db.fetch_async(ref) { |r| queue << [r, ref] }
|
230
224
|
end
|
225
|
+
Timeout.timeout(60) { refs.size.times { results << queue.pop } }
|
231
226
|
results.each do |result|
|
232
|
-
expect(result[0]).to
|
227
|
+
expect(result[0]).to be :result
|
233
228
|
end
|
234
229
|
end
|
235
230
|
|
@@ -262,10 +257,9 @@ RSpec.describe Relaton::Db do
|
|
262
257
|
expect(ENV).to receive(:[]).with("RELATON_FETCH_PARALLEL").and_return(1)
|
263
258
|
allow(ENV).to receive(:[]).and_call_original
|
264
259
|
expect(Relaton::WorkersPool).to receive(:new).with(1).and_call_original
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
end
|
260
|
+
expect(db).to receive(:fetch).with("ITU-T G.993.5", nil, {})
|
261
|
+
db.fetch_async("ITU-T G.993.5") { |r| queue << r }
|
262
|
+
Timeout.timeout(50) { queue.pop }
|
269
263
|
end
|
270
264
|
end
|
271
265
|
end
|
@@ -105,6 +105,10 @@ RSpec.describe Relaton::Registry do
|
|
105
105
|
expect(Relaton::Registry.instance.by_type("DOI")).to be_instance_of RelatonDoi::Processor
|
106
106
|
expect(Relaton::Registry.instance.processor_by_ref("doi:10.1000/182")).to be_instance_of RelatonDoi::Processor
|
107
107
|
end
|
108
|
+
|
109
|
+
it "JIS" do
|
110
|
+
expect(Relaton::Registry.instance.by_type("JIS")).to be_instance_of RelatonJis::Processor
|
111
|
+
end
|
108
112
|
end
|
109
113
|
|
110
114
|
it "find processot by dataset" do
|
data/spec/relaton_spec.rb
CHANGED
@@ -68,41 +68,40 @@ RSpec.describe Relaton::Db do
|
|
68
68
|
end
|
69
69
|
|
70
70
|
context "IEC" do
|
71
|
+
before do
|
72
|
+
docid = RelatonBib::DocumentIdentifier.new(id: "IEC 60050-102:2007", type: "IEC")
|
73
|
+
item = RelatonIec::IecBibliographicItem.new docid: [docid]
|
74
|
+
expect(RelatonIec::IecBibliography).to receive(:get).with("IEC 60050-102:2007", nil, {}).and_return item
|
75
|
+
end
|
76
|
+
|
71
77
|
it "get by reference" do
|
72
|
-
|
73
|
-
|
74
|
-
expect(bib.docidentifier[0].id).to eq "IEC 60050-102:2007"
|
75
|
-
end
|
78
|
+
bib = @db.fetch "IEC 60050-102:2007"
|
79
|
+
expect(bib.docidentifier[0].id).to eq "IEC 60050-102:2007"
|
76
80
|
end
|
77
81
|
|
78
82
|
it "get by URN" do
|
79
|
-
|
80
|
-
|
81
|
-
expect(bib.docidentifier[0].id).to eq "IEC 60050-102:2007"
|
82
|
-
end
|
83
|
+
bib = @db.fetch "urn:iec:std:iec:60050-102:2007:::"
|
84
|
+
expect(bib.docidentifier[0].id).to eq "IEC 60050-102:2007"
|
83
85
|
end
|
84
86
|
end
|
85
87
|
|
86
88
|
context "NIST references" do
|
87
|
-
before(:each) do
|
88
|
-
nist_fr = /\.relaton\/nist\/pubs-export\.zip/
|
89
|
-
expect(File).to receive(:exist?).with(nist_fr).and_return false
|
90
|
-
expect(File).to receive(:exist?).and_call_original.at_least :once
|
91
|
-
# expect(FileUtils).to receive(:mv).with kind_of(String), nist_fr
|
92
|
-
end
|
93
|
-
|
94
89
|
it "gets FISP" do
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
90
|
+
docid = RelatonBib::DocumentIdentifier.new(id: "NIST FIPS 140", type: "NIST")
|
91
|
+
item = RelatonNist::NistBibliographicItem.new docid: [docid]
|
92
|
+
expect(RelatonNist::NistBibliography).to receive(:get).with("NIST FIPS 140", nil, {}).and_return item
|
93
|
+
bib = @db.fetch "NIST FIPS 140"
|
94
|
+
expect(bib).to be_instance_of RelatonNist::NistBibliographicItem
|
95
|
+
expect(bib.docidentifier[0].id).to eq "NIST FIPS 140"
|
99
96
|
end
|
100
97
|
|
101
98
|
it "gets SP" do
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
99
|
+
docid = RelatonBib::DocumentIdentifier.new(id: "NIST SP 800-38B", type: "NIST")
|
100
|
+
item = RelatonNist::NistBibliographicItem.new docid: [docid]
|
101
|
+
expect(RelatonNist::NistBibliography).to receive(:get).with("NIST SP 800-38B", nil, {}).and_return item
|
102
|
+
bib = @db.fetch "NIST SP 800-38B"
|
103
|
+
expect(bib).to be_instance_of RelatonNist::NistBibliographicItem
|
104
|
+
expect(bib.docidentifier[0].id).to eq "NIST SP 800-38B"
|
106
105
|
end
|
107
106
|
end
|
108
107
|
|
@@ -146,45 +145,45 @@ RSpec.describe Relaton::Db do
|
|
146
145
|
end
|
147
146
|
|
148
147
|
context "get GB reference" do
|
149
|
-
it "and cache it" do
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
end
|
168
|
-
|
169
|
-
it "with year" do
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
end
|
148
|
+
# it "and cache it" do
|
149
|
+
# VCR.use_cassette "gb_t_20223_2006" do
|
150
|
+
# bib = @db.fetch "CN(GB/T 20223)", "2006", {}
|
151
|
+
# expect(bib).to be_instance_of RelatonGb::GbBibliographicItem
|
152
|
+
# expect(bib.to_xml(bibdata: true)).to include <<~XML
|
153
|
+
# <project-number>GB/T 20223</project-number>
|
154
|
+
# XML
|
155
|
+
# expect(File.exist?("testcache")).to be true
|
156
|
+
# expect(File.exist?("testcache2")).to be true
|
157
|
+
# testcache = Relaton::DbCache.new "testcache"
|
158
|
+
# expect(testcache["CN(GB/T 20223:2006)"]).to include <<~XML
|
159
|
+
# <project-number>GB/T 20223</project-number>
|
160
|
+
# XML
|
161
|
+
# testcache = Relaton::DbCache.new "testcache2"
|
162
|
+
# expect(testcache["CN(GB/T 20223:2006)"]).to include <<~XML
|
163
|
+
# <project-number>GB/T 20223</project-number>
|
164
|
+
# XML
|
165
|
+
# end
|
166
|
+
# end
|
167
|
+
|
168
|
+
# it "with year" do
|
169
|
+
# VCR.use_cassette "gb_t_20223_2006" do
|
170
|
+
# bib = @db.fetch "CN(GB/T 20223-2006)", nil, {}
|
171
|
+
# expect(bib).to be_instance_of RelatonGb::GbBibliographicItem
|
172
|
+
# expect(bib.to_xml(bibdata: true)).to include <<~XML
|
173
|
+
# <project-number>GB/T 20223</project-number>
|
174
|
+
# XML
|
175
|
+
# expect(File.exist?("testcache")).to be true
|
176
|
+
# expect(File.exist?("testcache2")).to be true
|
177
|
+
# testcache = Relaton::DbCache.new "testcache"
|
178
|
+
# expect(testcache["CN(GB/T 20223:2006)"]).to include <<~XML
|
179
|
+
# <project-number>GB/T 20223</project-number>
|
180
|
+
# XML
|
181
|
+
# testcache = Relaton::DbCache.new "testcache2"
|
182
|
+
# expect(testcache["CN(GB/T 20223:2006)"]).to include <<~XML
|
183
|
+
# <project-number>GB/T 20223</project-number>
|
184
|
+
# XML
|
185
|
+
# end
|
186
|
+
# end
|
188
187
|
end
|
189
188
|
|
190
189
|
it "get RFC reference and cache it" do
|
@@ -244,17 +243,21 @@ RSpec.describe Relaton::Db do
|
|
244
243
|
end
|
245
244
|
|
246
245
|
it "get UN reference" do
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
246
|
+
docid = RelatonBib::DocumentIdentifier.new(id: "UN TRADE/CEFACT/2004/32", type: "UN")
|
247
|
+
item = RelatonUn::UnBibliographicItem.new docid: [docid], session: RelatonUn::Session.new(session_number: "1")
|
248
|
+
expect(RelatonUn::UnBibliography).to receive(:get).with("UN TRADE/CEFACT/2004/32", nil, {}).and_return item
|
249
|
+
bib = @db.fetch "UN TRADE/CEFACT/2004/32", nil, {}
|
250
|
+
expect(bib).to be_instance_of RelatonUn::UnBibliographicItem
|
251
|
+
expect(bib.docidentifier.first.id).to eq "UN TRADE/CEFACT/2004/32"
|
251
252
|
end
|
252
253
|
|
253
254
|
it "get W3C reference" do
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
255
|
+
docid = RelatonBib::DocumentIdentifier.new(id: "W3C REC-json-ld11-20200716", type: "W3C")
|
256
|
+
item = RelatonW3c::W3cBibliographicItem.new docid: [docid]
|
257
|
+
expect(RelatonW3c::W3cBibliography).to receive(:get).with("W3C REC-json-ld11-20200716", nil, {}).and_return item
|
258
|
+
bib = @db.fetch "W3C REC-json-ld11-20200716", nil, {}
|
259
|
+
expect(bib).to be_instance_of RelatonW3c::W3cBibliographicItem
|
260
|
+
expect(bib.docidentifier.first.id).to eq "W3C REC-json-ld11-20200716"
|
258
261
|
end
|
259
262
|
|
260
263
|
it "get IEEE reference" do
|
@@ -265,10 +268,12 @@ RSpec.describe Relaton::Db do
|
|
265
268
|
end
|
266
269
|
|
267
270
|
it "get IHO reference" do
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
271
|
+
docid = RelatonBib::DocumentIdentifier.new(id: "IHO B-11", type: "IHO")
|
272
|
+
item = RelatonIho::IhoBibliographicItem.new docid: [docid]
|
273
|
+
expect(RelatonIho::IhoBibliography).to receive(:get).with("IHO B-11", nil, {}).and_return item
|
274
|
+
bib = @db.fetch "IHO B-11"
|
275
|
+
expect(bib).to be_instance_of RelatonIho::IhoBibliographicItem
|
276
|
+
expect(bib.docidentifier.first.id).to eq "IHO B-11"
|
272
277
|
end
|
273
278
|
|
274
279
|
it "get ECMA reference" do
|
@@ -314,15 +319,20 @@ RSpec.describe Relaton::Db do
|
|
314
319
|
end
|
315
320
|
|
316
321
|
it "get OASIS reference" do
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
322
|
+
docid = RelatonBib::DocumentIdentifier.new(id: "OASIS amqp-core-types-v1.0-Pt1", type: "OASIS")
|
323
|
+
item = RelatonOasis::OasisBibliographicItem.new docid: [docid]
|
324
|
+
expect(RelatonOasis::OasisBibliography).to receive(:get).with("OASIS amqp-core-types-v1.0-Pt1", nil, {}).and_return item
|
325
|
+
bib = @db.fetch "OASIS amqp-core-types-v1.0-Pt1"
|
326
|
+
expect(bib).to be_instance_of RelatonOasis::OasisBibliographicItem
|
321
327
|
end
|
322
328
|
|
323
|
-
it "get BIPM reference"
|
329
|
+
it "get BIPM reference" do
|
330
|
+
docid = RelatonBib::DocumentIdentifier.new(id: "BIPM Metrologia 29 6 373", type: "BIPM")
|
331
|
+
item = RelatonBipm::BipmBibliographicItem.new docid: [docid]
|
332
|
+
expect(RelatonBipm::BipmBibliography).to receive(:get).with("BIPM Metrologia 29 6 373", nil, {}).and_return item
|
324
333
|
bib = @db.fetch "BIPM Metrologia 29 6 373"
|
325
334
|
expect(bib).to be_instance_of RelatonBipm::BipmBibliographicItem
|
335
|
+
expect(bib.docidentifier.first.id).to eq "BIPM Metrologia 29 6 373"
|
326
336
|
end
|
327
337
|
|
328
338
|
it "get DOI reference", vcr: "doi_10_6028_nist_ir_8245" do
|
@@ -334,10 +344,10 @@ RSpec.describe Relaton::Db do
|
|
334
344
|
context "ISO" do
|
335
345
|
it "included" do
|
336
346
|
VCR.use_cassette "iso_combined_included" do
|
337
|
-
bib = @db.fetch "ISO 19115-1 + Amd 1"
|
338
|
-
expect(bib.docidentifier[0].id).to eq "ISO 19115-1 + Amd 1"
|
347
|
+
bib = @db.fetch "ISO 19115-1:2014 + Amd 1"
|
348
|
+
expect(bib.docidentifier[0].id).to eq "ISO 19115-1:2014 + Amd 1"
|
339
349
|
expect(bib.relation[0].type).to eq "updates"
|
340
|
-
expect(bib.relation[0].bibitem.docidentifier[0].id).to eq "ISO 19115-1"
|
350
|
+
expect(bib.relation[0].bibitem.docidentifier[0].id).to eq "ISO 19115-1:2014"
|
341
351
|
expect(bib.relation[1].type).to eq "derivedFrom"
|
342
352
|
expect(bib.relation[1].description).to be_nil
|
343
353
|
expect(bib.relation[1].bibitem.docidentifier[0].id).to eq "ISO 19115-1:2014/Amd 1"
|
@@ -346,10 +356,10 @@ RSpec.describe Relaton::Db do
|
|
346
356
|
|
347
357
|
it "applied" do
|
348
358
|
VCR.use_cassette "iso_combined_applied" do
|
349
|
-
bib = @db.fetch "ISO 19115-1, Amd 1"
|
350
|
-
expect(bib.docidentifier[0].id).to eq "ISO 19115-1, Amd 1"
|
359
|
+
bib = @db.fetch "ISO 19115-1:2014, Amd 1"
|
360
|
+
expect(bib.docidentifier[0].id).to eq "ISO 19115-1:2014, Amd 1"
|
351
361
|
expect(bib.relation[0].type).to eq "updates"
|
352
|
-
expect(bib.relation[0].bibitem.docidentifier[0].id).to eq "ISO 19115-1"
|
362
|
+
expect(bib.relation[0].bibitem.docidentifier[0].id).to eq "ISO 19115-1:2014"
|
353
363
|
expect(bib.relation[1].type).to eq "complements"
|
354
364
|
expect(bib.relation[1].description.content).to eq "amendment"
|
355
365
|
expect(bib.relation[1].bibitem.docidentifier[0].id).to eq "ISO 19115-1:2014/Amd 1"
|
@@ -359,49 +369,68 @@ RSpec.describe Relaton::Db do
|
|
359
369
|
|
360
370
|
context "IEC" do
|
361
371
|
it "included" do
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
372
|
+
item = RelatonIec::IecBibliographicItem.new docid: [RelatonBib::DocumentIdentifier.new(id: "IEC 60027-1", type: "IEC")]
|
373
|
+
expect(RelatonIec::IecBibliography).to receive(:get).with("IEC 60027-1", nil, {}).and_return item
|
374
|
+
item1 = RelatonIec::IecBibliographicItem.new docid: [RelatonBib::DocumentIdentifier.new(id: "IEC 60027-1/AMD1:1997", type: "IEC")]
|
375
|
+
expect(RelatonIec::IecBibliography).to receive(:get).with("IEC 60027-1/Amd 1", nil, {}).and_return item1
|
376
|
+
item2 = RelatonIec::IecBibliographicItem.new docid: [RelatonBib::DocumentIdentifier.new(id: "IEC 60027-1/AMD2:2005", type: "IEC")]
|
377
|
+
expect(RelatonIec::IecBibliography).to receive(:get).with("IEC 60027-1/Amd 2", nil, {}).and_return item2
|
378
|
+
bib = @db.fetch "IEC 60027-1, Amd 1, Amd 2"
|
379
|
+
expect(bib.docidentifier[0].id).to eq "IEC 60027-1, Amd 1, Amd 2"
|
380
|
+
expect(bib.relation[0].type).to eq "updates"
|
381
|
+
expect(bib.relation[0].bibitem.docidentifier[0].id).to eq "IEC 60027-1"
|
382
|
+
expect(bib.relation[1].type).to eq "complements"
|
383
|
+
expect(bib.relation[1].description.content).to eq "amendment"
|
384
|
+
expect(bib.relation[1].bibitem.docidentifier[0].id).to eq "IEC 60027-1/AMD1:1997"
|
385
|
+
expect(bib.relation[2].type).to eq "complements"
|
386
|
+
expect(bib.relation[2].description.content).to eq "amendment"
|
387
|
+
expect(bib.relation[2].bibitem.docidentifier[0].id).to eq "IEC 60027-1/AMD2:2005"
|
374
388
|
end
|
375
389
|
end
|
376
390
|
|
377
391
|
context "ITU" do
|
378
392
|
it "included" do
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
393
|
+
docid = RelatonBib::DocumentIdentifier.new(id: "ITU-T G.989.2", type: "ITU")
|
394
|
+
group = RelatonItu::ItuGroup.new(name: "Group")
|
395
|
+
ed = RelatonItu::EditorialGroup.new(bureau: "Bureau", group: group)
|
396
|
+
item = RelatonItu::ItuBibliographicItem.new docid: [docid], editorialgroup: ed
|
397
|
+
expect(RelatonItu::ItuBibliography).to receive(:get).with("ITU-T G.989.2", nil, {}).and_return item
|
398
|
+
docid1 = RelatonBib::DocumentIdentifier.new(id: "ITU-T G.989.2 Amd 1", type: "ITU")
|
399
|
+
item1 = RelatonItu::ItuBibliographicItem.new docid: [docid1], editorialgroup: ed
|
400
|
+
expect(RelatonItu::ItuBibliography).to receive(:get).with("ITU-T G.989.2 Amd 1", nil, {}).and_return item1
|
401
|
+
docid2 = RelatonBib::DocumentIdentifier.new(id: "ITU-T G.989.2 Amd 2", type: "ITU")
|
402
|
+
item2 = RelatonItu::ItuBibliographicItem.new docid: [docid2], editorialgroup: ed
|
403
|
+
expect(RelatonItu::ItuBibliography).to receive(:get).with("ITU-T G.989.2 Amd 2", nil, {}).and_return item2
|
404
|
+
bib = @db.fetch "ITU-T G.989.2, Amd 1, Amd 2"
|
405
|
+
expect(bib.docidentifier[0].id).to eq "ITU-T G.989.2, Amd 1, Amd 2"
|
406
|
+
expect(bib.relation[0].type).to eq "updates"
|
407
|
+
expect(bib.relation[0].bibitem.docidentifier[0].id).to eq "ITU-T G.989.2"
|
408
|
+
expect(bib.relation[1].type).to eq "complements"
|
409
|
+
expect(bib.relation[1].description.content).to eq "amendment"
|
410
|
+
expect(bib.relation[1].bibitem.docidentifier[0].id).to eq "ITU-T G.989.2 Amd 1"
|
411
|
+
expect(bib.relation[2].type).to eq "complements"
|
412
|
+
expect(bib.relation[2].description.content).to eq "amendment"
|
413
|
+
expect(bib.relation[2].bibitem.docidentifier[0].id).to eq "ITU-T G.989.2 Amd 2"
|
391
414
|
end
|
392
415
|
end
|
393
416
|
|
394
417
|
context "NIST" do
|
395
418
|
it "included" do
|
396
|
-
VCR.use_cassette "nist_combined_included" do
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
419
|
+
# VCR.use_cassette "nist_combined_included" do
|
420
|
+
doci = RelatonBib::DocumentIdentifier.new(id: "SP 800-38A", type: "NIST")
|
421
|
+
item = RelatonNist::NistBibliographicItem.new docid: [doci]
|
422
|
+
expect(RelatonNist::NistBibliography).to receive(:get).with("NIST SP 800-38A", nil, {}).and_return item
|
423
|
+
docid1 = RelatonBib::DocumentIdentifier.new(id: "SP 800-38A-Add", type: "NIST")
|
424
|
+
item1 = RelatonNist::NistBibliographicItem.new docid: [docid1]
|
425
|
+
expect(RelatonNist::NistBibliography).to receive(:get).with("NIST SP 800-38A/Add", nil, {}).and_return item1
|
426
|
+
bib = @db.fetch "NIST SP 800-38A, Add"
|
427
|
+
expect(bib.docidentifier[0].id).to eq "NIST SP 800-38A, Add"
|
428
|
+
expect(bib.relation[0].type).to eq "updates"
|
429
|
+
expect(bib.relation[0].bibitem.docidentifier[0].id).to eq "SP 800-38A"
|
430
|
+
expect(bib.relation[1].type).to eq "complements"
|
431
|
+
expect(bib.relation[1].description.content).to eq "amendment"
|
432
|
+
expect(bib.relation[1].bibitem.docidentifier[0].id).to eq "SP 800-38A-Add"
|
433
|
+
# end
|
405
434
|
end
|
406
435
|
end
|
407
436
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -23,7 +23,7 @@ http_interactions:
|
|
23
23
|
Connection:
|
24
24
|
- keep-alive
|
25
25
|
Content-Length:
|
26
|
-
- '
|
26
|
+
- '1571'
|
27
27
|
Cache-Control:
|
28
28
|
- max-age=300
|
29
29
|
Content-Security-Policy:
|
@@ -31,7 +31,7 @@ http_interactions:
|
|
31
31
|
Content-Type:
|
32
32
|
- text/plain; charset=utf-8
|
33
33
|
Etag:
|
34
|
-
- W/"
|
34
|
+
- W/"5c52c138afbf38ea9b65dea62e48d43c568b9b5195525cf830778c2c029846a2"
|
35
35
|
Strict-Transport-Security:
|
36
36
|
- max-age=31536000
|
37
37
|
X-Content-Type-Options:
|
@@ -41,36 +41,37 @@ http_interactions:
|
|
41
41
|
X-Xss-Protection:
|
42
42
|
- 1; mode=block
|
43
43
|
X-Github-Request-Id:
|
44
|
-
-
|
44
|
+
- AF94:0BB8:82E1EC:C34C77:6418BDF8
|
45
45
|
Accept-Ranges:
|
46
46
|
- bytes
|
47
47
|
Date:
|
48
|
-
-
|
48
|
+
- Mon, 20 Mar 2023 20:11:37 GMT
|
49
49
|
Via:
|
50
50
|
- 1.1 varnish
|
51
51
|
X-Served-By:
|
52
|
-
- cache-
|
52
|
+
- cache-iad-kjyo7100116-IAD
|
53
53
|
X-Cache:
|
54
54
|
- MISS
|
55
55
|
X-Cache-Hits:
|
56
56
|
- '0'
|
57
57
|
X-Timer:
|
58
|
-
-
|
58
|
+
- S1679343097.936255,VS0,VE191
|
59
59
|
Vary:
|
60
60
|
- Authorization,Accept-Encoding,Origin
|
61
61
|
Access-Control-Allow-Origin:
|
62
62
|
- "*"
|
63
63
|
X-Fastly-Request-Id:
|
64
|
-
-
|
64
|
+
- baac0cdd547b3db0edeca1c739043b643f24467b
|
65
65
|
Expires:
|
66
|
-
-
|
66
|
+
- Mon, 20 Mar 2023 20:16:37 GMT
|
67
67
|
Source-Age:
|
68
68
|
- '0'
|
69
69
|
body:
|
70
70
|
encoding: ASCII-8BIT
|
71
71
|
string: |
|
72
72
|
---
|
73
|
-
|
73
|
+
schema-version: v1.2.1
|
74
|
+
id: TR00.01U-UMTS-3.0.0
|
74
75
|
title:
|
75
76
|
- content: Work programme for the standardization of Universal Mobile Telecommunications
|
76
77
|
System (UMTS)
|
@@ -103,8 +104,8 @@ http_interactions:
|
|
103
104
|
country: France
|
104
105
|
postcode: '06921'
|
105
106
|
role:
|
106
|
-
- author
|
107
|
-
- publisher
|
107
|
+
- type: author
|
108
|
+
- type: publisher
|
108
109
|
- person:
|
109
110
|
name:
|
110
111
|
completename:
|
@@ -118,7 +119,7 @@ http_interactions:
|
|
118
119
|
name:
|
119
120
|
- content: PHILIPS CONSUMER COMMUNICATION
|
120
121
|
role:
|
121
|
-
- author
|
122
|
+
- type: author
|
122
123
|
revdate: '1994-11-18'
|
123
124
|
language:
|
124
125
|
- en
|
@@ -129,11 +130,12 @@ http_interactions:
|
|
129
130
|
value: withdrawn
|
130
131
|
place:
|
131
132
|
- Sophia Antipolis Cedex, France
|
132
|
-
fetched: '2022-09-21'
|
133
133
|
doctype: TR
|
134
134
|
editorialgroup:
|
135
135
|
- name: SMG5
|
136
136
|
type: prime
|
137
|
+
ext:
|
138
|
+
schema-version: v1.0.1
|
137
139
|
radiotechnology: 3G
|
138
140
|
release:
|
139
141
|
version2g: '3'
|
@@ -145,5 +147,5 @@ http_interactions:
|
|
145
147
|
freeze_stage3_meeting: SMG-28
|
146
148
|
close_meeting: SP-28
|
147
149
|
project_end: '1999-02-12'
|
148
|
-
recorded_at:
|
150
|
+
recorded_at: Mon, 20 Mar 2023 20:11:37 GMT
|
149
151
|
recorded_with: VCR 6.1.0
|