github.com/cloudbase/juju-core@v0.0.0-20140504232958-a7271ac7912f/state/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 gc "launchpad.net/gocheck" 8 9 envtesting "launchpad.net/juju-core/environs/testing" 10 "launchpad.net/juju-core/state/api/uniter" 11 jc "launchpad.net/juju-core/testing/checkers" 12 ) 13 14 type charmSuite struct { 15 uniterSuite 16 17 apiCharm *uniter.Charm 18 } 19 20 var _ = gc.Suite(&charmSuite{}) 21 22 func (s *charmSuite) SetUpTest(c *gc.C) { 23 s.uniterSuite.SetUpTest(c) 24 25 var err error 26 s.apiCharm, err = s.uniter.Charm(s.wordpressCharm.URL()) 27 c.Assert(err, gc.IsNil) 28 c.Assert(s.apiCharm, gc.NotNil) 29 } 30 31 func (s *charmSuite) TearDownTest(c *gc.C) { 32 s.uniterSuite.TearDownTest(c) 33 } 34 35 func (s *charmSuite) TestCharmWithNilFails(c *gc.C) { 36 _, err := s.uniter.Charm(nil) 37 c.Assert(err, gc.ErrorMatches, "charm url cannot be nil") 38 } 39 40 func (s *charmSuite) TestString(c *gc.C) { 41 c.Assert(s.apiCharm.String(), gc.Equals, s.wordpressCharm.String()) 42 } 43 44 func (s *charmSuite) TestURL(c *gc.C) { 45 c.Assert(s.apiCharm.URL(), gc.DeepEquals, s.wordpressCharm.URL()) 46 } 47 48 func (s *charmSuite) TestArchiveURL(c *gc.C) { 49 archiveURL, disableSSLHostnameVerification, err := s.apiCharm.ArchiveURL() 50 c.Assert(err, gc.IsNil) 51 c.Assert(archiveURL, gc.DeepEquals, s.wordpressCharm.BundleURL()) 52 c.Assert(disableSSLHostnameVerification, jc.IsFalse) 53 54 envtesting.SetSSLHostnameVerification(c, s.State, false) 55 56 archiveURL, disableSSLHostnameVerification, err = s.apiCharm.ArchiveURL() 57 c.Assert(err, gc.IsNil) 58 c.Assert(archiveURL, gc.DeepEquals, s.wordpressCharm.BundleURL()) 59 c.Assert(disableSSLHostnameVerification, jc.IsTrue) 60 } 61 62 func (s *charmSuite) TestArchiveSha256(c *gc.C) { 63 archiveSha256, err := s.apiCharm.ArchiveSha256() 64 c.Assert(err, gc.IsNil) 65 c.Assert(archiveSha256, gc.Equals, s.wordpressCharm.BundleSha256()) 66 }