gds-api-adapters 24.5.0 → 24.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/gds_api/imminence.rb +0 -7
- data/lib/gds_api/router.rb +1 -1
- data/lib/gds_api/test_helpers/imminence.rb +0 -27
- data/lib/gds_api/test_helpers/router.rb +3 -2
- data/lib/gds_api/version.rb +1 -1
- data/test/gds_api_base_test.rb +1 -1
- data/test/imminence_api_test.rb +1 -20
- data/test/licence_application_api_test.rb +1 -1
- data/test/router_test.rb +21 -3
- data/test/rummager_helpers_test.rb +1 -1
- data/test/test_helper.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 212e116b422961283b637ba076848769be4c2eaa
|
4
|
+
data.tar.gz: c79059c7b2f7040590283f54ff51950db3b401cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 982d5e547eec900056a748469da51fe2be0f62c831eb90074f56dfb748d8aa8a624e7af3b30b0c7996c61d52cfbb1c9db68ce9e350c8e3bbc1f8696f988c3897
|
7
|
+
data.tar.gz: 88442f8971daf8150de2328246199d0f1ee89e020a97f4443cb180a0da95d2f94af65783468420f7f005c5921d10faaaa51a2945780fc254d4adaa9cbefd5fd9
|
data/lib/gds_api/imminence.rb
CHANGED
@@ -31,12 +31,6 @@ class GdsApi::Imminence < GdsApi::Base
|
|
31
31
|
get_raw("#{@endpoint}/places/#{type}.kml").body
|
32
32
|
end
|
33
33
|
|
34
|
-
def business_support_schemes(facets_hash)
|
35
|
-
query = facets_hash.keys.sort.map { |k| "#{k.to_s}=#{facets_hash[k]}" }.join("&")
|
36
|
-
query = "?#{query}" unless query.empty?
|
37
|
-
get_json!("#{@endpoint}/business_support_schemes.json#{query}")
|
38
|
-
end
|
39
|
-
|
40
34
|
def areas_for_postcode(postcode)
|
41
35
|
url = "#{@endpoint}/areas/#{URI.encode(postcode)}.json"
|
42
36
|
get_json(url)
|
@@ -70,5 +64,4 @@ private
|
|
70
64
|
{"address" => address_fields.map(&:strip).join(", ")}
|
71
65
|
end
|
72
66
|
|
73
|
-
|
74
67
|
end
|
data/lib/gds_api/router.rb
CHANGED
@@ -33,7 +33,7 @@ class GdsApi::Router < GdsApi::Base
|
|
33
33
|
|
34
34
|
def add_redirect_route(path, type, destination, redirect_type = "permanent", options = {})
|
35
35
|
response = put_json!("#{endpoint}/routes", :route => {:incoming_path => path, :route_type => type, :handler => "redirect",
|
36
|
-
:redirect_to => destination, :redirect_type => redirect_type})
|
36
|
+
:redirect_to => destination, :redirect_type => redirect_type, :segments_mode => options[:segments_mode]})
|
37
37
|
commit_routes if options[:commit]
|
38
38
|
response
|
39
39
|
end
|
@@ -15,33 +15,6 @@ module GdsApi
|
|
15
15
|
to_return(:status => 200, :body => response, :headers => {})
|
16
16
|
end
|
17
17
|
|
18
|
-
def imminence_has_business_support_schemes(facets_hash, schemes)
|
19
|
-
results = {
|
20
|
-
"_response_info" => {"status" => "ok"},
|
21
|
-
"description" => "Business Support Schemes!",
|
22
|
-
"total" => schemes.size, "startIndex" => 1, "pageSize" => schemes.size, "currentPage" => 1, "pages" => 1,
|
23
|
-
"results" => schemes
|
24
|
-
}
|
25
|
-
|
26
|
-
stub_request(:get, "#{IMMINENCE_API_ENDPOINT}/business_support_schemes.json").
|
27
|
-
with(query: facets_hash).
|
28
|
-
to_return(status: 200, body: results.to_json, headers: {})
|
29
|
-
end
|
30
|
-
|
31
|
-
# Stubs out all bussiness_support_schemes requests to return an ampty set of results.
|
32
|
-
# Requests stubbed with the above method will take precedence over this.
|
33
|
-
def stub_imminence_default_business_support_schemes
|
34
|
-
empty_results = {
|
35
|
-
"_response_info" => {"status" => "ok"},
|
36
|
-
"description" => "Business Support Schemes!",
|
37
|
-
"total" => 0, "startIndex" => 1, "pageSize" => 0, "currentPage" => 1, "pages" => 1,
|
38
|
-
"results" => []
|
39
|
-
}
|
40
|
-
|
41
|
-
stub_request(:get, %r{\A#{IMMINENCE_API_ENDPOINT}/business_support_schemes\.json}).
|
42
|
-
to_return(:body => empty_results.to_json)
|
43
|
-
end
|
44
|
-
|
45
18
|
def imminence_has_areas_for_postcode(postcode, areas)
|
46
19
|
results = {
|
47
20
|
"_response_info" => {"status" => "ok"},
|
@@ -31,13 +31,14 @@ module GdsApi
|
|
31
31
|
[register_stub, commit_stub]
|
32
32
|
end
|
33
33
|
|
34
|
-
def stub_redirect_registration(path, type, destination, redirect_type)
|
34
|
+
def stub_redirect_registration(path, type, destination, redirect_type, segments_mode = nil)
|
35
35
|
redirect = { route: {
|
36
36
|
incoming_path: path,
|
37
37
|
route_type: type,
|
38
38
|
handler: 'redirect',
|
39
39
|
redirect_to: destination,
|
40
|
-
redirect_type: redirect_type
|
40
|
+
redirect_type: redirect_type,
|
41
|
+
segments_mode: segments_mode }
|
41
42
|
}
|
42
43
|
|
43
44
|
register_stub = stub_route_put(redirect)
|
data/lib/gds_api/version.rb
CHANGED
data/test/gds_api_base_test.rb
CHANGED
data/test/imminence_api_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require "test_helper"
|
2
2
|
require "gds_api/imminence"
|
3
3
|
|
4
|
-
class ImminenceApiTest <
|
4
|
+
class ImminenceApiTest < Minitest::Test
|
5
5
|
|
6
6
|
ROOT = "https://imminence.test.alphagov.co.uk"
|
7
7
|
LATITUDE = 52.1327584352089
|
@@ -118,25 +118,6 @@ class ImminenceApiTest < MiniTest::Unit::TestCase
|
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
def test_business_support_schemes
|
122
|
-
dummy_schemes = [
|
123
|
-
{ "business_support_identifier" => "bar-business-award", "title" => "Bar business award." },
|
124
|
-
{ "business_support_identifier" => "bar-small-business-loan", "title" => "Bar small business loan." },
|
125
|
-
{ "business_support_identifier" => "foo-small-business-loan", "title" => "Foo small business loan." }
|
126
|
-
]
|
127
|
-
c = api_client
|
128
|
-
url = "#{ROOT}/business_support_schemes.json?business_types=private-company&" +
|
129
|
-
"sectors=agriculture,healthcare,manufacturing&stages=grow-and-sustain&types=award,loan"
|
130
|
-
c.expects(:get_json!).with(url).returns(dummy_schemes)
|
131
|
-
|
132
|
-
schemes = c.business_support_schemes(sectors: "agriculture,healthcare,manufacturing",
|
133
|
-
business_types: "private-company", stages: "grow-and-sustain", types: "award,loan")
|
134
|
-
|
135
|
-
assert_equal 3, schemes.size
|
136
|
-
assert_equal "bar-business-award", schemes.first["business_support_identifier"]
|
137
|
-
assert_equal "Foo small business loan.", schemes.last["title"]
|
138
|
-
end
|
139
|
-
|
140
121
|
def test_places_kml
|
141
122
|
kml_body = <<-EOS
|
142
123
|
<?xml version="1.0" encoding="UTF-8"?>
|
@@ -2,7 +2,7 @@ require "test_helper"
|
|
2
2
|
require "gds_api/licence_application"
|
3
3
|
require "gds_api/test_helpers/licence_application"
|
4
4
|
|
5
|
-
class LicenceApplicationApiTest <
|
5
|
+
class LicenceApplicationApiTest < Minitest::Test
|
6
6
|
include GdsApi::TestHelpers::LicenceApplication
|
7
7
|
|
8
8
|
def setup
|
data/test/router_test.rb
CHANGED
@@ -238,7 +238,8 @@ describe GdsApi::Router do
|
|
238
238
|
|
239
239
|
describe "creating/updating a redirect route" do
|
240
240
|
it "should allow creating/updating a redirect route" do
|
241
|
-
route_data = {"incoming_path" => "/foo", "route_type" => "exact", "handler" => "redirect",
|
241
|
+
route_data = {"incoming_path" => "/foo", "route_type" => "exact", "handler" => "redirect",
|
242
|
+
"redirect_to" => "/bar", "redirect_type" => "permanent", "segments_mode" => nil}
|
242
243
|
req = WebMock.stub_request(:put, "#{@base_api_url}/routes").
|
243
244
|
with(:body => {"route" => route_data}.to_json).
|
244
245
|
to_return(:status => 201, :body => route_data.to_json, :headers => {"Content-type" => "application/json"})
|
@@ -252,7 +253,8 @@ describe GdsApi::Router do
|
|
252
253
|
end
|
253
254
|
|
254
255
|
it "should allow creating/updating a temporary redirect route" do
|
255
|
-
route_data = {"incoming_path" => "/foo", "route_type" => "exact", "handler" => "redirect",
|
256
|
+
route_data = {"incoming_path" => "/foo", "route_type" => "exact", "handler" => "redirect",
|
257
|
+
"redirect_to" => "/bar", "redirect_type" => "temporary", "segments_mode" => nil}
|
256
258
|
req = WebMock.stub_request(:put, "#{@base_api_url}/routes").
|
257
259
|
with(:body => {"route" => route_data}.to_json).
|
258
260
|
to_return(:status => 201, :body => route_data.to_json, :headers => {"Content-type" => "application/json"})
|
@@ -265,6 +267,21 @@ describe GdsApi::Router do
|
|
265
267
|
assert_not_requested(@commit_req)
|
266
268
|
end
|
267
269
|
|
270
|
+
it "should allow creating/updating a redirect route which preserves segments" do
|
271
|
+
route_data = {"incoming_path" => "/foo", "route_type" => "exact", "handler" => "redirect",
|
272
|
+
"redirect_to" => "/bar", "redirect_type" => "temporary", "segments_mode" => "preserve"}
|
273
|
+
req = WebMock.stub_request(:put, "#{@base_api_url}/routes").
|
274
|
+
with(:body => {"route" => route_data}.to_json).
|
275
|
+
to_return(:status => 201, :body => route_data.to_json, :headers => {"Content-type" => "application/json"})
|
276
|
+
|
277
|
+
response = @api.add_redirect_route("/foo", "exact", "/bar", "temporary", :segments_mode => "preserve")
|
278
|
+
assert_equal 201, response.code
|
279
|
+
assert_equal "/bar", response.redirect_to
|
280
|
+
|
281
|
+
assert_requested(req)
|
282
|
+
assert_not_requested(@commit_req)
|
283
|
+
end
|
284
|
+
|
268
285
|
it "should commit the routes when asked to" do
|
269
286
|
req = WebMock.stub_request(:put, "#{@base_api_url}/routes").
|
270
287
|
to_return(:status => 201, :body =>{}.to_json, :headers => {"Content-type" => "application/json"})
|
@@ -276,7 +293,8 @@ describe GdsApi::Router do
|
|
276
293
|
end
|
277
294
|
|
278
295
|
it "should raise an error if creating/updating the redirect route fails" do
|
279
|
-
route_data = {"incoming_path" => "/foo", "route_type" => "exact", "handler" => "redirect",
|
296
|
+
route_data = {"incoming_path" => "/foo", "route_type" => "exact", "handler" => "redirect",
|
297
|
+
"redirect_to" => "bar", "redirect_type" => "permanent", "segments_mode" => nil}
|
280
298
|
response_data = route_data.merge("errors" => {"redirect_to" => "is not a valid URL path"})
|
281
299
|
|
282
300
|
req = WebMock.stub_request(:put, "#{@base_api_url}/routes").
|
@@ -2,7 +2,7 @@ require 'test_helper'
|
|
2
2
|
require 'gds_api/rummager'
|
3
3
|
require 'gds_api/test_helpers/rummager'
|
4
4
|
|
5
|
-
class RummagerHelpersTest <
|
5
|
+
class RummagerHelpersTest < Minitest::Test
|
6
6
|
include GdsApi::TestHelpers::Rummager
|
7
7
|
|
8
8
|
def test_services_and_info_data_returns_an_adequate_response_object
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gds-api-adapters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 24.
|
4
|
+
version: 24.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Stewart
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: plek
|