gds-api-adapters 57.0.0 → 57.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f36c0d0a2843439216308fc49f375f43c5032a1d9e09a3284d5cc42a5a898325
4
- data.tar.gz: 86c0b7345ad52da99d8ae24470e1e0e7740986b2c8c445039933fc98517df246
3
+ metadata.gz: f5b774a41ffa2ba2ebf1192733d6b6fb6ee5e7cc321ce5b8f40d91656b3dc802
4
+ data.tar.gz: a421fa1606c3965dd757fd34145f10ed49ca966e497a91994b3ea386256b2e83
5
5
  SHA512:
6
- metadata.gz: 4e7277dcd24bcb07c3a247c7ae1ab52061770f5b595187a2af83341a7a3de63f66a6fc0983a5a064685043173a5ea6c4b000cab6e26d76c2b1487a4d145da72d
7
- data.tar.gz: d9742ba90208ef268123dced1cabd54daf4aecea228b4571d765a7b14dfc245b63a8684b6fa570f4476b476d30815deeb7b48b5fb264fcdc9cf7f0df89f51ae4
6
+ metadata.gz: f61caafa9f196b62616ff46e3596eea89b96581c37da97a8e709181939f1fe581aa25a6b75f8be306deca21a2627cc43d66c7a58728564a2f023941fba54a793
7
+ data.tar.gz: 51c7fec99a993745e797c5cc1bffb31a14eb40cd8541bf3b56e1d483ea235763346264de9199966f89c2e73911c059c45155e853a049bcc63fa06b34958f9a54
@@ -3,6 +3,24 @@ module GdsApi
3
3
  module AssetManager
4
4
  ASSET_MANAGER_ENDPOINT = Plek.current.find('asset-manager')
5
5
 
6
+ def stub_any_asset_manager_call
7
+ stub_request(:any, %r{\A#{ASSET_MANAGER_ENDPOINT}}).to_return(status: 200)
8
+ end
9
+
10
+ def asset_manager_is_down
11
+ stub_request(:any, %r{\A#{ASSET_MANAGER_ENDPOINT}}).to_return(status: 503)
12
+ end
13
+
14
+ def asset_manager_updates_any_asset(body = {})
15
+ stub_request(:put, %r{\A#{ASSET_MANAGER_ENDPOINT}/assets})
16
+ .to_return(body: body.to_json, status: 200)
17
+ end
18
+
19
+ def asset_manager_deletes_any_asset(body = {})
20
+ stub_request(:delete, %r{\A#{ASSET_MANAGER_ENDPOINT}/assets})
21
+ .to_return(body: body.to_json, status: 200)
22
+ end
23
+
6
24
  def asset_manager_has_an_asset(id, atts)
7
25
  response = atts.merge("_response_info" => { "status" => "ok" })
8
26
 
@@ -35,8 +53,31 @@ module GdsApi
35
53
  .to_return(body: response.to_json, status: 404)
36
54
  end
37
55
 
38
- def asset_manager_receives_an_asset(response_url)
39
- stub_request(:post, "#{ASSET_MANAGER_ENDPOINT}/assets").to_return(body: { file_url: response_url }.to_json, status: 200)
56
+ # This can take a string of an exact url or a hash of options
57
+ #
58
+ # with a string:
59
+ # `asset_manager_receives_an_asset("https://asset-manager/media/619ce797-b415-42e5-b2b1-2ffa0df52302/file.jpg")`
60
+ #
61
+ # with a hash:
62
+ # `asset_manager_receives_an_asset(id: "20d04259-e3ae-4f71-8157-e6c843096e96", filename: "file.jpg")`
63
+ # which would return a file url of "https://asset-manager/media/20d04259-e3ae-4f71-8157-e6c843096e96/file.jpg"
64
+ #
65
+ # with no argument
66
+ #
67
+ # `asset_manager_receives_an_asset`
68
+ # which would return a file url of "https://asset-manager/media/0053adbf-0737-4923-9d8a-8180f2c723af/0d19136c4a94f07"
69
+ def asset_manager_receives_an_asset(response_url = {})
70
+ stub_request(:post, "#{ASSET_MANAGER_ENDPOINT}/assets").to_return do
71
+ unless response_url.is_a?(String)
72
+ options = {
73
+ id: SecureRandom.uuid,
74
+ filename: SecureRandom.hex(8)
75
+ }.merge(response_url)
76
+
77
+ response_url = "#{ASSET_MANAGER_ENDPOINT}/media/#{options[:id]}/#{options[:filename]}"
78
+ end
79
+ { body: { file_url: response_url }.to_json, status: 200 }
80
+ end
40
81
  end
41
82
 
42
83
  def asset_manager_upload_failure
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = '57.0.0'.freeze
2
+ VERSION = '57.1.0'.freeze
3
3
  end
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: 57.0.0
4
+ version: 57.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-07 00:00:00.000000000 Z
11
+ date: 2019-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable