github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/api/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  	jc "github.com/juju/testing/checkers"
     8  	gc "gopkg.in/check.v1"
     9  	"gopkg.in/juju/names.v2"
    10  
    11  	"github.com/juju/juju/api/firewaller"
    12  	"github.com/juju/juju/apiserver/params"
    13  )
    14  
    15  type relationSuite struct {
    16  	firewallerSuite
    17  
    18  	apiRelation *firewaller.Relation
    19  }
    20  
    21  var _ = gc.Suite(&relationSuite{})
    22  
    23  func (s *relationSuite) SetUpTest(c *gc.C) {
    24  	s.firewallerSuite.SetUpTest(c)
    25  
    26  	var err error
    27  	s.apiRelation, err = s.firewaller.Relation(s.relations[0].Tag().(names.RelationTag))
    28  	c.Assert(err, jc.ErrorIsNil)
    29  }
    30  
    31  func (s *relationSuite) TearDownTest(c *gc.C) {
    32  	s.firewallerSuite.TearDownTest(c)
    33  }
    34  
    35  func (s *relationSuite) TestRelation(c *gc.C) {
    36  	_, err := s.firewaller.Relation(names.NewRelationTag("foo:db bar:db"))
    37  	c.Assert(err, gc.ErrorMatches, `relation "foo:db bar:db" not found`)
    38  	c.Assert(err, jc.Satisfies, params.IsCodeNotFound)
    39  
    40  	apiRelation0, err := s.firewaller.Relation(s.relations[0].Tag().(names.RelationTag))
    41  	c.Assert(err, jc.ErrorIsNil)
    42  	c.Assert(apiRelation0, gc.NotNil)
    43  }
    44  
    45  func (s *relationSuite) TestTag(c *gc.C) {
    46  	c.Assert(s.apiRelation.Tag(), gc.Equals, names.NewRelationTag(s.relations[0].String()))
    47  }
    48  
    49  func (s *relationSuite) TestLife(c *gc.C) {
    50  	c.Assert(s.apiRelation.Life(), gc.Equals, params.Alive)
    51  }