github.com/altoros/juju-vmware@v0.0.0-20150312064031-f19ae857ccca/api/backups/package_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package backups_test 5 6 import ( 7 "testing" 8 "time" 9 10 gc "gopkg.in/check.v1" 11 12 "github.com/juju/juju/api/backups" 13 httptesting "github.com/juju/juju/api/http/testing" 14 apiserverbackups "github.com/juju/juju/apiserver/backups" 15 "github.com/juju/juju/apiserver/params" 16 jujutesting "github.com/juju/juju/juju/testing" 17 stbackups "github.com/juju/juju/state/backups" 18 backupstesting "github.com/juju/juju/state/backups/testing" 19 coretesting "github.com/juju/juju/testing" 20 ) 21 22 func TestAll(t *testing.T) { 23 coretesting.MgoTestPackage(t) 24 } 25 26 type baseSuite struct { 27 jujutesting.JujuConnSuite 28 backupstesting.BaseSuite 29 client *backups.Client 30 } 31 32 func (s *baseSuite) SetUpTest(c *gc.C) { 33 s.BaseSuite.SetUpTest(c) 34 s.JujuConnSuite.SetUpTest(c) 35 s.client = backups.NewClient(s.APIState) 36 } 37 38 func (s *baseSuite) metadataResult() *params.BackupsMetadataResult { 39 result := apiserverbackups.ResultFromMetadata(s.Meta) 40 return &result 41 } 42 43 func (s *baseSuite) checkMetadataResult(c *gc.C, result *params.BackupsMetadataResult, meta *stbackups.Metadata) { 44 var finished, stored time.Time 45 if meta.Finished != nil { 46 finished = *meta.Finished 47 } 48 if meta.Stored() != nil { 49 stored = *(meta.Stored()) 50 } 51 52 c.Check(result.ID, gc.Equals, meta.ID()) 53 c.Check(result.Started, gc.Equals, meta.Started) 54 c.Check(result.Finished, gc.Equals, finished) 55 c.Check(result.Checksum, gc.Equals, meta.Checksum()) 56 c.Check(result.ChecksumFormat, gc.Equals, meta.ChecksumFormat()) 57 c.Check(result.Size, gc.Equals, meta.Size()) 58 c.Check(result.Stored, gc.Equals, stored) 59 c.Check(result.Notes, gc.Equals, meta.Notes) 60 61 c.Check(result.Environment, gc.Equals, meta.Origin.Environment) 62 c.Check(result.Machine, gc.Equals, meta.Origin.Machine) 63 c.Check(result.Hostname, gc.Equals, meta.Origin.Hostname) 64 c.Check(result.Version, gc.Equals, meta.Origin.Version) 65 } 66 67 type httpSuite struct { 68 baseSuite 69 httptesting.APIHTTPClientSuite 70 } 71 72 func (s *httpSuite) SetUpSuite(c *gc.C) { 73 s.baseSuite.SetUpSuite(c) 74 s.APIHTTPClientSuite.SetUpSuite(c) 75 } 76 77 func (s *httpSuite) TearDownSuite(c *gc.C) { 78 s.APIHTTPClientSuite.TearDownSuite(c) 79 s.baseSuite.TearDownSuite(c) 80 } 81 82 func (s *httpSuite) SetUpTest(c *gc.C) { 83 s.baseSuite.SetUpTest(c) 84 s.APIHTTPClientSuite.SetUpTest(c) 85 } 86 87 func (s *httpSuite) TearDownTest(c *gc.C) { 88 s.APIHTTPClientSuite.TearDownTest(c) 89 s.baseSuite.TearDownTest(c) 90 } 91 92 func (s *httpSuite) setResponse(c *gc.C, status int, data []byte, ctype string) { 93 s.APIHTTPClientSuite.SetResponse(c, status, data, ctype) 94 backups.SetHTTP(s.client, &s.FakeClient) 95 } 96 97 func (s *httpSuite) setJSONSuccess(c *gc.C, result interface{}) { 98 s.APIHTTPClientSuite.SetJSONSuccess(c, result) 99 backups.SetHTTP(s.client, &s.FakeClient) 100 } 101 102 func (s *httpSuite) setFailure(c *gc.C, msg string, status int) { 103 s.APIHTTPClientSuite.SetFailure(c, msg, status) 104 backups.SetHTTP(s.client, &s.FakeClient) 105 } 106 107 func (s *httpSuite) setError(c *gc.C, msg string, status int) { 108 s.APIHTTPClientSuite.SetError(c, msg, status) 109 backups.SetHTTP(s.client, &s.FakeClient) 110 }