Module: GdsApi::TestHelpers::AssetManager
- Defined in:
- lib/gds_api/test_helpers/asset_manager.rb
Constant Summary collapse
- ASSET_MANAGER_ENDPOINT =
Plek.find("asset-manager")
Instance Method Summary collapse
- #stub_any_asset_manager_call ⇒ Object
-
#stub_asset_manager_create_asset(response_url = {}, response_body = {}) ⇒ Object
This can take a string of an exact url or a hash of options.
- #stub_asset_manager_create_asset_too_large ⇒ Object
- #stub_asset_manager_create_asset_unprocessable(body = "") ⇒ Object
- #stub_asset_manager_delete_asset(asset_id, body = {}) ⇒ Object
- #stub_asset_manager_delete_asset_failure(asset_id) ⇒ Object
- #stub_asset_manager_delete_asset_forbidden(asset_id) ⇒ Object
- #stub_asset_manager_delete_asset_missing(asset_id) ⇒ Object
- #stub_asset_manager_deletes_any_asset(body = {}) ⇒ Object
- #stub_asset_manager_does_not_have_an_asset(id) ⇒ Object
- #stub_asset_manager_get_asset_forbidden(id) ⇒ Object
- #stub_asset_manager_has_a_whitehall_media_asset(legacy_url_path, content) ⇒ Object
- #stub_asset_manager_has_an_asset(id, atts, filename = "") ⇒ Object
- #stub_asset_manager_isnt_available ⇒ Object
- #stub_asset_manager_receives_an_asset(response_url = {}) ⇒ Object
- #stub_asset_manager_request_to_asset_media(id, filename) ⇒ Object
- #stub_asset_manager_request_to_get_asset(id, response) ⇒ Object
- #stub_asset_manager_restore_asset(asset_id, body = {}) ⇒ Object
- #stub_asset_manager_restore_asset_failure(asset_id) ⇒ Object
- #stub_asset_manager_restore_asset_forbidden(asset_id) ⇒ Object
- #stub_asset_manager_restore_asset_not_found(asset_id) ⇒ Object
- #stub_asset_manager_update_asset(asset_id, body = {}) ⇒ Object
- #stub_asset_manager_update_asset_failure(asset_id) ⇒ Object
- #stub_asset_manager_update_asset_forbidden(asset_id) ⇒ Object
- #stub_asset_manager_update_asset_not_found(asset_id) ⇒ Object
- #stub_asset_manager_update_asset_too_large(asset_id) ⇒ Object
- #stub_asset_manager_update_asset_unprocessable(asset_id, body = "") ⇒ Object
- #stub_asset_manager_updates_any_asset(body = {}) ⇒ Object
- #stub_asset_manager_upload_failure ⇒ Object
Instance Method Details
#stub_any_asset_manager_call ⇒ Object
6 7 8 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 6 def stub_any_asset_manager_call stub_request(:any, %r{\A#{ASSET_MANAGER_ENDPOINT}}).to_return(status: 200) end |
#stub_asset_manager_create_asset(response_url = {}, response_body = {}) ⇒ Object
This can take a string of an exact url or a hash of options
with a string:
stub_asset_manager_create_asset("https://asset-manager/media/619ce797-b415-42e5-b2b1-2ffa0df52302/file.jpg")
with a hash:
stub_asset_manager_create_asset(id: "20d04259-e3ae-4f71-8157-e6c843096e96", filename: "file.jpg")
which would return a file url of "https://asset-manager/media/20d04259-e3ae-4f71-8157-e6c843096e96/file.jpg"
with no argument
stub_asset_manager_create_asset
which would return a file url of "https://asset-manager/media/0053adbf-0737-4923-9d8a-8180f2c723af/0d19136c4a94f07"
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 72 def stub_asset_manager_create_asset(response_url = {}, response_body = {}) stub_request(:post, "#{ASSET_MANAGER_ENDPOINT}/assets").to_return do if response_url.is_a?(String) file_url = response_url else = { id: SecureRandom.uuid, filename: SecureRandom.hex(8), }.merge(response_url) file_url = "#{ASSET_MANAGER_ENDPOINT}/media/#{[:id]}/#{[:filename]}" end { body: response_body.merge(file_url:).to_json, status: 200 } end end |
#stub_asset_manager_create_asset_too_large ⇒ Object
98 99 100 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 98 def stub_asset_manager_create_asset_too_large stub_request(:post, "#{ASSET_MANAGER_ENDPOINT}/assets").to_return(status: 413) end |
#stub_asset_manager_create_asset_unprocessable(body = "") ⇒ Object
102 103 104 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 102 def stub_asset_manager_create_asset_unprocessable(body = "") stub_request(:post, "#{ASSET_MANAGER_ENDPOINT}/assets").to_return(body:, status: 422) end |
#stub_asset_manager_delete_asset(asset_id, body = {}) ⇒ Object
135 136 137 138 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 135 def stub_asset_manager_delete_asset(asset_id, body = {}) stub_request(:delete, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}") .to_return(body: body.to_json, status: 200) end |
#stub_asset_manager_delete_asset_failure(asset_id) ⇒ Object
150 151 152 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 150 def stub_asset_manager_delete_asset_failure(asset_id) stub_request(:delete, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}").to_return(status: 500) end |
#stub_asset_manager_delete_asset_forbidden(asset_id) ⇒ Object
140 141 142 143 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 140 def stub_asset_manager_delete_asset_forbidden(asset_id) stub_request(:delete, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}") .to_return(status: 403) end |
#stub_asset_manager_delete_asset_missing(asset_id) ⇒ Object
145 146 147 148 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 145 def stub_asset_manager_delete_asset_missing(asset_id) stub_request(:delete, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}") .to_return(status: 404) end |
#stub_asset_manager_deletes_any_asset(body = {}) ⇒ Object
19 20 21 22 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 19 def stub_asset_manager_deletes_any_asset(body = {}) stub_request(:delete, %r{\A#{ASSET_MANAGER_ENDPOINT}/assets}) .to_return(body: body.to_json, status: 200) end |
#stub_asset_manager_does_not_have_an_asset(id) ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 46 def stub_asset_manager_does_not_have_an_asset(id) response = { "_response_info" => { "status" => "not found" }, } stub_request(:any, "#{ASSET_MANAGER_ENDPOINT}/assets/#{id}") .to_return(body: response.to_json, status: 404) end |
#stub_asset_manager_get_asset_forbidden(id) ⇒ Object
55 56 57 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 55 def stub_asset_manager_get_asset_forbidden(id) stub_request(:get, "#{ASSET_MANAGER_ENDPOINT}/assets/#{id}").to_return(status: 403) end |
#stub_asset_manager_has_a_whitehall_media_asset(legacy_url_path, content) ⇒ Object
41 42 43 44 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 41 def stub_asset_manager_has_a_whitehall_media_asset(legacy_url_path, content) stub_request(:get, "#{ASSET_MANAGER_ENDPOINT}/#{legacy_url_path}") .to_return(body: content, status: 200) end |
#stub_asset_manager_has_an_asset(id, atts, filename = "") ⇒ Object
24 25 26 27 28 29 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 24 def stub_asset_manager_has_an_asset(id, atts, filename = "") response = atts.merge("_response_info" => { "status" => "ok" }) stub_asset_manager_request_to_get_asset(id, response) stub_asset_manager_request_to_asset_media(id, filename) end |
#stub_asset_manager_isnt_available ⇒ Object
10 11 12 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 10 def stub_asset_manager_isnt_available stub_request(:any, %r{\A#{ASSET_MANAGER_ENDPOINT}}).to_return(status: 503) end |
#stub_asset_manager_receives_an_asset(response_url = {}) ⇒ Object
88 89 90 91 92 93 94 95 96 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 88 def stub_asset_manager_receives_an_asset(response_url = {}) warn <<~WARNING stub_asset_manager_receives_an_asset is deprecated and will be removed in a future version of gds-api-adapters. Replace calls to this method with stub_asset_manager_create_asset. WARNING stub_asset_manager_create_asset(response_url) end |
#stub_asset_manager_request_to_asset_media(id, filename) ⇒ Object
36 37 38 39 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 36 def stub_asset_manager_request_to_asset_media(id, filename) stub_request(:get, "#{ASSET_MANAGER_ENDPOINT}/media/#{id}/#{filename}") .to_return(body: "Some file content", status: 200) end |
#stub_asset_manager_request_to_get_asset(id, response) ⇒ Object
31 32 33 34 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 31 def stub_asset_manager_request_to_get_asset(id, response) stub_request(:get, "#{ASSET_MANAGER_ENDPOINT}/assets/#{id}") .to_return(body: response.to_json, status: 200) end |
#stub_asset_manager_restore_asset(asset_id, body = {}) ⇒ Object
154 155 156 157 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 154 def stub_asset_manager_restore_asset(asset_id, body = {}) stub_request(:post, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}/restore") .to_return(body: body.to_json, status: 200) end |
#stub_asset_manager_restore_asset_failure(asset_id) ⇒ Object
169 170 171 172 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 169 def stub_asset_manager_restore_asset_failure(asset_id) stub_request(:post, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}/restore") .to_return(status: 500) end |
#stub_asset_manager_restore_asset_forbidden(asset_id) ⇒ Object
159 160 161 162 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 159 def stub_asset_manager_restore_asset_forbidden(asset_id) stub_request(:post, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}/restore") .to_return(status: 403) end |
#stub_asset_manager_restore_asset_not_found(asset_id) ⇒ Object
164 165 166 167 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 164 def stub_asset_manager_restore_asset_not_found(asset_id) stub_request(:post, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}/restore") .to_return(status: 404) end |
#stub_asset_manager_update_asset(asset_id, body = {}) ⇒ Object
110 111 112 113 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 110 def stub_asset_manager_update_asset(asset_id, body = {}) stub_request(:put, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}") .to_return(body: body.to_json, status: 200) end |
#stub_asset_manager_update_asset_failure(asset_id) ⇒ Object
131 132 133 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 131 def stub_asset_manager_update_asset_failure(asset_id) stub_request(:put, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}").to_return(status: 500) end |
#stub_asset_manager_update_asset_forbidden(asset_id) ⇒ Object
115 116 117 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 115 def stub_asset_manager_update_asset_forbidden(asset_id) stub_request(:put, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}").to_return(status: 403) end |
#stub_asset_manager_update_asset_not_found(asset_id) ⇒ Object
119 120 121 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 119 def stub_asset_manager_update_asset_not_found(asset_id) stub_request(:put, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}").to_return(status: 404) end |
#stub_asset_manager_update_asset_too_large(asset_id) ⇒ Object
123 124 125 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 123 def stub_asset_manager_update_asset_too_large(asset_id) stub_request(:put, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}").to_return(status: 413) end |
#stub_asset_manager_update_asset_unprocessable(asset_id, body = "") ⇒ Object
127 128 129 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 127 def stub_asset_manager_update_asset_unprocessable(asset_id, body = "") stub_request(:put, "#{ASSET_MANAGER_ENDPOINT}/assets/#{asset_id}").to_return(body:, status: 422) end |
#stub_asset_manager_updates_any_asset(body = {}) ⇒ Object
14 15 16 17 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 14 def stub_asset_manager_updates_any_asset(body = {}) stub_request(:put, %r{\A#{ASSET_MANAGER_ENDPOINT}/assets}) .to_return(body: body.to_json, status: 200) end |
#stub_asset_manager_upload_failure ⇒ Object
106 107 108 |
# File 'lib/gds_api/test_helpers/asset_manager.rb', line 106 def stub_asset_manager_upload_failure stub_request(:post, "#{ASSET_MANAGER_ENDPOINT}/assets").to_return(status: 500) end |