gds-api-adapters 0.0.31 → 0.0.32
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.
@@ -8,6 +8,7 @@ module GdsApi
|
|
8
8
|
@owning_app = options[:owning_app]
|
9
9
|
@kind = options[:kind] || 'custom-application'
|
10
10
|
@panopticon = options[:panopticon]
|
11
|
+
@platform = options[:platform] || ENV['FACTER_govuk_platform'] || 'development'
|
11
12
|
end
|
12
13
|
|
13
14
|
def record_to_artefact(record)
|
@@ -29,7 +30,7 @@ module GdsApi
|
|
29
30
|
panopticon.create_artefact(artefact)
|
30
31
|
elsif existing.owning_app == artefact[:owning_app]
|
31
32
|
logger.info "Updating #{artefact[:slug]}"
|
32
|
-
panopticon.update_artefact(artefact)
|
33
|
+
panopticon.update_artefact(artefact[:slug], artefact)
|
33
34
|
else
|
34
35
|
raise "Slug #{artefact[:slug]} already registered to application '#{existing.owning_app}'"
|
35
36
|
end
|
@@ -39,8 +40,7 @@ module GdsApi
|
|
39
40
|
options = {
|
40
41
|
timeout: 5
|
41
42
|
}
|
42
|
-
|
43
|
-
@panopticon ||= GdsApi::Panopticon.new(platform, options.merge(panopticon_api_credentials))
|
43
|
+
@panopticon ||= GdsApi::Panopticon.new(@platform, options.merge(panopticon_api_credentials))
|
44
44
|
end
|
45
45
|
|
46
46
|
def panopticon_api_credentials
|
@@ -23,6 +23,12 @@ module GdsApi
|
|
23
23
|
|
24
24
|
return urls.first
|
25
25
|
end
|
26
|
+
|
27
|
+
def panopticon_has_no_metadata_for(slug)
|
28
|
+
url = "#{PANOPTICON_ENDPOINT}/artefacts/#{slug}.json"
|
29
|
+
stub_request(:get, url).to_return(:status => 404, :body => "", :headers => {})
|
30
|
+
end
|
31
|
+
|
26
32
|
end
|
27
33
|
end
|
28
34
|
end
|
data/lib/gds_api/version.rb
CHANGED
data/test/panopticon_api_test.rb
CHANGED
@@ -94,14 +94,32 @@ class PanopticonApiTest < MiniTest::Unit::TestCase
|
|
94
94
|
api.update_artefact(1, basic_artefact)
|
95
95
|
end
|
96
96
|
|
97
|
-
def
|
98
|
-
|
99
|
-
r = GdsApi::Panopticon::Registerer.new(owning_app: 'my-app'
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
97
|
+
def test_can_register_new_artefacts_en_masse
|
98
|
+
artefact = {slug: 'foo', owning_app: 'my-app', kind: 'custom-application', name: 'MyFoo'}
|
99
|
+
r = GdsApi::Panopticon::Registerer.new(platform: "test", owning_app: 'my-app')
|
100
|
+
panopticon_has_no_metadata_for('foo')
|
101
|
+
|
102
|
+
url = "#{PANOPTICON_ENDPOINT}/artefacts.json"
|
103
|
+
stub_request(:post, url)
|
104
|
+
.with(body: artefact.to_json)
|
105
|
+
.to_return(body: artefact.merge(id: 1).to_json)
|
106
|
+
|
107
|
+
record = OpenStruct.new(artefact.merge(title: artefact[:name]))
|
108
|
+
r.register(record)
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_can_register_existing_artefacts_en_masse
|
112
|
+
artefact = {slug: 'foo', owning_app: 'my-app', kind: 'custom-application', name: 'MyFoo'}
|
113
|
+
r = GdsApi::Panopticon::Registerer.new(platform: "test", owning_app: 'my-app')
|
114
|
+
|
115
|
+
panopticon_has_metadata(artefact)
|
116
|
+
url = "#{PANOPTICON_ENDPOINT}/artefacts/foo.json"
|
117
|
+
stub_request(:put, url)
|
118
|
+
.with(body: artefact.to_json)
|
119
|
+
.to_return(status: 200, body: '{}')
|
120
|
+
|
121
|
+
record = OpenStruct.new(artefact.merge(title: artefact[:name]))
|
105
122
|
r.register(record)
|
106
123
|
end
|
124
|
+
|
107
125
|
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.0.
|
5
|
+
version: 0.0.32
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- James Stewart
|
@@ -14,7 +14,6 @@ date: 2012-01-11 00:00:00 Z
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: plek
|
17
|
-
prerelease: false
|
18
17
|
requirement: &id001 !ruby/object:Gem::Requirement
|
19
18
|
none: false
|
20
19
|
requirements:
|
@@ -22,10 +21,10 @@ dependencies:
|
|
22
21
|
- !ruby/object:Gem::Version
|
23
22
|
version: "0"
|
24
23
|
type: :runtime
|
24
|
+
prerelease: false
|
25
25
|
version_requirements: *id001
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: null_logger
|
28
|
-
prerelease: false
|
29
28
|
requirement: &id002 !ruby/object:Gem::Requirement
|
30
29
|
none: false
|
31
30
|
requirements:
|
@@ -33,10 +32,10 @@ dependencies:
|
|
33
32
|
- !ruby/object:Gem::Version
|
34
33
|
version: "0"
|
35
34
|
type: :runtime
|
35
|
+
prerelease: false
|
36
36
|
version_requirements: *id002
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rake
|
39
|
-
prerelease: false
|
40
39
|
requirement: &id003 !ruby/object:Gem::Requirement
|
41
40
|
none: false
|
42
41
|
requirements:
|
@@ -44,10 +43,10 @@ dependencies:
|
|
44
43
|
- !ruby/object:Gem::Version
|
45
44
|
version: 0.9.2.2
|
46
45
|
type: :development
|
46
|
+
prerelease: false
|
47
47
|
version_requirements: *id003
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: webmock
|
50
|
-
prerelease: false
|
51
50
|
requirement: &id004 !ruby/object:Gem::Requirement
|
52
51
|
none: false
|
53
52
|
requirements:
|
@@ -55,10 +54,10 @@ dependencies:
|
|
55
54
|
- !ruby/object:Gem::Version
|
56
55
|
version: "1.7"
|
57
56
|
type: :development
|
57
|
+
prerelease: false
|
58
58
|
version_requirements: *id004
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: mocha
|
61
|
-
prerelease: false
|
62
61
|
requirement: &id005 !ruby/object:Gem::Requirement
|
63
62
|
none: false
|
64
63
|
requirements:
|
@@ -66,10 +65,10 @@ dependencies:
|
|
66
65
|
- !ruby/object:Gem::Version
|
67
66
|
version: 0.10.0
|
68
67
|
type: :development
|
68
|
+
prerelease: false
|
69
69
|
version_requirements: *id005
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: minitest
|
72
|
-
prerelease: false
|
73
72
|
requirement: &id006 !ruby/object:Gem::Requirement
|
74
73
|
none: false
|
75
74
|
requirements:
|
@@ -77,10 +76,10 @@ dependencies:
|
|
77
76
|
- !ruby/object:Gem::Version
|
78
77
|
version: 2.10.0
|
79
78
|
type: :development
|
79
|
+
prerelease: false
|
80
80
|
version_requirements: *id006
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: rack
|
83
|
-
prerelease: false
|
84
83
|
requirement: &id007 !ruby/object:Gem::Requirement
|
85
84
|
none: false
|
86
85
|
requirements:
|
@@ -88,10 +87,10 @@ dependencies:
|
|
88
87
|
- !ruby/object:Gem::Version
|
89
88
|
version: "0"
|
90
89
|
type: :development
|
90
|
+
prerelease: false
|
91
91
|
version_requirements: *id007
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: simplecov
|
94
|
-
prerelease: false
|
95
94
|
requirement: &id008 !ruby/object:Gem::Requirement
|
96
95
|
none: false
|
97
96
|
requirements:
|
@@ -99,10 +98,10 @@ dependencies:
|
|
99
98
|
- !ruby/object:Gem::Version
|
100
99
|
version: 0.5.4
|
101
100
|
type: :development
|
101
|
+
prerelease: false
|
102
102
|
version_requirements: *id008
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: simplecov-rcov
|
105
|
-
prerelease: false
|
106
105
|
requirement: &id009 !ruby/object:Gem::Requirement
|
107
106
|
none: false
|
108
107
|
requirements:
|
@@ -110,6 +109,7 @@ dependencies:
|
|
110
109
|
- !ruby/object:Gem::Version
|
111
110
|
version: "0"
|
112
111
|
type: :development
|
112
|
+
prerelease: false
|
113
113
|
version_requirements: *id009
|
114
114
|
description: A set of adapters providing easy access to the GDS gov.uk APIs
|
115
115
|
email:
|
@@ -161,17 +161,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
161
|
requirements:
|
162
162
|
- - ">="
|
163
163
|
- !ruby/object:Gem::Version
|
164
|
+
hash: 4128390024308242266
|
165
|
+
segments:
|
166
|
+
- 0
|
164
167
|
version: "0"
|
165
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
169
|
none: false
|
167
170
|
requirements:
|
168
171
|
- - ">="
|
169
172
|
- !ruby/object:Gem::Version
|
173
|
+
hash: 4128390024308242266
|
174
|
+
segments:
|
175
|
+
- 0
|
170
176
|
version: "0"
|
171
177
|
requirements: []
|
172
178
|
|
173
179
|
rubyforge_project:
|
174
|
-
rubygems_version: 1.8.
|
180
|
+
rubygems_version: 1.8.13
|
175
181
|
signing_key:
|
176
182
|
specification_version: 3
|
177
183
|
summary: Adapters to work with GDS APIs
|