github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/api/uniter/charm_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  	jc "github.com/juju/testing/checkers"
     8  	gc "gopkg.in/check.v1"
     9  
    10  	"github.com/juju/juju/api/uniter"
    11  )
    12  
    13  type charmSuite struct {
    14  	uniterSuite
    15  
    16  	apiCharm *uniter.Charm
    17  }
    18  
    19  var _ = gc.Suite(&charmSuite{})
    20  
    21  func (s *charmSuite) SetUpTest(c *gc.C) {
    22  	s.uniterSuite.SetUpTest(c)
    23  
    24  	var err error
    25  	s.apiCharm, err = s.uniter.Charm(s.wordpressCharm.URL())
    26  	c.Assert(err, jc.ErrorIsNil)
    27  	c.Assert(s.apiCharm, gc.NotNil)
    28  }
    29  
    30  func (s *charmSuite) TearDownTest(c *gc.C) {
    31  	s.uniterSuite.TearDownTest(c)
    32  }
    33  
    34  func (s *charmSuite) TestCharmWithNilFails(c *gc.C) {
    35  	_, err := s.uniter.Charm(nil)
    36  	c.Assert(err, gc.ErrorMatches, "charm url cannot be nil")
    37  }
    38  
    39  func (s *charmSuite) TestString(c *gc.C) {
    40  	c.Assert(s.apiCharm.String(), gc.Equals, s.wordpressCharm.String())
    41  }
    42  
    43  func (s *charmSuite) TestURL(c *gc.C) {
    44  	c.Assert(s.apiCharm.URL(), gc.DeepEquals, s.wordpressCharm.URL())
    45  }
    46  
    47  func (s *charmSuite) TestArchiveSha256(c *gc.C) {
    48  	archiveSha256, err := s.apiCharm.ArchiveSha256()
    49  	c.Assert(err, jc.ErrorIsNil)
    50  	c.Assert(archiveSha256, gc.Equals, s.wordpressCharm.BundleSha256())
    51  }