github.com/juju/juju@v0.0.0-20240327075706-a90865de2538/api/controller/firewaller/relation_test.go (about) 1 // Copyright 2017 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package firewaller_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/controller/firewaller" 12 "github.com/juju/juju/core/life" 13 "github.com/juju/juju/rpc/params" 14 ) 15 16 type relationSuite struct { 17 firewallerSuite 18 19 apiRelation *firewaller.Relation 20 } 21 22 var _ = gc.Suite(&relationSuite{}) 23 24 func (s *relationSuite) SetUpTest(c *gc.C) { 25 s.firewallerSuite.SetUpTest(c) 26 27 var err error 28 s.apiRelation, err = s.firewaller.Relation(s.relations[0].Tag().(names.RelationTag)) 29 c.Assert(err, jc.ErrorIsNil) 30 } 31 32 func (s *relationSuite) TearDownTest(c *gc.C) { 33 s.firewallerSuite.TearDownTest(c) 34 } 35 36 func (s *relationSuite) TestRelation(c *gc.C) { 37 _, err := s.firewaller.Relation(names.NewRelationTag("foo:db bar:db")) 38 c.Assert(err, gc.ErrorMatches, `relation "foo:db bar:db" not found`) 39 c.Assert(err, jc.Satisfies, params.IsCodeNotFound) 40 41 apiRelation0, err := s.firewaller.Relation(s.relations[0].Tag().(names.RelationTag)) 42 c.Assert(err, jc.ErrorIsNil) 43 c.Assert(apiRelation0, gc.NotNil) 44 } 45 46 func (s *relationSuite) TestTag(c *gc.C) { 47 c.Assert(s.apiRelation.Tag(), gc.Equals, names.NewRelationTag(s.relations[0].String())) 48 } 49 50 func (s *relationSuite) TestLife(c *gc.C) { 51 c.Assert(s.apiRelation.Life(), gc.Equals, life.Alive) 52 }