github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/api/agent/uniter/model_test.go (about) 1 // Copyright 2013 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package uniter_test 5 6 import ( 7 "github.com/juju/names/v5" 8 jc "github.com/juju/testing/checkers" 9 gc "gopkg.in/check.v1" 10 11 "github.com/juju/juju/api/agent/uniter" 12 basetesting "github.com/juju/juju/api/base/testing" 13 "github.com/juju/juju/core/model" 14 "github.com/juju/juju/rpc/params" 15 coretesting "github.com/juju/juju/testing" 16 ) 17 18 type modelSuite struct { 19 coretesting.BaseSuite 20 } 21 22 var _ = gc.Suite(&modelSuite{}) 23 24 func (s *modelSuite) TestModel(c *gc.C) { 25 apiCaller := basetesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error { 26 c.Assert(objType, gc.Equals, "Uniter") 27 c.Assert(id, gc.Equals, "") 28 switch request { 29 case "CurrentModel": 30 c.Assert(arg, gc.IsNil) 31 c.Assert(result, gc.FitsTypeOf, ¶ms.ModelResult{}) 32 *(result.(*params.ModelResult)) = params.ModelResult{ 33 Name: "mary", 34 UUID: "deadbeaf", 35 Type: "caas", 36 } 37 default: 38 c.Fatalf("unexpected api call %q", request) 39 } 40 return nil 41 }) 42 client := uniter.NewState(apiCaller, names.NewUnitTag("mysql/0")) 43 m, err := client.Model() 44 c.Assert(err, jc.ErrorIsNil) 45 c.Assert(m, jc.DeepEquals, &model.Model{ 46 Name: "mary", 47 UUID: "deadbeaf", 48 ModelType: model.CAAS, 49 }) 50 }