gds-api-adapters 0.2.2 → 0.2.3
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/panopticon/registerer.rb +2 -1
- data/lib/gds_api/version.rb +1 -1
- data/test/panopticon_registerer_test.rb +55 -0
- metadata +28 -26
@@ -12,6 +12,7 @@ module GdsApi
|
|
12
12
|
@kind = options[:kind] || 'custom-application'
|
13
13
|
@panopticon = options[:panopticon]
|
14
14
|
@platform = options[:platform] || Plek.current.environment
|
15
|
+
@timeout = options[:timeout] || 10
|
15
16
|
end
|
16
17
|
|
17
18
|
def record_to_artefact(record)
|
@@ -59,7 +60,7 @@ module GdsApi
|
|
59
60
|
|
60
61
|
def panopticon
|
61
62
|
options = {
|
62
|
-
timeout:
|
63
|
+
timeout: @timeout
|
63
64
|
}
|
64
65
|
@panopticon ||= GdsApi::Panopticon.new(@platform, options.merge(panopticon_api_credentials))
|
65
66
|
end
|
data/lib/gds_api/version.rb
CHANGED
@@ -0,0 +1,55 @@
|
|
1
|
+
require_relative 'test_helper'
|
2
|
+
require 'gds_api/panopticon'
|
3
|
+
|
4
|
+
describe GdsApi::Panopticon::Registerer do
|
5
|
+
|
6
|
+
|
7
|
+
describe "creating an instance of the panopticon client" do
|
8
|
+
describe "setting the platform" do
|
9
|
+
it "should create an instance using the current Plek environment as the platform by default" do
|
10
|
+
Plek.stubs(:current).returns(stub(environment: "Something"))
|
11
|
+
|
12
|
+
GdsApi::Panopticon.expects(:new).with("Something", anything()).returns(:panopticon_instance)
|
13
|
+
r = GdsApi::Panopticon::Registerer.new({})
|
14
|
+
assert_equal :panopticon_instance, r.send(:panopticon)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should allow overriding the platform" do
|
18
|
+
Plek.stubs(:current).returns(stub(environment: "Something"))
|
19
|
+
|
20
|
+
GdsApi::Panopticon.expects(:new).with("Something_else", anything()).returns(:panopticon_instance)
|
21
|
+
r = GdsApi::Panopticon::Registerer.new({platform: "Something_else"})
|
22
|
+
assert_equal :panopticon_instance, r.send(:panopticon)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "setting other options" do
|
27
|
+
it "should create an instance with a default timeout of 10 seconds" do
|
28
|
+
GdsApi::Panopticon.expects(:new).with(anything(), {timeout: 10}).returns(:panopticon_instance)
|
29
|
+
r = GdsApi::Panopticon::Registerer.new({})
|
30
|
+
assert_equal :panopticon_instance, r.send(:panopticon)
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should allow overriding the timeout" do
|
34
|
+
GdsApi::Panopticon.expects(:new).with(anything(), {timeout: 15}).returns(:panopticon_instance)
|
35
|
+
r = GdsApi::Panopticon::Registerer.new({timeout: 15})
|
36
|
+
assert_equal :panopticon_instance, r.send(:panopticon)
|
37
|
+
end
|
38
|
+
|
39
|
+
it "shoule merge in the api credentials" do
|
40
|
+
GdsApi::Panopticon::Registerer.any_instance.stubs(:panopticon_api_credentials).returns({foo: "Bar", baz: "kablooie"})
|
41
|
+
GdsApi::Panopticon.expects(:new).with(anything(), {timeout: 10, foo: "Bar", baz: "kablooie"}).returns(:panopticon_instance)
|
42
|
+
r = GdsApi::Panopticon::Registerer.new({})
|
43
|
+
assert_equal :panopticon_instance, r.send(:panopticon)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should memoize the panopticon instance" do
|
48
|
+
GdsApi::Panopticon.expects(:new).once.returns(:panopticon_instance)
|
49
|
+
r = GdsApi::Panopticon::Registerer.new({})
|
50
|
+
|
51
|
+
assert_equal :panopticon_instance, r.send(:panopticon)
|
52
|
+
assert_equal :panopticon_instance, r.send(:panopticon)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: gds-api-adapters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- James Stewart
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-08-31 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: plek
|
@@ -129,7 +129,7 @@ dependencies:
|
|
129
129
|
requirements:
|
130
130
|
- - ~>
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: 1.
|
132
|
+
version: 1.1.1
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
135
|
version_requirements: *id011
|
@@ -143,35 +143,36 @@ extensions: []
|
|
143
143
|
extra_rdoc_files: []
|
144
144
|
|
145
145
|
files:
|
146
|
-
- lib/gds_api/version.rb
|
147
|
-
- lib/gds_api/publisher.rb
|
148
|
-
- lib/gds_api/panopticon/registerer.rb
|
149
|
-
- lib/gds_api/typhoeus_client.rb
|
150
|
-
- lib/gds_api/imminence.rb
|
151
|
-
- lib/gds_api/contactotron.rb
|
152
|
-
- lib/gds_api/test_helpers/publisher.rb
|
153
|
-
- lib/gds_api/test_helpers/imminence.rb
|
154
146
|
- lib/gds_api/test_helpers/contactotron.rb
|
155
|
-
- lib/gds_api/test_helpers/panopticon.rb
|
156
147
|
- lib/gds_api/test_helpers/json_client_helper.rb
|
157
|
-
- lib/gds_api/
|
158
|
-
- lib/gds_api/
|
159
|
-
- lib/gds_api/
|
160
|
-
- lib/gds_api/panopticon.rb
|
161
|
-
- lib/gds_api/core-ext/openstruct.rb
|
162
|
-
- lib/gds_api/oauth2_client.rb
|
148
|
+
- lib/gds_api/test_helpers/publisher.rb
|
149
|
+
- lib/gds_api/test_helpers/panopticon.rb
|
150
|
+
- lib/gds_api/test_helpers/imminence.rb
|
163
151
|
- lib/gds_api/part_methods.rb
|
164
152
|
- lib/gds_api/needotron.rb
|
153
|
+
- lib/gds_api/typhoeus_client.rb
|
154
|
+
- lib/gds_api/json_client.rb
|
155
|
+
- lib/gds_api/contactotron.rb
|
156
|
+
- lib/gds_api/oauth2_client.rb
|
157
|
+
- lib/gds_api/response.rb
|
158
|
+
- lib/gds_api/panopticon/registerer.rb
|
159
|
+
- lib/gds_api/publisher.rb
|
165
160
|
- lib/gds_api/exceptions.rb
|
161
|
+
- lib/gds_api/version.rb
|
166
162
|
- lib/gds_api/helpers.rb
|
163
|
+
- lib/gds_api/base.rb
|
164
|
+
- lib/gds_api/panopticon.rb
|
165
|
+
- lib/gds_api/core-ext/openstruct.rb
|
166
|
+
- lib/gds_api/imminence.rb
|
167
167
|
- README.md
|
168
168
|
- Rakefile
|
169
169
|
- test/contactotron_api_test.rb
|
170
|
-
- test/panopticon_api_test.rb
|
171
|
-
- test/publisher_api_test.rb
|
172
170
|
- test/json_client_test.rb
|
173
|
-
- test/
|
171
|
+
- test/publisher_api_test.rb
|
172
|
+
- test/panopticon_registerer_test.rb
|
173
|
+
- test/panopticon_api_test.rb
|
174
174
|
- test/test_helper.rb
|
175
|
+
- test/gds_api_base_test.rb
|
175
176
|
homepage: http://github.com/alphagov/gds-api-adapters
|
176
177
|
licenses: []
|
177
178
|
|
@@ -185,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
185
186
|
requirements:
|
186
187
|
- - ">="
|
187
188
|
- !ruby/object:Gem::Version
|
188
|
-
hash:
|
189
|
+
hash: 694492284820059124
|
189
190
|
segments:
|
190
191
|
- 0
|
191
192
|
version: "0"
|
@@ -194,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
195
|
requirements:
|
195
196
|
- - ">="
|
196
197
|
- !ruby/object:Gem::Version
|
197
|
-
hash:
|
198
|
+
hash: 694492284820059124
|
198
199
|
segments:
|
199
200
|
- 0
|
200
201
|
version: "0"
|
@@ -207,8 +208,9 @@ specification_version: 3
|
|
207
208
|
summary: Adapters to work with GDS APIs
|
208
209
|
test_files:
|
209
210
|
- test/contactotron_api_test.rb
|
210
|
-
- test/panopticon_api_test.rb
|
211
|
-
- test/publisher_api_test.rb
|
212
211
|
- test/json_client_test.rb
|
213
|
-
- test/
|
212
|
+
- test/publisher_api_test.rb
|
213
|
+
- test/panopticon_registerer_test.rb
|
214
|
+
- test/panopticon_api_test.rb
|
214
215
|
- test/test_helper.rb
|
216
|
+
- test/gds_api_base_test.rb
|