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  }