1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
14 "git.arvados.org/arvados.git/sdk/go/arvados"
15 "git.arvados.org/arvados.git/sdk/go/arvadostest"
16 "git.arvados.org/arvados.git/sdk/go/ctxlog"
17 "git.arvados.org/arvados.git/sdk/go/httpserver"
18 check "gopkg.in/check.v1"
21 func integrationTestCluster() *arvados.Cluster {
22 cfg, err := arvados.GetConfig(filepath.Join(os.Getenv("WORKSPACE"), "tmp", "arvados.yml"))
26 cc, err := cfg.GetCluster("zzzzz")
33 // Return a new unstarted controller server, using the Rails API
34 // provided by the integration-testing environment.
35 func newServerFromIntegrationTestEnv(c *check.C) *httpserver.Server {
36 log := ctxlog.TestLogger(c)
38 handler := &Handler{Cluster: &arvados.Cluster{
40 PostgreSQL: integrationTestCluster().PostgreSQL,
42 handler.Cluster.TLS.Insecure = true
43 handler.Cluster.Collections.BlobSigning = true
44 handler.Cluster.Collections.BlobSigningKey = arvadostest.BlobSigningKey
45 handler.Cluster.Collections.BlobSigningTTL = arvados.Duration(time.Hour * 24 * 14)
46 arvadostest.SetServiceURL(&handler.Cluster.Services.RailsAPI, "https://"+os.Getenv("ARVADOS_TEST_API_HOST"))
47 arvadostest.SetServiceURL(&handler.Cluster.Services.Controller, "http://localhost:/")
49 srv := &httpserver.Server{
51 Handler: httpserver.HandlerWithContext(
52 ctxlog.Context(context.Background(), log),
53 httpserver.AddRequestIDs(httpserver.LogRequests(handler))),