github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/cloudconfig/cloudinit/helpers_test.go (about)

     1  package cloudinit
     2  
     3  import (
     4  	"github.com/juju/utils/proxy"
     5  	gc "gopkg.in/check.v1"
     6  )
     7  
     8  type HelperSuite struct{}
     9  
    10  var _ = gc.Suite(HelperSuite{})
    11  
    12  type fakeCfg struct {
    13  	CloudConfig
    14  	packageProxySettings proxy.Settings
    15  	packageMirror        string
    16  	addUpdateScripts     bool
    17  	addUpgradeScripts    bool
    18  	calledAddReq         bool
    19  }
    20  
    21  func (f *fakeCfg) SetPackageMirror(m string) {
    22  	f.packageMirror = m
    23  }
    24  
    25  func (f *fakeCfg) SetSystemUpdate(b bool) {
    26  	f.addUpdateScripts = b
    27  }
    28  
    29  func (f *fakeCfg) SetSystemUpgrade(b bool) {
    30  	f.addUpgradeScripts = b
    31  }
    32  
    33  func (f *fakeCfg) addRequiredPackages() {
    34  	f.calledAddReq = true
    35  }
    36  func (f *fakeCfg) updateProxySettings(s proxy.Settings) {
    37  	f.packageProxySettings = s
    38  }
    39  
    40  func (HelperSuite) TestAddPkgCmdsCommon(c *gc.C) {
    41  	f := &fakeCfg{}
    42  
    43  	pps := proxy.Settings{
    44  		Http:    "http",
    45  		Https:   "https",
    46  		Ftp:     "ftp",
    47  		NoProxy: "noproxy",
    48  	}
    49  	mirror := "mirror"
    50  	upd, upg := true, true
    51  
    52  	addPackageCommandsCommon(f, pps, mirror, upd, upg, "trusty")
    53  	c.Assert(f.packageProxySettings, gc.Equals, pps)
    54  	c.Assert(f.packageMirror, gc.Equals, mirror)
    55  	c.Assert(f.addUpdateScripts, gc.Equals, upd)
    56  	c.Assert(f.addUpgradeScripts, gc.Equals, upg)
    57  	c.Assert(f.calledAddReq, gc.Equals, true)
    58  
    59  	f = &fakeCfg{}
    60  	upd, upg = false, false
    61  	addPackageCommandsCommon(f, pps, mirror, upd, upg, "trusty")
    62  	c.Assert(f.packageProxySettings, gc.Equals, pps)
    63  	c.Assert(f.packageMirror, gc.Equals, mirror)
    64  	c.Assert(f.addUpdateScripts, gc.Equals, upd)
    65  	c.Assert(f.addUpgradeScripts, gc.Equals, upg)
    66  	c.Assert(f.calledAddReq, gc.Equals, true)
    67  
    68  	f = &fakeCfg{}
    69  	upd, upg = false, false
    70  	addPackageCommandsCommon(f, pps, mirror, upd, upg, "precise")
    71  	c.Assert(f.packageProxySettings, gc.Equals, pps)
    72  	c.Assert(f.packageMirror, gc.Equals, mirror)
    73  	// for precise we need to override addUpdateScripts to always be true
    74  	c.Assert(f.addUpdateScripts, gc.Equals, true)
    75  	c.Assert(f.addUpgradeScripts, gc.Equals, upg)
    76  	c.Assert(f.calledAddReq, gc.Equals, true)
    77  }