Fix more ineffassign warnings.
[arvados.git] / services / keep-balance / integration_test.go
index 8f5d08a192ff81cb07bd88a90cb29d9a74f73c76..defabd9a109f27b348b61aeccb2ed822d2fa862e 100644 (file)
@@ -11,10 +11,13 @@ import (
        "testing"
        "time"
 
-       "git.curoverse.com/arvados.git/sdk/go/arvados"
-       "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
-       "git.curoverse.com/arvados.git/sdk/go/arvadostest"
-       "git.curoverse.com/arvados.git/sdk/go/keepclient"
+       "git.arvados.org/arvados.git/lib/config"
+       "git.arvados.org/arvados.git/sdk/go/arvados"
+       "git.arvados.org/arvados.git/sdk/go/arvadosclient"
+       "git.arvados.org/arvados.git/sdk/go/arvadostest"
+       "git.arvados.org/arvados.git/sdk/go/ctxlog"
+       "git.arvados.org/arvados.git/sdk/go/keepclient"
+       "github.com/prometheus/client_golang/prometheus"
        "github.com/sirupsen/logrus"
        check "gopkg.in/check.v1"
 )
@@ -22,7 +25,8 @@ import (
 var _ = check.Suite(&integrationSuite{})
 
 type integrationSuite struct {
-       config     Config
+       config     *arvados.Cluster
+       client     *arvados.Client
        keepClient *keepclient.KeepClient
 }
 
@@ -35,7 +39,7 @@ func (s *integrationSuite) SetUpSuite(c *check.C) {
        arvadostest.StartKeep(4, true)
 
        arv, err := arvadosclient.MakeArvadosClient()
-       arv.ApiToken = arvadostest.DataManagerToken
+       arv.ApiToken = arvadostest.SystemRootToken
        c.Assert(err, check.IsNil)
 
        s.keepClient, err = keepclient.MakeKeepClient(arv)
@@ -59,23 +63,25 @@ func (s *integrationSuite) TearDownSuite(c *check.C) {
 }
 
 func (s *integrationSuite) SetUpTest(c *check.C) {
-       s.config = Config{
-               Client: arvados.Client{
-                       APIHost:   os.Getenv("ARVADOS_API_HOST"),
-                       AuthToken: arvadostest.DataManagerToken,
-                       Insecure:  true,
-               },
-               KeepServiceTypes: []string{"disk"},
-               RunPeriod:        arvados.Duration(time.Second),
+       cfg, err := config.NewLoader(nil, ctxlog.TestLogger(c)).Load()
+       c.Assert(err, check.Equals, nil)
+       s.config, err = cfg.GetCluster("")
+       c.Assert(err, check.Equals, nil)
+       s.config.Collections.BalancePeriod = arvados.Duration(time.Second)
+
+       s.client = &arvados.Client{
+               APIHost:   os.Getenv("ARVADOS_API_HOST"),
+               AuthToken: arvadostest.SystemRootToken,
+               Insecure:  true,
        }
 }
 
 func (s *integrationSuite) TestBalanceAPIFixtures(c *check.C) {
-       var logBuf *bytes.Buffer
+       var logBuf bytes.Buffer
        for iter := 0; iter < 20; iter++ {
-               logBuf := &bytes.Buffer{}
+               logBuf.Reset()
                logger := logrus.New()
-               logger.Out = logBuf
+               logger.Out = &logBuf
                opts := RunOptions{
                        CommitPulls: true,
                        CommitTrash: true,
@@ -84,9 +90,9 @@ func (s *integrationSuite) TestBalanceAPIFixtures(c *check.C) {
 
                bal := &Balancer{
                        Logger:  logger,
-                       Metrics: newMetrics(),
+                       Metrics: newMetrics(prometheus.NewRegistry()),
                }
-               nextOpts, err := bal.Run(s.config, opts)
+               nextOpts, err := bal.Run(s.client, s.config, opts)
                c.Check(err, check.IsNil)
                c.Check(nextOpts.SafeRendezvousState, check.Not(check.Equals), "")
                c.Check(nextOpts.CommitPulls, check.Equals, true)