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  }