Merge branch '10629-fuse-listing-perf' closes #10629
[arvados.git] / sdk / go / dispatch / dispatch_test.go
1 package dispatch
2
3 import (
4         "git.curoverse.com/arvados.git/sdk/go/arvados"
5         "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
6         "git.curoverse.com/arvados.git/sdk/go/arvadostest"
7         "os/exec"
8
9         . "gopkg.in/check.v1"
10 )
11
12 // Gocheck boilerplate
13 var _ = Suite(&DispatchTestSuite{})
14
15 type DispatchTestSuite struct{}
16
17 func (s *DispatchTestSuite) SetUpSuite(c *C) {
18         arvadostest.StartAPI()
19 }
20
21 func (s *DispatchTestSuite) TearDownSuite(c *C) {
22         arvadostest.StopAPI()
23 }
24
25 func (s *DispatchTestSuite) TestTrackContainer(c *C) {
26         arv, err := arvadosclient.MakeArvadosClient()
27         c.Assert(err, Equals, nil)
28
29         runContainer := func(d *Dispatcher, ctr arvados.Container) *exec.Cmd { return exec.Command("echo") }
30         d := &Dispatcher{Arv: arv, RunContainer: func(dsp *Dispatcher, ctr arvados.Container, status <-chan arvados.Container) {
31                 go runContainer(dsp, ctr)
32         }}
33         d.trackers = make(map[string]*runTracker)
34
35         d.TrackContainer(arvadostest.QueuedContainerUuid)
36         _, tracking := d.trackers[arvadostest.QueuedContainerUuid]
37         c.Assert(tracking, Equals, true)
38 }