github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/cloudconfig/cloudinit/helpers_test.go (about)

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