Module: GdsApi::TestHelpers::Router
- Defined in:
- lib/gds_api/test_helpers/router.rb
Constant Summary collapse
- ROUTER_API_ENDPOINT =
Plek.find("router-api")
Instance Method Summary collapse
- #stub_all_router_registration ⇒ Object
- #stub_gone_route_registration(path, type) ⇒ Object
- #stub_redirect_registration(path, type, destination, segments_mode = nil) ⇒ Object
- #stub_route_registration(path, type, backend_id) ⇒ Object
- #stub_router_backend_registration(backend_id, backend_url) ⇒ Object
- #stub_router_doesnt_have_route(path, bearer_token = ENV["ROUTER_API_BEARER_TOKEN"]) ⇒ Object
- #stub_router_has_backend_route(path, backend_id:, route_type: "exact", disabled: false) ⇒ Object
- #stub_router_has_gone_route(path, route_type: "exact", disabled: false) ⇒ Object
- #stub_router_has_redirect_route(path, redirect_to:, route_type: "exact", disabled: false) ⇒ Object
- #stub_router_has_route(path, route, bearer_token = ENV["ROUTER_API_BEARER_TOKEN"]) ⇒ Object
Instance Method Details
#stub_all_router_registration ⇒ Object
32 33 34 35 |
# File 'lib/gds_api/test_helpers/router.rb', line 32 def stub_all_router_registration stub_request(:put, %r{\A#{ROUTER_API_ENDPOINT}/backends/[a-z0-9-]+\z}) stub_request(:put, "#{ROUTER_API_ENDPOINT}/routes") end |
#stub_gone_route_registration(path, type) ⇒ Object
67 68 69 70 71 72 73 74 75 |
# File 'lib/gds_api/test_helpers/router.rb', line 67 def stub_gone_route_registration(path, type) stub_route_put({ route: { incoming_path: path, route_type: type, handler: "gone", }, }) end |
#stub_redirect_registration(path, type, destination, segments_mode = nil) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/gds_api/test_helpers/router.rb', line 55 def stub_redirect_registration(path, type, destination, segments_mode = nil) stub_route_put({ route: { incoming_path: path, route_type: type, handler: "redirect", redirect_to: destination, segments_mode:, }, }) end |
#stub_route_registration(path, type, backend_id) ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# File 'lib/gds_api/test_helpers/router.rb', line 44 def stub_route_registration(path, type, backend_id) stub_route_put({ route: { incoming_path: path, route_type: type, handler: "backend", backend_id:, }, }) end |
#stub_router_backend_registration(backend_id, backend_url) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/gds_api/test_helpers/router.rb', line 37 def stub_router_backend_registration(backend_id, backend_url) backend = { "backend" => { "backend_url" => backend_url } } stub_http_request(:put, "#{ROUTER_API_ENDPOINT}/backends/#{backend_id}") .with(body: backend.to_json) .to_return(status: 201) end |
#stub_router_doesnt_have_route(path, bearer_token = ENV["ROUTER_API_BEARER_TOKEN"]) ⇒ Object
16 17 18 |
# File 'lib/gds_api/test_helpers/router.rb', line 16 def stub_router_doesnt_have_route(path, bearer_token = ENV["ROUTER_API_BEARER_TOKEN"]) stub_get_route(path, bearer_token).to_return(status: 404) end |
#stub_router_has_backend_route(path, backend_id:, route_type: "exact", disabled: false) ⇒ Object
20 21 22 |
# File 'lib/gds_api/test_helpers/router.rb', line 20 def stub_router_has_backend_route(path, backend_id:, route_type: "exact", disabled: false) stub_router_has_route(path, handler: "backend", backend_id:, disabled:, route_type:) end |
#stub_router_has_gone_route(path, route_type: "exact", disabled: false) ⇒ Object
28 29 30 |
# File 'lib/gds_api/test_helpers/router.rb', line 28 def stub_router_has_gone_route(path, route_type: "exact", disabled: false) stub_router_has_route(path, handler: "gone", route_type:, disabled:) end |
#stub_router_has_redirect_route(path, redirect_to:, route_type: "exact", disabled: false) ⇒ Object
24 25 26 |
# File 'lib/gds_api/test_helpers/router.rb', line 24 def stub_router_has_redirect_route(path, redirect_to:, route_type: "exact", disabled: false) stub_router_has_route(path, handler: "redirect", redirect_to:, disabled:, route_type:) end |
#stub_router_has_route(path, route, bearer_token = ENV["ROUTER_API_BEARER_TOKEN"]) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/gds_api/test_helpers/router.rb', line 8 def stub_router_has_route(path, route, bearer_token = ENV["ROUTER_API_BEARER_TOKEN"]) stub_get_route(path, bearer_token).to_return( status: 200, body: route.to_json, headers: { "Content-Type" => "application/json" }, ) end |