github.com/cloud-green/juju@v0.0.0-20151002100041-a00291338d3d/cloudconfig/providerinit/renderers/common_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 renderers_test 6 7 import ( 8 "encoding/base64" 9 "fmt" 10 11 jc "github.com/juju/testing/checkers" 12 "github.com/juju/utils" 13 gc "gopkg.in/check.v1" 14 15 "github.com/juju/juju/cloudconfig" 16 "github.com/juju/juju/cloudconfig/providerinit/renderers" 17 "github.com/juju/juju/testing" 18 ) 19 20 type RenderersSuite struct { 21 testing.BaseSuite 22 } 23 24 var _ = gc.Suite(&RenderersSuite{}) 25 26 func (s *RenderersSuite) TestToBase64(c *gc.C) { 27 in := []byte("test") 28 expected := base64.StdEncoding.EncodeToString(in) 29 out := renderers.ToBase64(in) 30 c.Assert(string(out), gc.Equals, expected) 31 } 32 33 func (s *RenderersSuite) TestWinEmbedInScript(c *gc.C) { 34 in := []byte("test") 35 expected := []byte(fmt.Sprintf(cloudconfig.UserdataScript, renderers.ToBase64(utils.Gzip(in)))) 36 out := renderers.WinEmbedInScript(in) 37 c.Assert(out, jc.DeepEquals, expected) 38 } 39 40 func (s *RenderersSuite) TestAddPowershellTags(c *gc.C) { 41 in := []byte("test") 42 expected := []byte(`<powershell>` + string(in) + `</powershell>`) 43 out := renderers.AddPowershellTags(in) 44 c.Assert(out, jc.DeepEquals, expected) 45 }