gds-api-adapters 16.4.0 → 16.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -87,7 +87,7 @@ module GdsApi
87
87
  do_json_request(:get, url, nil, additional_headers, &create_response)
88
88
  end
89
89
 
90
- def post_json!(url, params, additional_headers = {})
90
+ def post_json!(url, params = {}, additional_headers = {})
91
91
  do_json_request(:post, url, params, additional_headers)
92
92
  end
93
93
 
@@ -2,6 +2,9 @@ require_relative 'base'
2
2
  require_relative 'part_methods'
3
3
 
4
4
  class GdsApi::Publisher < GdsApi::Base
5
+ def reindex_topic_editions(slug)
6
+ post_json!("#{endpoint}/api/reindex-topic-editions/#{slug}")
7
+ end
5
8
 
6
9
  def publication_for_slug(slug, options = {})
7
10
  return nil if slug.nil? or slug == ''
@@ -7,6 +7,17 @@ module GdsApi
7
7
  # you could redefine/override the constant or stub directly.
8
8
  PUBLISHER_ENDPOINT = Plek.current.find("publisher")
9
9
 
10
+ def stub_all_publisher_api_requests
11
+ stub_request(:any, %r|^#{PUBLISHER_ENDPOINT}/api|)
12
+ end
13
+
14
+ def assert_publisher_received_reindex_request_for(slug)
15
+ assert_requested(
16
+ :post,
17
+ "#{PUBLISHER_ENDPOINT}/api/reindex-topic-editions/#{slug}"
18
+ )
19
+ end
20
+
10
21
  def publication_exists(details, options = {})
11
22
  json = JSON.dump(details)
12
23
  uri = "#{PUBLISHER_ENDPOINT}/publications/#{details['slug']}.json"
@@ -0,0 +1,18 @@
1
+ module GdsApi
2
+ module TestHelpers
3
+ module WhitehallAdminApi
4
+ WHITEHALL_ADMIN_API_ENDPOINT = "#{Plek.current.find("whitehall-admin")}/government/admin/api"
5
+
6
+ def stub_all_whitehall_admin_api_requests
7
+ stub_request(:any, %r|^#{WHITEHALL_ADMIN_API_ENDPOINT}|)
8
+ end
9
+
10
+ def assert_whitehall_received_reindex_request_for(slug)
11
+ assert_requested(
12
+ :post,
13
+ "#{WHITEHALL_ADMIN_API_ENDPOINT}/reindex-specialist-sector-editions/#{slug}"
14
+ )
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = '16.4.0'
2
+ VERSION = '16.5.0'
3
3
  end
@@ -0,0 +1,13 @@
1
+ require_relative 'base'
2
+
3
+ class GdsApi::WhitehallAdminApi < GdsApi::Base
4
+ def reindex_specialist_sector_editions(slug)
5
+ post_json!("#{endpoint}/reindex-specialist-sector-editions/#{slug}")
6
+ end
7
+
8
+ private
9
+
10
+ def endpoint
11
+ "#{super}/government/admin/api"
12
+ end
13
+ end
@@ -52,7 +52,7 @@ describe GdsApi::Publisher do
52
52
  end
53
53
 
54
54
  def api
55
- GdsApi::Publisher.new(PUBLISHER_ENDPOINT)
55
+ @api ||= GdsApi::Publisher.new(PUBLISHER_ENDPOINT)
56
56
  end
57
57
 
58
58
  it "should go get resource from publisher app given a slug" do
@@ -106,4 +106,13 @@ describe GdsApi::Publisher do
106
106
  to_return(:status => 200, :body => '{"snac": "12345"}', :headers => {})
107
107
  assert_equal '12345', api.council_for_slug('fake-transaction', [12345])
108
108
  end
109
+
110
+ describe "#reindex_topic_editions(slug)" do
111
+ it "posts to the reindex URL" do
112
+ api.expects(:post_json!)
113
+ .with("#{PUBLISHER_ENDPOINT}/api/reindex-topic-editions/oil-and-gas/licensing")
114
+
115
+ api.reindex_topic_editions("oil-and-gas/licensing")
116
+ end
117
+ end
109
118
  end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+ require 'gds_api/whitehall_admin_api'
3
+
4
+ describe GdsApi::WhitehallAdminApi do
5
+
6
+ before do
7
+ @api = GdsApi::WhitehallAdminApi.new("http://whitehall-admin.example.com")
8
+ end
9
+
10
+ describe "#reindex_specialist_sector_editions(slug)" do
11
+ it "posts to the reindex URL" do
12
+ @api.expects(:post_json!)
13
+ .with("http://whitehall-admin.example.com/government/admin/api/reindex-specialist-sector-editions/oil-and-gas/licensing")
14
+
15
+ @api.reindex_specialist_sector_editions("oil-and-gas/licensing")
16
+ end
17
+ end
18
+ 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: 16.4.0
4
+ version: 16.5.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-11-25 00:00:00.000000000 Z
12
+ date: 2014-11-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: plek
16
- requirement: &7405720 !ruby/object:Gem::Requirement
16
+ requirement: &9915220 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *7405720
24
+ version_requirements: *9915220
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: null_logger
27
- requirement: &7403860 !ruby/object:Gem::Requirement
27
+ requirement: &9913660 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *7403860
35
+ version_requirements: *9913660
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: link_header
38
- requirement: &7402440 !ruby/object:Gem::Requirement
38
+ requirement: &9912640 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *7402440
46
+ version_requirements: *9912640
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: lrucache
49
- requirement: &7401240 !ruby/object:Gem::Requirement
49
+ requirement: &9911100 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.1.1
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *7401240
57
+ version_requirements: *9911100
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rest-client
60
- requirement: &7399620 !ruby/object:Gem::Requirement
60
+ requirement: &9910040 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.6.3
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *7399620
68
+ version_requirements: *9910040
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rack-cache
71
- requirement: &7399000 !ruby/object:Gem::Requirement
71
+ requirement: &9940000 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *7399000
79
+ version_requirements: *9940000
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rdoc
82
- requirement: &7428660 !ruby/object:Gem::Requirement
82
+ requirement: &9938620 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - =
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '3.12'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *7428660
90
+ version_requirements: *9938620
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rake
93
- requirement: &7426800 !ruby/object:Gem::Requirement
93
+ requirement: &9935700 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.9.2.2
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *7426800
101
+ version_requirements: *9935700
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: webmock
104
- requirement: &7423640 !ruby/object:Gem::Requirement
104
+ requirement: &9949840 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '1.19'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *7423640
112
+ version_requirements: *9949840
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: mocha
115
- requirement: &7435000 !ruby/object:Gem::Requirement
115
+ requirement: &9943920 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ~>
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 0.12.4
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *7435000
123
+ version_requirements: *9943920
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: minitest
126
- requirement: &7464760 !ruby/object:Gem::Requirement
126
+ requirement: &9972480 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ~>
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 3.4.0
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *7464760
134
+ version_requirements: *9972480
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: rack
137
- requirement: &7459600 !ruby/object:Gem::Requirement
137
+ requirement: &9969220 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: '0'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *7459600
145
+ version_requirements: *9969220
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: rack-test
148
- requirement: &7485840 !ruby/object:Gem::Requirement
148
+ requirement: &9995780 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: '0'
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *7485840
156
+ version_requirements: *9995780
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: simplecov
159
- requirement: &7484180 !ruby/object:Gem::Requirement
159
+ requirement: &9993100 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ~>
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: 0.5.4
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *7484180
167
+ version_requirements: *9993100
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: simplecov-rcov
170
- requirement: &7482000 !ruby/object:Gem::Requirement
170
+ requirement: &9989880 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ! '>='
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: '0'
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *7482000
178
+ version_requirements: *9989880
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: gem_publisher
181
- requirement: &7478280 !ruby/object:Gem::Requirement
181
+ requirement: &10009680 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ~>
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: 1.1.1
187
187
  type: :development
188
188
  prerelease: false
189
- version_requirements: *7478280
189
+ version_requirements: *10009680
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: timecop
192
- requirement: &7499440 !ruby/object:Gem::Requirement
192
+ requirement: &10008820 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ~>
@@ -197,10 +197,10 @@ dependencies:
197
197
  version: 0.5.1
198
198
  type: :development
199
199
  prerelease: false
200
- version_requirements: *7499440
200
+ version_requirements: *10008820
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: pry
203
- requirement: &7497920 !ruby/object:Gem::Requirement
203
+ requirement: &10007140 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ! '>='
@@ -208,7 +208,7 @@ dependencies:
208
208
  version: '0'
209
209
  type: :development
210
210
  prerelease: false
211
- version_requirements: *7497920
211
+ version_requirements: *10007140
212
212
  description: A set of adapters providing easy access to the GDS GOV.UK APIs
213
213
  email:
214
214
  - jystewart@gmail.com
@@ -219,6 +219,7 @@ files:
219
219
  - lib/gds-api-adapters.rb
220
220
  - lib/gds_api/support.rb
221
221
  - lib/gds_api/rummager.rb
222
+ - lib/gds_api/whitehall_admin_api.rb
222
223
  - lib/gds_api/part_methods.rb
223
224
  - lib/gds_api/need_api.rb
224
225
  - lib/gds_api/finder_api.rb
@@ -235,6 +236,7 @@ files:
235
236
  - lib/gds_api/panopticon/registerer.rb
236
237
  - lib/gds_api/test_helpers/support.rb
237
238
  - lib/gds_api/test_helpers/rummager.rb
239
+ - lib/gds_api/test_helpers/whitehall_admin_api.rb
238
240
  - lib/gds_api/test_helpers/need_api.rb
239
241
  - lib/gds_api/test_helpers/finder_api.rb
240
242
  - lib/gds_api/test_helpers/content_api/artefact_stub.rb
@@ -291,6 +293,7 @@ files:
291
293
  - test/support_api_test.rb
292
294
  - test/mapit_test.rb
293
295
  - test/publishing_api_test.rb
296
+ - test/whitehall_admin_api_test.rb
294
297
  - test/pp_data_in_test.rb
295
298
  - test/finder_schema_test.rb
296
299
  - test/need_api_test.rb
@@ -343,7 +346,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
343
346
  version: '0'
344
347
  segments:
345
348
  - 0
346
- hash: 4216462214555942534
349
+ hash: 1363356250440266527
347
350
  required_rubygems_version: !ruby/object:Gem::Requirement
348
351
  none: false
349
352
  requirements:
@@ -352,7 +355,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
352
355
  version: '0'
353
356
  segments:
354
357
  - 0
355
- hash: 4216462214555942534
358
+ hash: 1363356250440266527
356
359
  requirements: []
357
360
  rubyforge_project:
358
361
  rubygems_version: 1.8.11
@@ -363,6 +366,7 @@ test_files:
363
366
  - test/support_api_test.rb
364
367
  - test/mapit_test.rb
365
368
  - test/publishing_api_test.rb
369
+ - test/whitehall_admin_api_test.rb
366
370
  - test/pp_data_in_test.rb
367
371
  - test/finder_schema_test.rb
368
372
  - test/need_api_test.rb