OLD | NEW |
1 // launchpad.net/juju/go/state | 1 // launchpad.net/juju/go/state |
2 // | 2 // |
3 // Copyright (c) 2011-2012 Canonical Ltd. | 3 // Copyright (c) 2011-2012 Canonical Ltd. |
4 package state_test | 4 package state_test |
5 | 5 |
6 import ( | 6 import ( |
7 "fmt" | 7 "fmt" |
8 . "launchpad.net/gocheck" | 8 . "launchpad.net/gocheck" |
9 "launchpad.net/gozk/zookeeper" | 9 "launchpad.net/gozk/zookeeper" |
10 "launchpad.net/juju/go/charm" | 10 "launchpad.net/juju/go/charm" |
11 "launchpad.net/juju/go/state" | 11 "launchpad.net/juju/go/state" |
| 12 "launchpad.net/juju/go/testing" |
12 "net/url" | 13 "net/url" |
13 "path/filepath" | 14 "path/filepath" |
14 "sort" | 15 "sort" |
15 » "testing" | 16 » stdtesting "testing" |
16 ) | 17 ) |
17 | 18 |
18 // TestPackage integrates the tests into gotest. | 19 // TestPackage integrates the tests into gotest. |
19 func TestPackage(t *testing.T) { | 20 func TestPackage(t *stdtesting.T) { |
20 » srv, dir := state.ZkSetUpEnvironment(t) | 21 » srv := testing.StartZkServer(t) |
21 » defer state.ZkTearDownEnvironment(t, srv, dir) | 22 » defer srv.Destroy() |
22 | 23 » var err error |
| 24 » state.TestingZkAddr, err = srv.Addr() |
| 25 » if err != nil { |
| 26 » » t.Fatalf("could not get zk server address") |
| 27 » } |
23 TestingT(t) | 28 TestingT(t) |
24 } | 29 } |
25 | 30 |
26 // charmDir returns a directory containing the given test charm. | 31 // charmDir returns a directory containing the given test charm. |
27 func charmDir(name string) string { | 32 func charmDir(name string) string { |
28 return filepath.Join("..", "charm", "testrepo", "series", name) | 33 return filepath.Join("..", "charm", "testrepo", "series", name) |
29 } | 34 } |
30 | 35 |
31 // readCharm returns a test charm by its name. | 36 // readCharm returns a test charm by its name. |
32 func readCharm(c *C, name string) charm.Charm { | 37 func readCharm(c *C, name string) charm.Charm { |
(...skipping 26 matching lines...) Expand all Loading... |
59 zkAddr string | 64 zkAddr string |
60 zkConn *zookeeper.Conn | 65 zkConn *zookeeper.Conn |
61 st *state.State | 66 st *state.State |
62 } | 67 } |
63 | 68 |
64 var _ = Suite(&StateSuite{}) | 69 var _ = Suite(&StateSuite{}) |
65 | 70 |
66 func (s *StateSuite) SetUpTest(c *C) { | 71 func (s *StateSuite) SetUpTest(c *C) { |
67 var err error | 72 var err error |
68 s.st, err = state.Open(&state.Info{ | 73 s.st, err = state.Open(&state.Info{ |
69 » » Addrs: []string{state.ZkAddr}, | 74 » » Addrs: []string{state.TestingZkAddr}, |
70 }) | 75 }) |
71 c.Assert(err, IsNil) | 76 c.Assert(err, IsNil) |
72 err = s.st.Initialize() | 77 err = s.st.Initialize() |
73 c.Assert(err, IsNil) | 78 c.Assert(err, IsNil) |
74 s.zkConn = state.ZkConn(s.st) | 79 s.zkConn = state.ZkConn(s.st) |
75 } | 80 } |
76 | 81 |
77 func (s *StateSuite) TearDownTest(c *C) { | 82 func (s *StateSuite) TearDownTest(c *C) { |
78 // Delete possible nodes, ignore errors. | 83 // Delete possible nodes, ignore errors. |
79 zkRemoveTree(s.zkConn, "/topology") | 84 zkRemoveTree(s.zkConn, "/topology") |
(...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
662 c.Assert(err, IsNil) | 667 c.Assert(err, IsNil) |
663 | 668 |
664 _, err = wordpressUnit.AssignToUnusedMachine() | 669 _, err = wordpressUnit.AssignToUnusedMachine() |
665 c.Assert(err, ErrorMatches, "no unused machine found") | 670 c.Assert(err, ErrorMatches, "no unused machine found") |
666 } | 671 } |
667 | 672 |
668 func (s StateSuite) TestAssignUnitToUnusedMachineNoneAvailable(c *C) { | 673 func (s StateSuite) TestAssignUnitToUnusedMachineNoneAvailable(c *C) { |
669 // Create machine 0, that shouldn't be used. | 674 // Create machine 0, that shouldn't be used. |
670 _, err := s.st.AddMachine() | 675 _, err := s.st.AddMachine() |
671 c.Assert(err, IsNil) | 676 c.Assert(err, IsNil) |
672 » // Check that assigning without unused machine fails.» | 677 » // Check that assigning without unused machine fails. |
673 dummy, _ := addDummyCharm(c, s.st) | 678 dummy, _ := addDummyCharm(c, s.st) |
674 mysqlService, err := s.st.AddService("mysql", dummy) | 679 mysqlService, err := s.st.AddService("mysql", dummy) |
675 c.Assert(err, IsNil) | 680 c.Assert(err, IsNil) |
676 mysqlUnit, err := mysqlService.AddUnit() | 681 mysqlUnit, err := mysqlService.AddUnit() |
677 c.Assert(err, IsNil) | 682 c.Assert(err, IsNil) |
678 mysqlMachine, err := s.st.AddMachine() | 683 mysqlMachine, err := s.st.AddMachine() |
679 c.Assert(err, IsNil) | 684 c.Assert(err, IsNil) |
680 err = mysqlUnit.AssignToMachine(mysqlMachine) | 685 err = mysqlUnit.AssignToMachine(mysqlMachine) |
681 c.Assert(err, IsNil) | 686 c.Assert(err, IsNil) |
682 | 687 |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
834 return err | 839 return err |
835 } | 840 } |
836 for _, child := range children { | 841 for _, child := range children { |
837 if err = zkRemoveTree(zk, fmt.Sprintf("%s/%s", path, child)); er
r != nil { | 842 if err = zkRemoveTree(zk, fmt.Sprintf("%s/%s", path, child)); er
r != nil { |
838 return err | 843 return err |
839 } | 844 } |
840 } | 845 } |
841 // Now delete the path itself. | 846 // Now delete the path itself. |
842 return zk.Delete(path, -1) | 847 return zk.Delete(path, -1) |
843 } | 848 } |
OLD | NEW |