github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/provider/joyent/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 joyent_test 6 7 import ( 8 "github.com/juju/os" 9 jc "github.com/juju/testing/checkers" 10 gc "gopkg.in/check.v1" 11 12 "github.com/juju/juju/cloudconfig/cloudinit/cloudinittest" 13 "github.com/juju/juju/provider/joyent" 14 "github.com/juju/juju/testing" 15 ) 16 17 type UserdataSuite struct { 18 testing.BaseSuite 19 } 20 21 var _ = gc.Suite(&UserdataSuite{}) 22 23 func (s *UserdataSuite) TestJoyentUnix(c *gc.C) { 24 renderer := joyent.JoyentRenderer{} 25 cloudcfg := &cloudinittest.CloudConfig{YAML: []byte("yaml")} 26 27 result, err := renderer.Render(cloudcfg, os.Ubuntu) 28 c.Assert(err, jc.ErrorIsNil) 29 c.Assert(result, jc.DeepEquals, cloudcfg.YAML) 30 31 result, err = renderer.Render(cloudcfg, os.CentOS) 32 c.Assert(err, jc.ErrorIsNil) 33 c.Assert(result, jc.DeepEquals, cloudcfg.YAML) 34 } 35 36 func (s *UserdataSuite) TestJoyentUnknownOS(c *gc.C) { 37 renderer := joyent.JoyentRenderer{} 38 cloudcfg := &cloudinittest.CloudConfig{} 39 result, err := renderer.Render(cloudcfg, os.Windows) 40 c.Assert(result, gc.IsNil) 41 c.Assert(err, gc.ErrorMatches, "Cannot encode userdata for OS: Windows") 42 }