Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1040)

Side by Side Diff: state/state_test.go

Issue 5786051: Move ZK test server setup into its own package
Patch Set: Move ZK test server setup into its own package Created 12 years ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « state/internal_test.go ('k') | testing/zk.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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 }
OLDNEW
« no previous file with comments | « state/internal_test.go ('k') | testing/zk.go » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b