~mfoord/juju-core/ha-rsyslog-2

« back to all changes in this revision

Viewing changes to juju/conn_test.go

  • Committer: Wayne Witzel III
  • Date: 2014-05-22 14:05:15 UTC
  • mto: This revision was merged to the branch mainline in revision 2737.
  • Revision ID: wayne.witzel@canonical.com-20140522140515-bsr7yv78eh8ku4iv
revert merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
        envtesting "launchpad.net/juju-core/environs/testing"
26
26
        "launchpad.net/juju-core/instance"
27
27
        "launchpad.net/juju-core/juju"
 
28
        "launchpad.net/juju-core/juju/osenv"
28
29
        "launchpad.net/juju-core/juju/testing"
29
30
        "launchpad.net/juju-core/provider/dummy"
30
31
        "launchpad.net/juju-core/state"
31
32
        "launchpad.net/juju-core/state/api/usermanager"
32
33
        coretesting "launchpad.net/juju-core/testing"
 
34
        "launchpad.net/juju-core/testing/testbase"
33
35
        "launchpad.net/juju-core/utils"
34
36
        "launchpad.net/juju-core/utils/set"
35
37
)
39
41
}
40
42
 
41
43
type NewConnSuite struct {
42
 
        coretesting.FakeJujuHomeSuite
 
44
        testbase.LoggingSuite
43
45
        envtesting.ToolsFixture
44
46
}
45
47
 
46
48
var _ = gc.Suite(&NewConnSuite{})
47
49
 
48
50
func (cs *NewConnSuite) SetUpTest(c *gc.C) {
49
 
        cs.FakeJujuHomeSuite.SetUpTest(c)
 
51
        cs.LoggingSuite.SetUpTest(c)
50
52
        cs.ToolsFixture.SetUpTest(c)
51
53
}
52
54
 
53
55
func (cs *NewConnSuite) TearDownTest(c *gc.C) {
54
56
        dummy.Reset()
55
57
        cs.ToolsFixture.TearDownTest(c)
56
 
        cs.FakeJujuHomeSuite.TearDownTest(c)
 
58
        cs.LoggingSuite.TearDownTest(c)
57
59
}
58
60
 
59
61
func assertClose(c *gc.C, closer io.Closer) {
92
94
        c.Assert(err, gc.IsNil)
93
95
}
94
96
 
95
 
func (s *NewConnSuite) TestConnMultipleCloseOk(c *gc.C) {
96
 
        coretesting.MakeSampleJujuHome(c)
 
97
func (*NewConnSuite) TestConnMultipleCloseOk(c *gc.C) {
 
98
        defer coretesting.MakeSampleHome(c).Restore()
97
99
        bootstrapEnv(c, "", defaultConfigStore(c))
98
100
        // Error return from here is tested in TestNewConnFromNameNotSetGetsDefault.
99
101
        conn, err := juju.NewConnFromName("")
103
105
        assertClose(c, conn)
104
106
}
105
107
 
106
 
func (s *NewConnSuite) TestNewConnFromNameNotSetGetsDefault(c *gc.C) {
107
 
        coretesting.MakeSampleJujuHome(c)
 
108
func (*NewConnSuite) TestNewConnFromNameNotSetGetsDefault(c *gc.C) {
 
109
        defer coretesting.MakeSampleHome(c).Restore()
108
110
        bootstrapEnv(c, "", defaultConfigStore(c))
109
111
        conn, err := juju.NewConnFromName("")
110
112
        c.Assert(err, gc.IsNil)
112
114
        c.Assert(conn.Environ.Name(), gc.Equals, coretesting.SampleEnvName)
113
115
}
114
116
 
115
 
func (s *NewConnSuite) TestNewConnFromNameNotDefault(c *gc.C) {
116
 
        coretesting.WriteEnvironments(c, coretesting.MultipleEnvConfig)
 
117
func (*NewConnSuite) TestNewConnFromNameNotDefault(c *gc.C) {
 
118
        defer coretesting.MakeMultipleEnvHome(c).Restore()
117
119
        // The default environment is "erewhemos", so make sure we get what we ask for.
118
120
        const envName = "erewhemos-2"
119
121
        bootstrapEnv(c, envName, defaultConfigStore(c))
251
253
}
252
254
 
253
255
type ConnSuite struct {
254
 
        coretesting.BaseSuite
 
256
        testbase.LoggingSuite
255
257
        coretesting.MgoSuite
256
258
        envtesting.ToolsFixture
257
259
        conn *juju.Conn
261
263
var _ = gc.Suite(&ConnSuite{})
262
264
 
263
265
func (s *ConnSuite) SetUpTest(c *gc.C) {
264
 
        s.BaseSuite.SetUpTest(c)
 
266
        s.LoggingSuite.SetUpTest(c)
265
267
        s.MgoSuite.SetUpTest(c)
266
268
        s.ToolsFixture.SetUpTest(c)
267
269
        cfg, err := config.New(config.NoDefaults, dummy.SampleConfig())
290
292
        dummy.Reset()
291
293
        s.ToolsFixture.TearDownTest(c)
292
294
        s.MgoSuite.TearDownTest(c)
293
 
        s.BaseSuite.TearDownTest(c)
 
295
        s.LoggingSuite.TearDownTest(c)
294
296
}
295
297
 
296
298
func (s *ConnSuite) SetUpSuite(c *gc.C) {
297
 
        s.BaseSuite.SetUpSuite(c)
 
299
        s.LoggingSuite.SetUpSuite(c)
298
300
        s.MgoSuite.SetUpSuite(c)
299
301
}
300
302
 
301
303
func (s *ConnSuite) TearDownSuite(c *gc.C) {
302
 
        s.BaseSuite.TearDownSuite(c)
 
304
        s.LoggingSuite.TearDownSuite(c)
303
305
        s.MgoSuite.TearDownSuite(c)
304
306
}
305
307
 
675
677
        }
676
678
        c.Assert(unseenIds, gc.DeepEquals, set.NewStrings())
677
679
}
 
680
 
 
681
type InitJujuHomeSuite struct {
 
682
        testbase.LoggingSuite
 
683
        originalHome     string
 
684
        originalJujuHome string
 
685
}
 
686
 
 
687
var _ = gc.Suite(&InitJujuHomeSuite{})
 
688
 
 
689
func (s *InitJujuHomeSuite) SetUpTest(c *gc.C) {
 
690
        s.LoggingSuite.SetUpTest(c)
 
691
        s.originalHome = osenv.Home()
 
692
        s.originalJujuHome = os.Getenv("JUJU_HOME")
 
693
}
 
694
 
 
695
func (s *InitJujuHomeSuite) TearDownTest(c *gc.C) {
 
696
        osenv.SetHome(s.originalHome)
 
697
        os.Setenv("JUJU_HOME", s.originalJujuHome)
 
698
        s.LoggingSuite.TearDownTest(c)
 
699
}
 
700
 
 
701
func (s *InitJujuHomeSuite) TestJujuHome(c *gc.C) {
 
702
        jujuHome := c.MkDir()
 
703
        os.Setenv("JUJU_HOME", jujuHome)
 
704
        err := juju.InitJujuHome()
 
705
        c.Assert(err, gc.IsNil)
 
706
        c.Assert(osenv.JujuHome(), gc.Equals, jujuHome)
 
707
}
 
708
 
 
709
func (s *InitJujuHomeSuite) TestHome(c *gc.C) {
 
710
        osHome := c.MkDir()
 
711
        os.Setenv("JUJU_HOME", "")
 
712
        osenv.SetHome(osHome)
 
713
        err := juju.InitJujuHome()
 
714
        c.Assert(err, gc.IsNil)
 
715
        c.Assert(osenv.JujuHome(), gc.Equals, filepath.Join(osHome, ".juju"))
 
716
}
 
717
 
 
718
func (s *InitJujuHomeSuite) TestError(c *gc.C) {
 
719
        os.Setenv("JUJU_HOME", "")
 
720
        osenv.SetHome("")
 
721
        err := juju.InitJujuHome()
 
722
        c.Assert(err, gc.ErrorMatches, "cannot determine juju home.*")
 
723
}
 
724
 
 
725
func (s *InitJujuHomeSuite) TestCacheDir(c *gc.C) {
 
726
        jujuHome := c.MkDir()
 
727
        os.Setenv("JUJU_HOME", jujuHome)
 
728
        c.Assert(charm.CacheDir, gc.Equals, "")
 
729
        err := juju.InitJujuHome()
 
730
        c.Assert(err, gc.IsNil)
 
731
        c.Assert(charm.CacheDir, gc.Equals, filepath.Join(jujuHome, "charmcache"))
 
732
}