github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/api/client/backups/base_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package backups 5 6 import ( 7 "time" 8 9 "github.com/juju/testing" 10 "go.uber.org/mock/gomock" 11 gc "gopkg.in/check.v1" 12 13 "github.com/juju/juju/api/base/mocks" 14 "github.com/juju/juju/rpc/params" 15 stbackups "github.com/juju/juju/state/backups" 16 ) 17 18 type baseSuite struct { 19 testing.IsolationSuite 20 21 facade *mocks.MockFacadeCaller 22 apiCaller *mocks.MockAPICallCloser 23 } 24 25 func (s *baseSuite) setupMocks(c *gc.C) *gomock.Controller { 26 ctrl := gomock.NewController(c) 27 28 s.facade = mocks.NewMockFacadeCaller(ctrl) 29 s.apiCaller = mocks.NewMockAPICallCloser(ctrl) 30 31 return ctrl 32 } 33 34 func (s *baseSuite) newClient() *Client { 35 return &Client{ 36 facade: s.facade, 37 st: s.apiCaller, 38 } 39 } 40 41 func (s *baseSuite) checkMetadataResult(c *gc.C, result *params.BackupsMetadataResult, meta *stbackups.Metadata) { 42 var finished, stored time.Time 43 if meta.Finished != nil { 44 finished = *meta.Finished 45 } 46 if meta.Stored() != nil { 47 stored = *(meta.Stored()) 48 } 49 50 c.Check(result.ID, gc.Equals, meta.ID()) 51 c.Check(result.Started, gc.Equals, meta.Started) 52 c.Check(result.Finished, gc.Equals, finished) 53 c.Check(result.Checksum, gc.Equals, meta.Checksum()) 54 c.Check(result.ChecksumFormat, gc.Equals, meta.ChecksumFormat()) 55 c.Check(result.Size, gc.Equals, meta.Size()) 56 c.Check(result.Stored, gc.Equals, stored) 57 c.Check(result.Notes, gc.Equals, meta.Notes) 58 59 c.Check(result.Model, gc.Equals, meta.Origin.Model) 60 c.Check(result.Machine, gc.Equals, meta.Origin.Machine) 61 c.Check(result.Hostname, gc.Equals, meta.Origin.Hostname) 62 c.Check(result.Version, gc.Equals, meta.Origin.Version) 63 }