github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/api/agent/uniter/sla_test.go (about) 1 // Copyright 2017 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 "github.com/juju/juju/api/base/testing" 13 "github.com/juju/juju/rpc/params" 14 coretesting "github.com/juju/juju/testing" 15 ) 16 17 type slaSuite struct { 18 coretesting.BaseSuite 19 } 20 21 var _ = gc.Suite(&slaSuite{}) 22 23 func (s *slaSuite) TestSLALevel(c *gc.C) { 24 apiCaller := testing.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error { 25 c.Assert(objType, gc.Equals, "Uniter") 26 c.Assert(request, gc.Equals, "SLALevel") 27 c.Assert(arg, gc.IsNil) 28 c.Assert(result, gc.FitsTypeOf, ¶ms.StringResult{}) 29 *(result.(*params.StringResult)) = params.StringResult{ 30 Result: "essential", 31 } 32 return nil 33 }) 34 client := uniter.NewState(apiCaller, names.NewUnitTag("mysql/0")) 35 level, err := client.SLALevel() 36 c.Assert(err, jc.ErrorIsNil) 37 c.Assert(level, gc.Equals, "essential") 38 }