16534: Use auth token for test requests.
[arvados.git] / lib / controller / example / controller_test.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 package example
6
7 import (
8         "context"
9         "testing"
10
11         "git.arvados.org/arvados.git/lib/config"
12         "git.arvados.org/arvados.git/sdk/go/arvados"
13         "git.arvados.org/arvados.git/sdk/go/arvadostest"
14         "git.arvados.org/arvados.git/sdk/go/auth"
15         "git.arvados.org/arvados.git/sdk/go/ctxlog"
16         check "gopkg.in/check.v1"
17 )
18
19 // Gocheck boilerplate
20 func Test(t *testing.T) {
21         check.TestingT(t)
22 }
23
24 var _ = check.Suite(&ExampleSuite{})
25
26 type ExampleSuite struct {
27         ctrl     *Controller
28         ctx      context.Context
29         stub     *arvadostest.APIStub
30         rollback func()
31 }
32
33 func (s *ExampleSuite) SetUpTest(c *check.C) {
34         cfg, err := config.NewLoader(nil, ctxlog.TestLogger(c)).Load()
35         c.Assert(err, check.IsNil)
36         cluster, err := cfg.GetCluster("")
37         c.Assert(err, check.IsNil)
38         s.ctx, s.rollback = arvadostest.TransactionContext(c, arvadostest.DB(c, cluster))
39         s.ctx = auth.NewContext(s.ctx, &auth.Credentials{Tokens: []string{arvadostest.ActiveTokenV2}})
40         s.stub = &arvadostest.APIStub{}
41         s.ctrl = New(cluster, s.stub)
42 }
43
44 func (s *ExampleSuite) TearDownTest(c *check.C) {
45         if s.rollback != nil {
46                 s.rollback()
47                 s.rollback = nil
48         }
49 }
50
51 func (s *ExampleSuite) TestCount(c *check.C) {
52         resp, err := s.ctrl.ExampleCount(s.ctx, arvados.ExampleCountOptions{})
53         c.Check(err, check.IsNil)
54         c.Check(resp.Count, check.Equals, 29)
55         c.Check(s.stub.Calls(s.stub.UserList), check.HasLen, 1)
56 }
57
58 func (s *ExampleSuite) TestGet(c *check.C) {
59         resp, err := s.ctrl.ExampleGet(s.ctx, arvados.GetOptions{UUID: "alice"})
60         c.Check(err, check.IsNil)
61         c.Check(resp.UUID, check.Equals, "alice")
62         c.Check(resp.HairStyle, check.Equals, "bob")
63         c.Check(s.stub.Calls(s.stub.UserList), check.HasLen, 0)
64 }