Module: GdsApi::TestHelpers::Router
- Defined in:
- lib/gds_api/test_helpers/router.rb
Constant Summary collapse
- ROUTER_API_ENDPOINT =
Plek.current.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, redirect_type, segments_mode = nil) ⇒ Object
- #stub_route_registration(path, type, backend_id) ⇒ Object
- #stub_router_backend_registration(backend_id, backend_url) ⇒ Object
- #stub_router_commit ⇒ 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:, redirect_type: "permanent", 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 36 |
# 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") stub_request(:post, "#{ROUTER_API_ENDPOINT}/routes/commit") end |
#stub_gone_route_registration(path, type) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/gds_api/test_helpers/router.rb', line 77 def stub_gone_route_registration(path, type) route = { route: { incoming_path: path, route_type: type, handler: "gone", }, } register_stub = stub_route_put(route) commit_stub = stub_router_commit [register_stub, commit_stub] end |
#stub_redirect_registration(path, type, destination, redirect_type, segments_mode = nil) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/gds_api/test_helpers/router.rb', line 60 def stub_redirect_registration(path, type, destination, redirect_type, segments_mode = nil) redirect = { route: { incoming_path: path, route_type: type, handler: "redirect", redirect_to: destination, redirect_type: redirect_type, segments_mode: segments_mode, }, } register_stub = stub_route_put(redirect) commit_stub = stub_router_commit [register_stub, commit_stub] end |
#stub_route_registration(path, type, backend_id) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/gds_api/test_helpers/router.rb', line 45 def stub_route_registration(path, type, backend_id) route = { route: { incoming_path: path, route_type: type, handler: "backend", backend_id: backend_id, }, } register_stub = stub_route_put(route) commit_stub = stub_router_commit [register_stub, commit_stub] end |
#stub_router_backend_registration(backend_id, backend_url) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/gds_api/test_helpers/router.rb', line 38 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_commit ⇒ Object
91 92 93 |
# File 'lib/gds_api/test_helpers/router.rb', line 91 def stub_router_commit stub_http_request(:post, "#{ROUTER_API_ENDPOINT}/routes/commit") 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: backend_id, disabled: disabled, route_type: 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: route_type, disabled: disabled) end |
#stub_router_has_redirect_route(path, redirect_to:, redirect_type: "permanent", 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:, redirect_type: "permanent", route_type: "exact", disabled: false) stub_router_has_route(path, handler: "redirect", redirect_to: redirect_to, redirect_type: redirect_type, disabled: disabled, route_type: 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 |