X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8fbaec671a04acd587c20015ddf88b1b0209b418..c89213f5a5e303050caaebe4f8fdf2980fc65605:/sdk/go/arvadostest/stub.go diff --git a/sdk/go/arvadostest/stub.go b/sdk/go/arvadostest/stub.go index 15a0254135..a812a48277 100644 --- a/sdk/go/arvadostest/stub.go +++ b/sdk/go/arvadostest/stub.go @@ -1,7 +1,14 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: Apache-2.0 + package arvadostest import ( "net/http" + "net/url" + + "git.arvados.org/arvados.git/sdk/go/arvados" ) // StubResponse struct with response status and body @@ -33,3 +40,22 @@ func (stub *ServerStub) ServeHTTP(resp http.ResponseWriter, req *http.Request) { resp.Write([]byte(``)) } } + +// SetServiceURL overrides the given service config/discovery with the +// given internalURLs. +// +// ExternalURL is set to the last internalURL, which only aims to +// address the case where there is only one. +// +// SetServiceURL panics on errors. +func SetServiceURL(service *arvados.Service, internalURLs ...string) { + service.InternalURLs = map[arvados.URL]arvados.ServiceInstance{} + for _, u := range internalURLs { + u, err := url.Parse(u) + if err != nil { + panic(err) + } + service.InternalURLs[arvados.URL(*u)] = arvados.ServiceInstance{} + service.ExternalURL = arvados.URL(*u) + } +}