gds-api-adapters 14.1.1 → 14.2.0
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/lib/gds_api/collections_api.rb +15 -0
- data/lib/gds_api/helpers.rb +5 -0
- data/lib/gds_api/test_helpers/collections_api.rb +63 -0
- data/lib/gds_api/version.rb +1 -1
- data/test/collections_api_test.rb +21 -0
- metadata +44 -125
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative 'base'
|
2
|
+
require_relative 'exceptions'
|
3
|
+
|
4
|
+
class GdsApi::CollectionsApi < GdsApi::Base
|
5
|
+
|
6
|
+
def curated_lists_for(base_path)
|
7
|
+
get_json(collections_api_url(base_path))
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def collections_api_url(base_path)
|
13
|
+
"#{endpoint}/curated-lists#{base_path}"
|
14
|
+
end
|
15
|
+
end
|
data/lib/gds_api/helpers.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'gds_api/asset_manager'
|
2
2
|
require 'gds_api/business_support_api'
|
3
|
+
require 'gds_api/collections_api'
|
3
4
|
require 'gds_api/content_api'
|
4
5
|
require 'gds_api/content_store'
|
5
6
|
require 'gds_api/fact_cave'
|
@@ -21,6 +22,10 @@ module GdsApi
|
|
21
22
|
@business_support_api ||= GdsApi::BusinessSupportApi.new(Plek.current.find("business-support-api"), options)
|
22
23
|
end
|
23
24
|
|
25
|
+
def collections_api(options = {})
|
26
|
+
@collections_api ||= GdsApi::CollectionsApi.new(Plek.current.find("collections-api"), options)
|
27
|
+
end
|
28
|
+
|
24
29
|
def content_api(options = {})
|
25
30
|
@content_api ||= GdsApi::ContentApi.new(Plek.current.find("contentapi"), options)
|
26
31
|
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'gds_api/test_helpers/json_client_helper'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
module GdsApi
|
5
|
+
module TestHelpers
|
6
|
+
module CollectionsApi
|
7
|
+
COLLECTIONS_API_ENDPOINT = Plek.current.find('collections-api')
|
8
|
+
|
9
|
+
def collections_api_has_curated_lists_for(base_path)
|
10
|
+
url = COLLECTIONS_API_ENDPOINT + "/curated-lists" + base_path
|
11
|
+
|
12
|
+
stub_request(:get, url).to_return(
|
13
|
+
status: 200,
|
14
|
+
body: body_with_options(base_path: base_path).to_json,
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
def collections_api_has_no_curated_lists_for(base_path)
|
19
|
+
url = COLLECTIONS_API_ENDPOINT + "/curated-lists" + base_path
|
20
|
+
|
21
|
+
stub_request(:get, url).to_return(
|
22
|
+
status: 404
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def body_with_options(options)
|
29
|
+
{
|
30
|
+
base_path: options.fetch(:base_path),
|
31
|
+
title: 'Example title',
|
32
|
+
description: 'example description',
|
33
|
+
public_updated_at: "2014-03-04T13:58:11+00:00",
|
34
|
+
details: {
|
35
|
+
groups: [
|
36
|
+
# Curated content excluding untagged content
|
37
|
+
{
|
38
|
+
name: "Oil rigs",
|
39
|
+
contents: [
|
40
|
+
"http://example.com/api/oil-rig-safety-requirements.json",
|
41
|
+
"http://example.com/api/oil-rig-staffing.json"
|
42
|
+
]
|
43
|
+
},
|
44
|
+
{
|
45
|
+
name: "Piping",
|
46
|
+
contents: [
|
47
|
+
"http://example.com/api/undersea-piping-restrictions.json"
|
48
|
+
]
|
49
|
+
},
|
50
|
+
# Uncurated content
|
51
|
+
{
|
52
|
+
name: "Other",
|
53
|
+
contents: [
|
54
|
+
"http://example.com/api/north-sea-shipping-lanes.json"
|
55
|
+
]
|
56
|
+
}
|
57
|
+
]
|
58
|
+
}
|
59
|
+
}
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
data/lib/gds_api/version.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'gds_api/collections_api'
|
3
|
+
require 'gds_api/test_helpers/collections_api'
|
4
|
+
|
5
|
+
describe GdsApi::CollectionsApi do
|
6
|
+
include GdsApi::TestHelpers::CollectionsApi
|
7
|
+
|
8
|
+
before do
|
9
|
+
@base_api_url = Plek.current.find("collections-api")
|
10
|
+
@api = GdsApi::CollectionsApi.new(@base_api_url)
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "curated_lists_for" do
|
14
|
+
it "should return the curated lists for a given base path" do
|
15
|
+
base_path = "/test/base-path"
|
16
|
+
collections_api_has_curated_lists_for(base_path)
|
17
|
+
response = @api.curated_lists_for(base_path)
|
18
|
+
assert_equal base_path, response["base_path"]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gds-api-adapters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 14.
|
4
|
+
version: 14.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-08-
|
12
|
+
date: 2014-08-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: plek
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &13608540 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,15 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
24
|
+
version_requirements: *13608540
|
30
25
|
- !ruby/object:Gem::Dependency
|
31
26
|
name: null_logger
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &13606680 !ruby/object:Gem::Requirement
|
33
28
|
none: false
|
34
29
|
requirements:
|
35
30
|
- - ! '>='
|
@@ -37,15 +32,10 @@ dependencies:
|
|
37
32
|
version: '0'
|
38
33
|
type: :runtime
|
39
34
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
35
|
+
version_requirements: *13606680
|
46
36
|
- !ruby/object:Gem::Dependency
|
47
37
|
name: link_header
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &13697120 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
40
|
requirements:
|
51
41
|
- - ! '>='
|
@@ -53,15 +43,10 @@ dependencies:
|
|
53
43
|
version: '0'
|
54
44
|
type: :runtime
|
55
45
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
46
|
+
version_requirements: *13697120
|
62
47
|
- !ruby/object:Gem::Dependency
|
63
48
|
name: lrucache
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &13696400 !ruby/object:Gem::Requirement
|
65
50
|
none: false
|
66
51
|
requirements:
|
67
52
|
- - ~>
|
@@ -69,15 +54,10 @@ dependencies:
|
|
69
54
|
version: 0.1.1
|
70
55
|
type: :runtime
|
71
56
|
prerelease: false
|
72
|
-
version_requirements:
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: 0.1.1
|
57
|
+
version_requirements: *13696400
|
78
58
|
- !ruby/object:Gem::Dependency
|
79
59
|
name: rest-client
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirement: &13695720 !ruby/object:Gem::Requirement
|
81
61
|
none: false
|
82
62
|
requirements:
|
83
63
|
- - ~>
|
@@ -85,15 +65,10 @@ dependencies:
|
|
85
65
|
version: 1.6.3
|
86
66
|
type: :runtime
|
87
67
|
prerelease: false
|
88
|
-
version_requirements:
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 1.6.3
|
68
|
+
version_requirements: *13695720
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
70
|
name: rack-cache
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirement: &13695260 !ruby/object:Gem::Requirement
|
97
72
|
none: false
|
98
73
|
requirements:
|
99
74
|
- - ! '>='
|
@@ -101,31 +76,21 @@ dependencies:
|
|
101
76
|
version: '0'
|
102
77
|
type: :runtime
|
103
78
|
prerelease: false
|
104
|
-
version_requirements:
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
79
|
+
version_requirements: *13695260
|
110
80
|
- !ruby/object:Gem::Dependency
|
111
81
|
name: rdoc
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
82
|
+
requirement: &13694500 !ruby/object:Gem::Requirement
|
113
83
|
none: false
|
114
84
|
requirements:
|
115
|
-
- -
|
85
|
+
- - =
|
116
86
|
- !ruby/object:Gem::Version
|
117
87
|
version: '3.12'
|
118
88
|
type: :development
|
119
89
|
prerelease: false
|
120
|
-
version_requirements:
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - '='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '3.12'
|
90
|
+
version_requirements: *13694500
|
126
91
|
- !ruby/object:Gem::Dependency
|
127
92
|
name: rake
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirement: &13693780 !ruby/object:Gem::Requirement
|
129
94
|
none: false
|
130
95
|
requirements:
|
131
96
|
- - ~>
|
@@ -133,15 +98,10 @@ dependencies:
|
|
133
98
|
version: 0.9.2.2
|
134
99
|
type: :development
|
135
100
|
prerelease: false
|
136
|
-
version_requirements:
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ~>
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: 0.9.2.2
|
101
|
+
version_requirements: *13693780
|
142
102
|
- !ruby/object:Gem::Dependency
|
143
103
|
name: webmock
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
104
|
+
requirement: &13693120 !ruby/object:Gem::Requirement
|
145
105
|
none: false
|
146
106
|
requirements:
|
147
107
|
- - ~>
|
@@ -149,15 +109,10 @@ dependencies:
|
|
149
109
|
version: '1.8'
|
150
110
|
type: :development
|
151
111
|
prerelease: false
|
152
|
-
version_requirements:
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ~>
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: '1.8'
|
112
|
+
version_requirements: *13693120
|
158
113
|
- !ruby/object:Gem::Dependency
|
159
114
|
name: mocha
|
160
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirement: &13692440 !ruby/object:Gem::Requirement
|
161
116
|
none: false
|
162
117
|
requirements:
|
163
118
|
- - ~>
|
@@ -165,15 +120,10 @@ dependencies:
|
|
165
120
|
version: 0.12.4
|
166
121
|
type: :development
|
167
122
|
prerelease: false
|
168
|
-
version_requirements:
|
169
|
-
none: false
|
170
|
-
requirements:
|
171
|
-
- - ~>
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.12.4
|
123
|
+
version_requirements: *13692440
|
174
124
|
- !ruby/object:Gem::Dependency
|
175
125
|
name: minitest
|
176
|
-
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirement: &13691760 !ruby/object:Gem::Requirement
|
177
127
|
none: false
|
178
128
|
requirements:
|
179
129
|
- - ~>
|
@@ -181,15 +131,10 @@ dependencies:
|
|
181
131
|
version: 3.4.0
|
182
132
|
type: :development
|
183
133
|
prerelease: false
|
184
|
-
version_requirements:
|
185
|
-
none: false
|
186
|
-
requirements:
|
187
|
-
- - ~>
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: 3.4.0
|
134
|
+
version_requirements: *13691760
|
190
135
|
- !ruby/object:Gem::Dependency
|
191
136
|
name: rack
|
192
|
-
requirement: !ruby/object:Gem::Requirement
|
137
|
+
requirement: &13691200 !ruby/object:Gem::Requirement
|
193
138
|
none: false
|
194
139
|
requirements:
|
195
140
|
- - ! '>='
|
@@ -197,15 +142,10 @@ dependencies:
|
|
197
142
|
version: '0'
|
198
143
|
type: :development
|
199
144
|
prerelease: false
|
200
|
-
version_requirements:
|
201
|
-
none: false
|
202
|
-
requirements:
|
203
|
-
- - ! '>='
|
204
|
-
- !ruby/object:Gem::Version
|
205
|
-
version: '0'
|
145
|
+
version_requirements: *13691200
|
206
146
|
- !ruby/object:Gem::Dependency
|
207
147
|
name: rack-test
|
208
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirement: &13689940 !ruby/object:Gem::Requirement
|
209
149
|
none: false
|
210
150
|
requirements:
|
211
151
|
- - ! '>='
|
@@ -213,15 +153,10 @@ dependencies:
|
|
213
153
|
version: '0'
|
214
154
|
type: :development
|
215
155
|
prerelease: false
|
216
|
-
version_requirements:
|
217
|
-
none: false
|
218
|
-
requirements:
|
219
|
-
- - ! '>='
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: '0'
|
156
|
+
version_requirements: *13689940
|
222
157
|
- !ruby/object:Gem::Dependency
|
223
158
|
name: simplecov
|
224
|
-
requirement: !ruby/object:Gem::Requirement
|
159
|
+
requirement: &13639380 !ruby/object:Gem::Requirement
|
225
160
|
none: false
|
226
161
|
requirements:
|
227
162
|
- - ~>
|
@@ -229,15 +164,10 @@ dependencies:
|
|
229
164
|
version: 0.5.4
|
230
165
|
type: :development
|
231
166
|
prerelease: false
|
232
|
-
version_requirements:
|
233
|
-
none: false
|
234
|
-
requirements:
|
235
|
-
- - ~>
|
236
|
-
- !ruby/object:Gem::Version
|
237
|
-
version: 0.5.4
|
167
|
+
version_requirements: *13639380
|
238
168
|
- !ruby/object:Gem::Dependency
|
239
169
|
name: simplecov-rcov
|
240
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirement: &13637860 !ruby/object:Gem::Requirement
|
241
171
|
none: false
|
242
172
|
requirements:
|
243
173
|
- - ! '>='
|
@@ -245,15 +175,10 @@ dependencies:
|
|
245
175
|
version: '0'
|
246
176
|
type: :development
|
247
177
|
prerelease: false
|
248
|
-
version_requirements:
|
249
|
-
none: false
|
250
|
-
requirements:
|
251
|
-
- - ! '>='
|
252
|
-
- !ruby/object:Gem::Version
|
253
|
-
version: '0'
|
178
|
+
version_requirements: *13637860
|
254
179
|
- !ruby/object:Gem::Dependency
|
255
180
|
name: gem_publisher
|
256
|
-
requirement: !ruby/object:Gem::Requirement
|
181
|
+
requirement: &13636080 !ruby/object:Gem::Requirement
|
257
182
|
none: false
|
258
183
|
requirements:
|
259
184
|
- - ~>
|
@@ -261,15 +186,10 @@ dependencies:
|
|
261
186
|
version: 1.1.1
|
262
187
|
type: :development
|
263
188
|
prerelease: false
|
264
|
-
version_requirements:
|
265
|
-
none: false
|
266
|
-
requirements:
|
267
|
-
- - ~>
|
268
|
-
- !ruby/object:Gem::Version
|
269
|
-
version: 1.1.1
|
189
|
+
version_requirements: *13636080
|
270
190
|
- !ruby/object:Gem::Dependency
|
271
191
|
name: timecop
|
272
|
-
requirement: !ruby/object:Gem::Requirement
|
192
|
+
requirement: &13634560 !ruby/object:Gem::Requirement
|
273
193
|
none: false
|
274
194
|
requirements:
|
275
195
|
- - ~>
|
@@ -277,12 +197,7 @@ dependencies:
|
|
277
197
|
version: 0.5.1
|
278
198
|
type: :development
|
279
199
|
prerelease: false
|
280
|
-
version_requirements:
|
281
|
-
none: false
|
282
|
-
requirements:
|
283
|
-
- - ~>
|
284
|
-
- !ruby/object:Gem::Version
|
285
|
-
version: 0.5.1
|
200
|
+
version_requirements: *13634560
|
286
201
|
description: A set of adapters providing easy access to the GDS GOV.UK APIs
|
287
202
|
email:
|
288
203
|
- jystewart@gmail.com
|
@@ -300,6 +215,7 @@ files:
|
|
300
215
|
- lib/gds_api/exceptions.rb
|
301
216
|
- lib/gds_api/finder_schema.rb
|
302
217
|
- lib/gds_api/performance_platform/data_in.rb
|
218
|
+
- lib/gds_api/collections_api.rb
|
303
219
|
- lib/gds_api/json_client.rb
|
304
220
|
- lib/gds_api/base.rb
|
305
221
|
- lib/gds_api/licence_application.rb
|
@@ -312,6 +228,7 @@ files:
|
|
312
228
|
- lib/gds_api/test_helpers/finder_api.rb
|
313
229
|
- lib/gds_api/test_helpers/content_api/artefact_stub.rb
|
314
230
|
- lib/gds_api/test_helpers/performance_platform/data_in.rb
|
231
|
+
- lib/gds_api/test_helpers/collections_api.rb
|
315
232
|
- lib/gds_api/test_helpers/licence_application.rb
|
316
233
|
- lib/gds_api/test_helpers/content_item_helpers.rb
|
317
234
|
- lib/gds_api/test_helpers/organisations.rb
|
@@ -381,6 +298,7 @@ files:
|
|
381
298
|
- test/response_test.rb
|
382
299
|
- test/organisations_api_test.rb
|
383
300
|
- test/imminence_api_test.rb
|
301
|
+
- test/collections_api_test.rb
|
384
302
|
- test/content_store_test.rb
|
385
303
|
- test/asset_manager_test.rb
|
386
304
|
- test/fixtures/hello.txt
|
@@ -410,7 +328,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
410
328
|
version: '0'
|
411
329
|
segments:
|
412
330
|
- 0
|
413
|
-
hash:
|
331
|
+
hash: -1137919334881827629
|
414
332
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
415
333
|
none: false
|
416
334
|
requirements:
|
@@ -419,10 +337,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
419
337
|
version: '0'
|
420
338
|
segments:
|
421
339
|
- 0
|
422
|
-
hash:
|
340
|
+
hash: -1137919334881827629
|
423
341
|
requirements: []
|
424
342
|
rubyforge_project:
|
425
|
-
rubygems_version: 1.8.
|
343
|
+
rubygems_version: 1.8.11
|
426
344
|
signing_key:
|
427
345
|
specification_version: 3
|
428
346
|
summary: Adapters to work with GDS APIs
|
@@ -450,6 +368,7 @@ test_files:
|
|
450
368
|
- test/response_test.rb
|
451
369
|
- test/organisations_api_test.rb
|
452
370
|
- test/imminence_api_test.rb
|
371
|
+
- test/collections_api_test.rb
|
453
372
|
- test/content_store_test.rb
|
454
373
|
- test/asset_manager_test.rb
|
455
374
|
- test/fixtures/hello.txt
|