github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/provider/cloudsigma/userdata_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Copyright 2015 Cloudbase Solutions SRL 3 // Licensed under the AGPLv3, see LICENCE file for details. 4 5 package cloudsigma_test 6 7 import ( 8 "encoding/base64" 9 10 jc "github.com/juju/testing/checkers" 11 "github.com/juju/utils/os" 12 gc "gopkg.in/check.v1" 13 14 "github.com/juju/juju/cloudconfig/cloudinit/cloudinittest" 15 "github.com/juju/juju/provider/cloudsigma" 16 "github.com/juju/juju/testing" 17 ) 18 19 type UserdataSuite struct{ testing.BaseSuite } 20 21 var _ = gc.Suite(&UserdataSuite{}) 22 23 func (s *UserdataSuite) TestCloudSigmaUnix(c *gc.C) { 24 renderer := cloudsigma.CloudSigmaRenderer{} 25 cloudcfg := &cloudinittest.CloudConfig{YAML: []byte("test")} 26 27 result, err := renderer.Render(cloudcfg, os.Ubuntu) 28 c.Assert(err, jc.ErrorIsNil) 29 expected := base64.StdEncoding.EncodeToString(cloudcfg.YAML) 30 c.Assert(string(result), jc.DeepEquals, expected) 31 32 result, err = renderer.Render(cloudcfg, os.CentOS) 33 c.Assert(err, jc.ErrorIsNil) 34 expected = base64.StdEncoding.EncodeToString(cloudcfg.YAML) 35 c.Assert(string(result), jc.DeepEquals, expected) 36 } 37 38 func (s *UserdataSuite) TestCloudSigmaUnknownOS(c *gc.C) { 39 renderer := cloudsigma.CloudSigmaRenderer{} 40 cloudcfg := &cloudinittest.CloudConfig{YAML: []byte("test")} 41 result, err := renderer.Render(cloudcfg, os.Windows) 42 c.Assert(result, gc.IsNil) 43 c.Assert(err, gc.ErrorMatches, "Cannot encode userdata for OS: Windows") 44 }