patentscope 0.0.1
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.
- data/.gitignore +26 -0
- data/.rspec +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/License.txt +22 -0
- data/README.md +257 -0
- data/Rakefile +27 -0
- data/lib/patentscope.rb +52 -0
- data/lib/patentscope/client.rb +32 -0
- data/lib/patentscope/configuration.rb +42 -0
- data/lib/patentscope/pct_doc_number.rb +45 -0
- data/lib/patentscope/version.rb +5 -0
- data/lib/patentscope/webservice.rb +74 -0
- data/lib/patentscope/webservice_soap_builder.rb +43 -0
- data/patentscope.gemspec +27 -0
- data/spec/client_spec.rb +75 -0
- data/spec/configuration_spec.rb +138 -0
- data/spec/patentscope_spec.rb +91 -0
- data/spec/pct_app_number_spec.rb +256 -0
- data/spec/pct_pub_number_spec.rb +220 -0
- data/spec/spec_helper.rb +29 -0
- data/spec/webservice_soap_builder_spec.rb +318 -0
- data/spec/webservice_spec.rb +97 -0
- data/spec/wipo_test_suite_doc_id_examples.yaml +298 -0
- data/spec/wipo_test_suite_ia_number_examples.yaml +40 -0
- data/spec/wipo_test_suite_spec.rb +44 -0
- metadata +185 -0
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.setup(:default, :development)
|
3
|
+
|
4
|
+
require 'patentscope'
|
5
|
+
require 'rspec'
|
6
|
+
require 'vcr'
|
7
|
+
require 'yaml'
|
8
|
+
require 'open-uri'
|
9
|
+
|
10
|
+
# generate versions of username and password with unsafe characters encoded
|
11
|
+
unsafe_characters = %q[$&+,/:;=?!@ "'<>#%{}|\^~[]`]
|
12
|
+
escaped_patentscope_webservice_username = URI::escape(ENV['PATENTSCOPE_WEBSERVICE_USERNAME'], unsafe_characters)
|
13
|
+
escaped_patentscope_webservice_password = URI::escape(ENV['PATENTSCOPE_WEBSERVICE_PASSWORD'], unsafe_characters)
|
14
|
+
|
15
|
+
VCR.configure do |config|
|
16
|
+
config.cassette_library_dir = 'spec/cassettes'
|
17
|
+
config.hook_into :webmock
|
18
|
+
config.default_cassette_options = { record: :new_episodes }
|
19
|
+
config.default_cassette_options = { match_requests_on: [:body] }
|
20
|
+
config.configure_rspec_metadata!
|
21
|
+
config.allow_http_connections_when_no_cassette = true
|
22
|
+
config.filter_sensitive_data('*****') { escaped_patentscope_webservice_username }
|
23
|
+
config.filter_sensitive_data('*****') { escaped_patentscope_webservice_password }
|
24
|
+
end
|
25
|
+
|
26
|
+
RSpec.configure do |config|
|
27
|
+
# config.treat_symbols_as_metadata_keys_with_true_values = true
|
28
|
+
config.order = 'random'
|
29
|
+
end
|
@@ -0,0 +1,318 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Patentscope
|
4
|
+
|
5
|
+
describe WebserviceSoapBuilder, :core do
|
6
|
+
before { Patentscope.configure_from_env}
|
7
|
+
|
8
|
+
let(:ws_soap_builder) { WebserviceSoapBuilder.new }
|
9
|
+
|
10
|
+
it "exists" do
|
11
|
+
expect(ws_soap_builder).to_not be_nil
|
12
|
+
end
|
13
|
+
|
14
|
+
it "has the right methods" do
|
15
|
+
expect(ws_soap_builder).to respond_to(:build_envelope)
|
16
|
+
expect(ws_soap_builder).to respond_to(:strip_envelope)
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "build_envelope method" do
|
20
|
+
let(:envelope) { ws_soap_builder.build_envelope('foo', {bar: 'baz'}) }
|
21
|
+
|
22
|
+
it "returns an XML document" do
|
23
|
+
expect(envelope).to include('<?xml')
|
24
|
+
end
|
25
|
+
|
26
|
+
it "has an envelope element" do
|
27
|
+
expect(envelope).to include('<S:Envelope')
|
28
|
+
end
|
29
|
+
|
30
|
+
it "has a namespace definition for the envelope" do
|
31
|
+
expect(envelope).to include('xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"')
|
32
|
+
end
|
33
|
+
|
34
|
+
it "has a body element" do
|
35
|
+
expect(envelope).to include('<S:Body>')
|
36
|
+
end
|
37
|
+
|
38
|
+
it "has an operation element" do
|
39
|
+
expect(envelope).to include('<foo ')
|
40
|
+
end
|
41
|
+
|
42
|
+
it "has a namespace definition for the operation" do
|
43
|
+
expect(envelope).to include('xmlns="http://www.wipo.org/wsdl/ps"')
|
44
|
+
end
|
45
|
+
|
46
|
+
it "has a option key element" do
|
47
|
+
expect(envelope).to include('<bar>')
|
48
|
+
end
|
49
|
+
|
50
|
+
it "has an option value element" do
|
51
|
+
expect(envelope).to include('baz')
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "specific operations" do
|
55
|
+
|
56
|
+
context "get_available_documents" do
|
57
|
+
|
58
|
+
it 'generates an appropriate soap envelope' do
|
59
|
+
envelope = ws_soap_builder.build_envelope(:getAvailableDocuments, { iaNumber: 'SG2009000062' })
|
60
|
+
expect(envelope).to include('<?xml version="1.0"')
|
61
|
+
expect(envelope).to include('<getAvailableDocuments ')
|
62
|
+
expect(envelope).to include('<iaNumber>SG2009000062</iaNumber')
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
context "get_document_content" do
|
67
|
+
|
68
|
+
it 'generates an appropriate soap envelope' do
|
69
|
+
envelope = ws_soap_builder.build_envelope(:getDocumentContent, { docId: 'id50000000125222' })
|
70
|
+
expect(envelope).to include('<?xml version="1.0"')
|
71
|
+
expect(envelope).to include('<getDocumentContent ')
|
72
|
+
expect(envelope).to include('<docId>id50000000125222</docId>')
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
context "get_document_ocr_content" do
|
77
|
+
|
78
|
+
it 'generates an appropriate soap envelope' do
|
79
|
+
envelope = ws_soap_builder.build_envelope(:getDocumentOcrContent, { docId: 'id50000000125222' })
|
80
|
+
expect(envelope).to include('<?xml version="1.0"')
|
81
|
+
expect(envelope).to include('<getDocumentOcrContent ')
|
82
|
+
expect(envelope).to include('<docId>id50000000125222</docId>')
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
context "get_iasr" do
|
87
|
+
|
88
|
+
it 'generates an appropriate soap envelope' do
|
89
|
+
envelope = ws_soap_builder.build_envelope(:getIASR, { iaNumber: 'SG2009000062' })
|
90
|
+
expect(envelope).to include('<?xml version="1.0"')
|
91
|
+
expect(envelope).to include('<getIASR ')
|
92
|
+
expect(envelope).to include('<iaNumber>SG2009000062</iaNumber')
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
context "get_document_table_of_contents" do
|
97
|
+
|
98
|
+
it 'generates an appropriate soap envelope' do
|
99
|
+
envelope = ws_soap_builder.build_envelope(:getDocumentTableOfContents, { docId: 'id50000000125222' })
|
100
|
+
expect(envelope).to include('<?xml version="1.0"')
|
101
|
+
expect(envelope).to include('<getDocumentTableOfContents ')
|
102
|
+
expect(envelope).to include('<docId>id50000000125222</docId>')
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
context "get_document_content_page" do
|
107
|
+
|
108
|
+
it 'generates an appropriate soap envelope' do
|
109
|
+
envelope = ws_soap_builder.build_envelope(:getDocumentContentPage, { docId: 'id50000000125222', pageId: '000031.tif' })
|
110
|
+
expect(envelope).to include('<?xml version="1.0"')
|
111
|
+
expect(envelope).to include('<getDocumentContentPage ')
|
112
|
+
expect(envelope).to include('<docId>id50000000125222</docId>')
|
113
|
+
expect(envelope).to include('<pageId>000031.tif</pageId>')
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
describe "strip_envelope method" do
|
120
|
+
|
121
|
+
context "getAvailableDocuments operation" do
|
122
|
+
let(:envelope) { '<?xml version="1.0" ?>
|
123
|
+
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
|
124
|
+
<S:Body>
|
125
|
+
<getAvailableDocumentsResponse xmlns="http://www.wipo.org/wsdl/ps">
|
126
|
+
<doc gazette="35/2006" docType="PAMPH" docId="id50000000162179"></doc>
|
127
|
+
<doc docType="WOSA" docId="id50000000125420"></doc>
|
128
|
+
<doc docType="ETIP1" docId="id50000000329130"></doc>
|
129
|
+
<doc priorityNumber="10 2005 008 395.1" docType="PDOC" docId="id50000000116310"></doc> <doc docType="IB304" docId="id50000000116985"></doc>
|
130
|
+
<doc docType="ETWOS" docId="id50000000325635">
|
131
|
+
</doc>
|
132
|
+
</getAvailableDocumentsResponse>
|
133
|
+
</S:Body></S:Envelope>' }
|
134
|
+
let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getAvailableDocuments) }
|
135
|
+
|
136
|
+
it "retains the xml declaration" do
|
137
|
+
expect(stripped).to include('<?xml')
|
138
|
+
end
|
139
|
+
|
140
|
+
it "strips the Envelope element" do
|
141
|
+
expect(stripped).to_not include('<S:Envelope')
|
142
|
+
end
|
143
|
+
|
144
|
+
it "strips the Body element" do
|
145
|
+
expect(stripped).to_not include('<S:Body>')
|
146
|
+
end
|
147
|
+
|
148
|
+
it "strips the getAvailableDocumentsResponse element" do
|
149
|
+
expect(stripped).to_not include('<getAvailableDocumentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
150
|
+
end
|
151
|
+
|
152
|
+
it "retains the inner elements" do
|
153
|
+
expect(stripped).to include('<doc gazette="35/2006" docType="PAMPH" docId="id50000000162179"/>')
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
context "getDocumentContent operation" do
|
158
|
+
let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
|
159
|
+
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
|
160
|
+
<S:Body>
|
161
|
+
<getDocumentContentResponse xmlns="http://www.wipo.org/wsdl/ps">
|
162
|
+
<documentContent>UEsDBBQACAAIAIyMOy0AAAAAAAAAAAAAAAAKAAAAMDAwMDA...AAAAAA=</documentContent>
|
163
|
+
</getDocumentContentResponse>
|
164
|
+
</S:Body>
|
165
|
+
</S:Envelope>' }
|
166
|
+
let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentContent) }
|
167
|
+
|
168
|
+
it "retains the xml declaration" do
|
169
|
+
expect(stripped).to include('<?xml')
|
170
|
+
end
|
171
|
+
|
172
|
+
it "strips the Envelope element" do
|
173
|
+
expect(stripped).to_not include('<S:Envelope')
|
174
|
+
end
|
175
|
+
|
176
|
+
it "strips the Body element" do
|
177
|
+
expect(stripped).to_not include('<S:Body>')
|
178
|
+
end
|
179
|
+
|
180
|
+
it "strips the getDocumentContentResponse element" do
|
181
|
+
expect(stripped).to_not include('<getDocumentContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
182
|
+
end
|
183
|
+
|
184
|
+
it "retains the inner elements" do
|
185
|
+
expect(stripped).to include('<documentContent>UEsDBBQACAAIAIyMOy0AAAAAAAAAAAAAAAAKAAAAMDAwMDA...AAAAAA=</documentContent>')
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
context "getDocumentOcrContent operation" do
|
190
|
+
let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
|
191
|
+
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
|
192
|
+
<S:Body>
|
193
|
+
<getDocumentOcrContentResponse xmlns="http://www.wipo.org/wsdl/ps">
|
194
|
+
<documentContent>JVBERi0xLjQKJeLjz9MKOCAwIG9iago8P...DUKJSVFT0YK</documentContent>
|
195
|
+
</getDocumentOcrContentResponse>
|
196
|
+
</S:Body>
|
197
|
+
</S:Envelope>' }
|
198
|
+
let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentOcrContent) }
|
199
|
+
|
200
|
+
it "retains the xml declaration" do
|
201
|
+
expect(stripped).to include('<?xml')
|
202
|
+
end
|
203
|
+
|
204
|
+
it "strips the Envelope element" do
|
205
|
+
expect(stripped).to_not include('<S:Envelope')
|
206
|
+
end
|
207
|
+
|
208
|
+
it "strips the Body element" do
|
209
|
+
expect(stripped).to_not include('<S:Body>')
|
210
|
+
end
|
211
|
+
|
212
|
+
it "strips the getDocumentOcrContentResponse element" do
|
213
|
+
expect(stripped).to_not include('<getDocumentOcrContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
214
|
+
end
|
215
|
+
|
216
|
+
it "retains the inner elements" do
|
217
|
+
expect(stripped).to include('<documentContent>JVBERi0xLjQKJeLjz9MKOCAwIG9iago8P...DUKJSVFT0YK</documentContent>')
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
context "getIASR operation" do
|
222
|
+
let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
|
223
|
+
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
|
224
|
+
<S:Body>
|
225
|
+
<getIASRResponse xmlns="http://www.wipo.org/wsdl/ps">
|
226
|
+
<wo-international-application-status>baz</wo-international-application-status>
|
227
|
+
</getIASRResponse>
|
228
|
+
</S:Body>
|
229
|
+
</S:Envelope>' }
|
230
|
+
let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getIASR) }
|
231
|
+
|
232
|
+
it "retains the xml declaration" do
|
233
|
+
expect(stripped).to include('<?xml')
|
234
|
+
end
|
235
|
+
|
236
|
+
it "strips the Envelope element" do
|
237
|
+
expect(stripped).to_not include('<S:Envelope')
|
238
|
+
end
|
239
|
+
|
240
|
+
it "strips the Body element" do
|
241
|
+
expect(stripped).to_not include('<S:Body>')
|
242
|
+
end
|
243
|
+
|
244
|
+
it "strips the getIASRResponse element" do
|
245
|
+
expect(stripped).to_not include('<getIASRResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
246
|
+
end
|
247
|
+
|
248
|
+
it "retains the inner elements" do
|
249
|
+
expect(stripped).to include('<wo-international-application-status>baz</wo-international-application-status>')
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
context "getDocumentTableOfContents operation" do
|
254
|
+
let(:envelope) { '<?xml version=\'1.0\' encoding=\'UTF-8\'?>
|
255
|
+
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
|
256
|
+
<S:Body>
|
257
|
+
<getDocumentTableOfContentsResponse xmlns="http://www.wipo.org/wsdl/ps">
|
258
|
+
<content>000001.tif</content>
|
259
|
+
</getDocumentTableOfContentsResponse>
|
260
|
+
</S:Body>
|
261
|
+
</S:Envelope>' }
|
262
|
+
let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentTableOfContents) }
|
263
|
+
|
264
|
+
it "retains the xml declaration" do
|
265
|
+
expect(stripped).to include('<?xml')
|
266
|
+
end
|
267
|
+
|
268
|
+
it "strips the Envelope element" do
|
269
|
+
expect(stripped).to_not include('<S:Envelope')
|
270
|
+
end
|
271
|
+
|
272
|
+
it "strips the Body element" do
|
273
|
+
expect(stripped).to_not include('<S:Body>')
|
274
|
+
end
|
275
|
+
|
276
|
+
it "strips the getDocumentTableOfContentsResponse element" do
|
277
|
+
expect(stripped).to_not include('<getDocumentTableOfContentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
278
|
+
end
|
279
|
+
|
280
|
+
it "retains the inner elements" do
|
281
|
+
expect(stripped).to include('<content>000001.tif</content>')
|
282
|
+
end
|
283
|
+
end
|
284
|
+
|
285
|
+
context "getDocumentContentPage operation" do
|
286
|
+
let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
|
287
|
+
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
|
288
|
+
<S:Body>
|
289
|
+
<getDocumentContentPageResponse xmlns="http://www.wipo.org/wsdl/ps">
|
290
|
+
<pageContent>SUkqAAgAAAASAP4ABAABAAAAAAAAAAABAwABAAAAqwk...//wAQAQAQAQ==</pageContent>
|
291
|
+
</getDocumentContentPageResponse>
|
292
|
+
</S:Body>
|
293
|
+
</S:Envelope>' }
|
294
|
+
let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentContentPage) }
|
295
|
+
|
296
|
+
it "retains the xml declaration" do
|
297
|
+
expect(stripped).to include('<?xml')
|
298
|
+
end
|
299
|
+
|
300
|
+
it "strips the Envelope element" do
|
301
|
+
expect(stripped).to_not include('<S:Envelope')
|
302
|
+
end
|
303
|
+
|
304
|
+
it "strips the Body element" do
|
305
|
+
expect(stripped).to_not include('<S:Body>')
|
306
|
+
end
|
307
|
+
|
308
|
+
it "strips the getDocumentContentPageResponse element" do
|
309
|
+
expect(stripped).to_not include('<getDocumentContentPageResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
310
|
+
end
|
311
|
+
|
312
|
+
it "retains the inner elements" do
|
313
|
+
expect(stripped).to include('<pageContent>SUkqAAgAAAASAP4ABAABAAAAAAAAAAABAwABAAAAqwk...//wAQAQAQAQ==</pageContent>')
|
314
|
+
end
|
315
|
+
end
|
316
|
+
end
|
317
|
+
end
|
318
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Patentscope
|
4
|
+
|
5
|
+
describe Webservice, :core, :vcr do
|
6
|
+
|
7
|
+
before { Patentscope.configure_from_env}
|
8
|
+
|
9
|
+
let(:webservice) { Webservice.new }
|
10
|
+
|
11
|
+
it "exists" do
|
12
|
+
expect(webservice).to_not be_nil
|
13
|
+
end
|
14
|
+
|
15
|
+
it "has the right methods" do
|
16
|
+
expect(webservice).to respond_to(:wsdl)
|
17
|
+
expect(webservice).to respond_to(:get_available_documents)
|
18
|
+
expect(webservice).to respond_to(:get_document_content)
|
19
|
+
expect(webservice).to respond_to(:get_document_ocr_content)
|
20
|
+
expect(webservice).to respond_to(:get_iasr)
|
21
|
+
expect(webservice).to respond_to(:get_document_table_of_contents)
|
22
|
+
expect(webservice).to respond_to(:get_document_content_page)
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "constants" do
|
26
|
+
it "has a webservice location constant" do
|
27
|
+
expect(Webservice::PATENTSCOPE_WEBSERVICE_LOCATION).to_not be_nil
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "wsdl method" do
|
32
|
+
it "returns a wsdl document" do
|
33
|
+
response = webservice.wsdl
|
34
|
+
expect(response).to include('<?xml')
|
35
|
+
expect(response).to include('<wsdl:definitions')
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe "get_available_documents method" do
|
40
|
+
it 'returns an appropriate XML document for the get_available_documents operation' do
|
41
|
+
response = webservice.get_available_documents(ia_number: 'SG2009000062')
|
42
|
+
expect(response).to include('<?xml version="1.0"?>')
|
43
|
+
expect(response).to include('<doc ocrPresence="no" docType="RO101" docId="id00000008679651"/>')
|
44
|
+
expect(response).to_not include('<getAvailableDocumentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "get_document_content method" do
|
49
|
+
it 'returns an appropriate XML document for the get_document_content operation' do
|
50
|
+
response = webservice.get_document_content(doc_id: '090063618004ca88')
|
51
|
+
expect(response).to include('<?xml version="1.0"?>')
|
52
|
+
expect(response).to include('<documentContent>')
|
53
|
+
expect(response).to include('nRpZsy7ezxU2/8/fk5JM6HIXReMWymXUCmhYcRgUIjjNk2pDAkdlxox7xiSLm')
|
54
|
+
expect(response).to_not include('<getDocumentContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "get_document_ocr_content method" do
|
59
|
+
it 'returns an appropriate XML document for the get_document_ocr_content operation' do
|
60
|
+
response = webservice.get_document_ocr_content(doc_id: 'id00000015801579')
|
61
|
+
expect(response).to include('<?xml version="1.0"?>')
|
62
|
+
expect(response).to include('<documentContent>')
|
63
|
+
expect(response).to include('XdDb9Ain4kev61wgZc36X022QPCEZZASS2Rwpcy4Hx7I5GYHhriRwpsDwoX9tgjgZwcEGGEksgthsHsNtkFmyGZYQIGGCCX3dhggRDTgEEDNgVgkvuw2ECDDSYMEF')
|
64
|
+
expect(response).to_not include('<getDocumentOcrContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe "get_iasr method" do
|
69
|
+
it 'returns an appropriate XML document for the get_iasr operation' do
|
70
|
+
response = webservice.get_iasr(ia_number: 'SG2009000062')
|
71
|
+
expect(response).to include('<?xml version="1.0"?>')
|
72
|
+
expect(response).to include('<wo-international-application-status>')
|
73
|
+
expect(response).to include('MESENCHYMAL STEM CELL PARTICLES')
|
74
|
+
expect(response).to_not include('<getIASRResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe "get_document_table_of_contents method" do
|
79
|
+
it 'returns an appropriate XML document for the get_document_table_of_contents operation' do
|
80
|
+
response = webservice.get_document_table_of_contents(doc_id: '090063618004ca88')
|
81
|
+
expect(response).to include('<?xml version="1.0"?>')
|
82
|
+
expect(response).to include('<content>')
|
83
|
+
expect(response).to include('<content>000001.tif</content>')
|
84
|
+
expect(response).to_not include('<getDocumentTableOfContentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
describe "get_document_content_page method" do
|
89
|
+
it 'returns an appropriate XML document for the get_document_content_page operation' do
|
90
|
+
response = webservice.get_document_content_page(doc_id: '090063618004ca88', page_id: '000001.tif')
|
91
|
+
expect(response).to include('<?xml version="1.0"?>')
|
92
|
+
expect(response).to include('+GP0kv9dhgiY7Rb5h2q4RN6Jj9NpDCJjuMImO0l0TfLe7QRO2yFceTvvTu6C6qTH')
|
93
|
+
expect(response).to_not include('<getDocumentContentPageResponse xmlns="http://www.wipo.org/wsdl/ps">')
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -0,0 +1,298 @@
|
|
1
|
+
passes:
|
2
|
+
-
|
3
|
+
doc_id: '090063618004ca88'
|
4
|
+
signature: '<content>000001.tif</content>'
|
5
|
+
-
|
6
|
+
doc_id: '090063618004ca89'
|
7
|
+
signature: '<content>000001.tif</content>'
|
8
|
+
-
|
9
|
+
doc_id: '090063618004ca7c'
|
10
|
+
signature: '<content>000001.tif</content>'
|
11
|
+
-
|
12
|
+
doc_id: '090063618004ca7d'
|
13
|
+
signature: '<content>000001.tif</content>'
|
14
|
+
-
|
15
|
+
doc_id: '090063618004ca8b'
|
16
|
+
signature: '<content>000001.tif</content>'
|
17
|
+
-
|
18
|
+
doc_id: '090063618004ca8d'
|
19
|
+
signature: '<content>000001.tif</content>'
|
20
|
+
-
|
21
|
+
doc_id: '0900636180050716'
|
22
|
+
signature: '<content>000001.tif</content>'
|
23
|
+
-
|
24
|
+
doc_id: '090063618004ca8f'
|
25
|
+
signature: '<content>000001.tif</content>'
|
26
|
+
-
|
27
|
+
doc_id: '090063618004ca90'
|
28
|
+
signature: '<content>000001.tif</content>'
|
29
|
+
-
|
30
|
+
doc_id: '090063618006d63c'
|
31
|
+
signature: '<content>000001.tif</content>'
|
32
|
+
-
|
33
|
+
doc_id: '090063618006d508'
|
34
|
+
signature: '<content>000001.tif</content>'
|
35
|
+
-
|
36
|
+
doc_id: '090063618006d509'
|
37
|
+
signature: '<content>000001.tif</content>'
|
38
|
+
-
|
39
|
+
doc_id: '090063618006d50a'
|
40
|
+
signature: '<content>000001.tif</content>'
|
41
|
+
-
|
42
|
+
doc_id: '0900636180078779'
|
43
|
+
signature: '<content>000001.tif</content>'
|
44
|
+
-
|
45
|
+
doc_id: '0900636180078611'
|
46
|
+
signature: '<content>000001.tif</content>'
|
47
|
+
-
|
48
|
+
doc_id: '0900636180082aed'
|
49
|
+
signature: '<content>000001.tif</content>'
|
50
|
+
-
|
51
|
+
doc_id: '090063618007f732'
|
52
|
+
signature: '<content>000001.tif</content>'
|
53
|
+
-
|
54
|
+
doc_id: '0900636180082aee'
|
55
|
+
signature: '<content>000001.tif</content>'
|
56
|
+
-
|
57
|
+
doc_id: '0900636180082c31'
|
58
|
+
signature: '<content>000001.tif</content>'
|
59
|
+
-
|
60
|
+
doc_id: '09006361800827c0'
|
61
|
+
signature: '<content>000001.tif</content>'
|
62
|
+
-
|
63
|
+
doc_id: '0900636180082aef'
|
64
|
+
signature: '<content>000001.tif</content>'
|
65
|
+
-
|
66
|
+
doc_id: '0900636180083c5e'
|
67
|
+
signature: '<content>000001.tif</content>'
|
68
|
+
-
|
69
|
+
doc_id: '0900636180083c8a'
|
70
|
+
signature: '<content>000001.tif</content>'
|
71
|
+
-
|
72
|
+
doc_id: '0900636180083c8b'
|
73
|
+
signature: '<content>000001.tif</content>'
|
74
|
+
-
|
75
|
+
doc_id: '0900636180083ca1'
|
76
|
+
signature: '<content>000001.tif</content>'
|
77
|
+
-
|
78
|
+
doc_id: '0900636180083ca2'
|
79
|
+
signature: '<content>000001.tif</content>'
|
80
|
+
-
|
81
|
+
doc_id: '0900636180083ca3'
|
82
|
+
signature: '<content>000001.tif</content>'
|
83
|
+
-
|
84
|
+
doc_id: '0900636180083caa'
|
85
|
+
signature: '<content>000001.tif</content>'
|
86
|
+
-
|
87
|
+
doc_id: '0900636180083cab'
|
88
|
+
signature: '<content>000001.tif</content>'
|
89
|
+
-
|
90
|
+
doc_id: '0900636180083cbd'
|
91
|
+
signature: '<content>000001.tif</content>'
|
92
|
+
-
|
93
|
+
doc_id: '0900636180083cbe'
|
94
|
+
signature: '<content>000001.tif</content>'
|
95
|
+
-
|
96
|
+
doc_id: '0900636180083cd9'
|
97
|
+
signature: '<content>000001.tif</content>'
|
98
|
+
-
|
99
|
+
doc_id: '0900636180083cdf'
|
100
|
+
signature: '<content>000001.tif</content>'
|
101
|
+
-
|
102
|
+
doc_id: '0900636180083d50'
|
103
|
+
signature: '<content>000001.tif</content>'
|
104
|
+
-
|
105
|
+
doc_id: '0900636180083dac'
|
106
|
+
signature: '<content>000001.tif</content>'
|
107
|
+
-
|
108
|
+
doc_id: '0900636180083dad'
|
109
|
+
signature: '<content>000001.tif</content>'
|
110
|
+
-
|
111
|
+
doc_id: '0900636180083de9'
|
112
|
+
signature: '<content>000001.tif</content>'
|
113
|
+
-
|
114
|
+
doc_id: '0900636180083df8'
|
115
|
+
signature: '<content>000001.tif</content>'
|
116
|
+
-
|
117
|
+
doc_id: '0900636180083e14'
|
118
|
+
signature: '<content>000001.tif</content>'
|
119
|
+
-
|
120
|
+
doc_id: '0900636180083e15'
|
121
|
+
signature: '<content>000001.tif</content>'
|
122
|
+
-
|
123
|
+
doc_id: '0900636180083e4f'
|
124
|
+
signature: '<content>000001.tif</content>'
|
125
|
+
-
|
126
|
+
doc_id: '0900636180083e50'
|
127
|
+
signature: '<content>000001.tif</content>'
|
128
|
+
-
|
129
|
+
doc_id: '0900636180083e51'
|
130
|
+
signature: '<content>000001.tif</content>'
|
131
|
+
-
|
132
|
+
doc_id: '0900636180083ee5'
|
133
|
+
signature: '<content>000001.tif</content>'
|
134
|
+
-
|
135
|
+
doc_id: '0900636180083f14'
|
136
|
+
signature: '<content>000001.tif</content>'
|
137
|
+
-
|
138
|
+
doc_id: '0900636180083f15'
|
139
|
+
signature: '<content>000001.tif</content>'
|
140
|
+
-
|
141
|
+
doc_id: '0900636180083fe8'
|
142
|
+
signature: '<content>000001.tif</content>'
|
143
|
+
-
|
144
|
+
doc_id: '0900636180083fe9'
|
145
|
+
signature: '<content>000001.tif</content>'
|
146
|
+
-
|
147
|
+
doc_id: '09006361800840e0'
|
148
|
+
signature: '<content>000001.tif</content>'
|
149
|
+
-
|
150
|
+
doc_id: '09006361800840e1'
|
151
|
+
signature: '<content>000001.tif</content>'
|
152
|
+
-
|
153
|
+
doc_id: '0900636180084428'
|
154
|
+
signature: '<content>000001.tif</content>'
|
155
|
+
-
|
156
|
+
doc_id: '0900636180084429'
|
157
|
+
signature: '<content>000001.tif</content>'
|
158
|
+
-
|
159
|
+
doc_id: '0900636180084490'
|
160
|
+
signature: '<content>000001.tif</content>'
|
161
|
+
-
|
162
|
+
doc_id: '0900636180084491'
|
163
|
+
signature: '<content>000001.tif</content>'
|
164
|
+
-
|
165
|
+
doc_id: '0900636180084492'
|
166
|
+
signature: '<content>000001.tif</content>'
|
167
|
+
-
|
168
|
+
doc_id: '09006361800844f4'
|
169
|
+
signature: '<content>000001.tif</content>'
|
170
|
+
-
|
171
|
+
doc_id: '0900636180084577'
|
172
|
+
signature: '<content>000001.tif</content>'
|
173
|
+
-
|
174
|
+
doc_id: '0900636180084578'
|
175
|
+
signature: '<content>000001.tif</content>'
|
176
|
+
-
|
177
|
+
doc_id: '09006361800845a1'
|
178
|
+
signature: '<content>000001.tif</content>'
|
179
|
+
-
|
180
|
+
doc_id: '09006361800845a2'
|
181
|
+
signature: '<content>000001.tif</content>'
|
182
|
+
-
|
183
|
+
doc_id: '09006361800845b2'
|
184
|
+
signature: '<content>000001.tif</content>'
|
185
|
+
-
|
186
|
+
doc_id: '09006361800845b3'
|
187
|
+
signature: '<content>000001.tif</content>'
|
188
|
+
-
|
189
|
+
doc_id: '09006361800845cb'
|
190
|
+
signature: '<content>000001.tif</content>'
|
191
|
+
-
|
192
|
+
doc_id: '09006361800845cc'
|
193
|
+
signature: '<content>000001.tif</content>'
|
194
|
+
-
|
195
|
+
doc_id: '09006361800845f5'
|
196
|
+
signature: '<content>000001.tif</content>'
|
197
|
+
-
|
198
|
+
doc_id: '09006361800845f6'
|
199
|
+
signature: '<content>000001.tif</content>'
|
200
|
+
-
|
201
|
+
doc_id: '09006361800845f7'
|
202
|
+
signature: '<content>000001.tif</content>'
|
203
|
+
-
|
204
|
+
doc_id: '09006361800854a7'
|
205
|
+
signature: '<content>000001.tif</content>'
|
206
|
+
-
|
207
|
+
doc_id: '09006361800854f4'
|
208
|
+
signature: '<content>000001.tif</content>'
|
209
|
+
-
|
210
|
+
doc_id: '09006361800854f5'
|
211
|
+
signature: '<content>000001.tif</content>'
|
212
|
+
-
|
213
|
+
doc_id: '090063618008a415'
|
214
|
+
signature: '<content>000001.tif</content>'
|
215
|
+
-
|
216
|
+
doc_id: '090063618008a416'
|
217
|
+
signature: '<content>000001.tif</content>'
|
218
|
+
-
|
219
|
+
doc_id: '090063618008a417'
|
220
|
+
signature: '<content>000001.tif</content>'
|
221
|
+
-
|
222
|
+
doc_id: '090063618008a419'
|
223
|
+
signature: '<content>000001.tif</content>'
|
224
|
+
-
|
225
|
+
doc_id: '090063618008a41a'
|
226
|
+
signature: '<content>000001.tif</content>'
|
227
|
+
-
|
228
|
+
doc_id: '090063618008a41b'
|
229
|
+
signature: '<content>000001.tif</content>'
|
230
|
+
-
|
231
|
+
doc_id: '0900636180084451'
|
232
|
+
signature: '<content>000001.tif</content>'
|
233
|
+
-
|
234
|
+
doc_id: '0900636180084461'
|
235
|
+
signature: '<content>000001.tif</content>'
|
236
|
+
-
|
237
|
+
doc_id: '0900636180084462'
|
238
|
+
signature: '<content>000001.tif</content>'
|
239
|
+
-
|
240
|
+
doc_id: '0900636180084479'
|
241
|
+
signature: '<content>000001.tif</content>'
|
242
|
+
-
|
243
|
+
doc_id: '090063618008447a'
|
244
|
+
signature: '<content>000001.tif</content>'
|
245
|
+
-
|
246
|
+
doc_id: '09006361800844cc'
|
247
|
+
signature: '<content>000001.tif</content>'
|
248
|
+
-
|
249
|
+
doc_id: '09006361800844cd'
|
250
|
+
signature: '<content>000001.tif</content>'
|
251
|
+
-
|
252
|
+
doc_id: '09006361800844ce'
|
253
|
+
signature: '<content>000001.tif</content>'
|
254
|
+
-
|
255
|
+
doc_id: '0900636180084585'
|
256
|
+
signature: '<content>000001.tif</content>'
|
257
|
+
-
|
258
|
+
doc_id: '09006361800845d4'
|
259
|
+
signature: '<content>000001.tif</content>'
|
260
|
+
-
|
261
|
+
doc_id: '09006361800845d5'
|
262
|
+
signature: '<content>000001.tif</content>'
|
263
|
+
-
|
264
|
+
doc_id: '09006361800854a9'
|
265
|
+
signature: '<content>000001.tif</content>'
|
266
|
+
-
|
267
|
+
doc_id: '09006361800854d8'
|
268
|
+
signature: '<content>000001.tif</content>'
|
269
|
+
-
|
270
|
+
doc_id: '0900636180085517'
|
271
|
+
signature: '<content>000001.tif</content>'
|
272
|
+
-
|
273
|
+
doc_id: '0900636180085518'
|
274
|
+
signature: '<content>000001.tif</content>'
|
275
|
+
-
|
276
|
+
doc_id: '090063618008552a'
|
277
|
+
signature: '<content>000001.tif</content>'
|
278
|
+
-
|
279
|
+
doc_id: '090063618008552b'
|
280
|
+
signature: '<content>000001.tif</content>'
|
281
|
+
-
|
282
|
+
doc_id: '090063618008a3bb'
|
283
|
+
signature: '<content>000001.tif</content>'
|
284
|
+
-
|
285
|
+
doc_id: '090063618008a3bc'
|
286
|
+
signature: '<content>000001.tif</content>'
|
287
|
+
-
|
288
|
+
doc_id: '090063618008a3bd'
|
289
|
+
signature: '<content>000001.tif</content>'
|
290
|
+
-
|
291
|
+
doc_id: '0900636180083c2b'
|
292
|
+
signature: '<content>000001.tif</content>'
|
293
|
+
-
|
294
|
+
doc_id: '0900636180083c2c'
|
295
|
+
signature: '<content>000001.tif</content>'
|
296
|
+
-
|
297
|
+
doc_id: '0900636180083c3c'
|
298
|
+
signature: '<content>000001.tif</content>'
|