module GdsApi::TestHelpers::Router
def stub_all_router_registration
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
def stub_gone_route_registration(path, type)
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
def stub_redirect_registration(path, type, destination, redirect_type, segments_mode = nil)
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
def stub_route_put(route)
def stub_route_put(route) stub_http_request(:put, "#{ROUTER_API_ENDPOINT}/routes") .with(body: route.to_json) .to_return(status: 201) end
def stub_route_registration(path, type, backend_id)
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
def stub_router_backend_registration(backend_id, backend_url)
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
def stub_router_commit
def stub_router_commit stub_http_request(:post, "#{ROUTER_API_ENDPOINT}/routes/commit") end