github.com/cloudbase/juju-core@v0.0.0-20140504232958-a7271ac7912f/upgrades/rsyslogport_test.go (about)

     1  // Copyright 2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package upgrades_test
     5  
     6  import (
     7  	gc "launchpad.net/gocheck"
     8  
     9  	"launchpad.net/juju-core/environs/config"
    10  	jujutesting "launchpad.net/juju-core/juju/testing"
    11  	"launchpad.net/juju-core/state"
    12  	"launchpad.net/juju-core/upgrades"
    13  )
    14  
    15  type rsyslogPortSuite struct {
    16  	jujutesting.JujuConnSuite
    17  	ctx upgrades.Context
    18  }
    19  
    20  var _ = gc.Suite(&rsyslogPortSuite{})
    21  
    22  func (s *rsyslogPortSuite) SetUpTest(c *gc.C) {
    23  	s.JujuConnSuite.SetUpTest(c)
    24  	apiState, _ := s.OpenAPIAsNewMachine(c, state.JobManageEnviron)
    25  	s.ctx = &mockContext{
    26  		agentConfig: &mockAgentConfig{dataDir: s.DataDir()},
    27  		apiState:    apiState,
    28  		state:       s.State,
    29  	}
    30  	cfg, err := s.State.EnvironConfig()
    31  	c.Assert(err, gc.IsNil)
    32  	c.Assert(cfg.SyslogPort(), gc.Not(gc.Equals), config.DefaultSyslogPort)
    33  }
    34  
    35  func (s *rsyslogPortSuite) TestSyslogPortChanged(c *gc.C) {
    36  	err := upgrades.UpdateRsyslogPort(s.ctx)
    37  	c.Assert(err, gc.IsNil)
    38  	cfg, err := s.State.EnvironConfig()
    39  	c.Assert(err, gc.IsNil)
    40  	c.Assert(cfg.SyslogPort(), gc.Equals, config.DefaultSyslogPort)
    41  }
    42  
    43  func (s *rsyslogPortSuite) TestIdempotent(c *gc.C) {
    44  	err := upgrades.UpdateRsyslogPort(s.ctx)
    45  	c.Assert(err, gc.IsNil)
    46  	err = upgrades.UpdateRsyslogPort(s.ctx)
    47  	c.Assert(err, gc.IsNil)
    48  	cfg, err := s.State.EnvironConfig()
    49  	c.Assert(err, gc.IsNil)
    50  	c.Assert(cfg.SyslogPort(), gc.Equals, config.DefaultSyslogPort)
    51  }