OLD | NEW |
1 package zookeeper_test | 1 package zookeeper_test |
2 | 2 |
3 import ( | 3 import ( |
4 "errors" | 4 "errors" |
5 . "launchpad.net/gocheck" | 5 . "launchpad.net/gocheck" |
6 zk "launchpad.net/gozk/zookeeper" | 6 zk "launchpad.net/gozk/zookeeper" |
7 ) | 7 ) |
8 | 8 |
9 func (s *S) TestRetryChangeCreating(c *C) { | 9 func (s *S) TestRetryChangeCreating(c *C) { |
10 conn, _ := s.init(c) | 10 conn, _ := s.init(c) |
11 | 11 |
12 err := conn.RetryChange("/test", zk.EPHEMERAL, zk.WorldACL(zk.PERM_ALL), | 12 err := conn.RetryChange("/test", zk.EPHEMERAL, zk.WorldACL(zk.PERM_ALL), |
13 func(data string, stat *zk.Stat) (string, error) { | 13 func(data string, stat *zk.Stat) (string, error) { |
14 c.Assert(data, Equals, "") | 14 c.Assert(data, Equals, "") |
15 c.Assert(stat, IsNil) | 15 c.Assert(stat, IsNil) |
16 return "new", nil | 16 return "new", nil |
17 }) | 17 }) |
18 c.Assert(err, IsNil) | 18 c.Assert(err, IsNil) |
19 | 19 |
20 data, stat, err := conn.Get("/test") | 20 data, stat, err := conn.Get("/test") |
21 c.Assert(err, IsNil) | 21 c.Assert(err, IsNil) |
22 c.Assert(stat, NotNil) | 22 c.Assert(stat, NotNil) |
23 c.Assert(stat.Version(), Equals, 0) | 23 c.Assert(stat.Version(), Equals, 0) |
24 c.Assert(data, Equals, "new") | 24 c.Assert(data, Equals, "new") |
25 | 25 |
26 acl, _, err := conn.ACL("/test") | 26 acl, _, err := conn.ACL("/test") |
27 c.Assert(err, IsNil) | 27 c.Assert(err, IsNil) |
28 » c.Assert(acl, Equals, zk.WorldACL(zk.PERM_ALL)) | 28 » c.Assert(acl, DeepEquals, zk.WorldACL(zk.PERM_ALL)) |
29 } | 29 } |
30 | 30 |
31 func (s *S) TestRetryChangeSetting(c *C) { | 31 func (s *S) TestRetryChangeSetting(c *C) { |
32 conn, _ := s.init(c) | 32 conn, _ := s.init(c) |
33 | 33 |
34 _, err := conn.Create("/test", "old", zk.EPHEMERAL, zk.WorldACL(zk.PERM_
ALL)) | 34 _, err := conn.Create("/test", "old", zk.EPHEMERAL, zk.WorldACL(zk.PERM_
ALL)) |
35 c.Assert(err, IsNil) | 35 c.Assert(err, IsNil) |
36 | 36 |
37 err = conn.RetryChange("/test", zk.EPHEMERAL, []zk.ACL{}, | 37 err = conn.RetryChange("/test", zk.EPHEMERAL, []zk.ACL{}, |
38 func(data string, stat *zk.Stat) (string, error) { | 38 func(data string, stat *zk.Stat) (string, error) { |
39 c.Assert(data, Equals, "old") | 39 c.Assert(data, Equals, "old") |
40 c.Assert(stat, NotNil) | 40 c.Assert(stat, NotNil) |
41 c.Assert(stat.Version(), Equals, 0) | 41 c.Assert(stat.Version(), Equals, 0) |
42 return "brand new", nil | 42 return "brand new", nil |
43 }) | 43 }) |
44 c.Assert(err, IsNil) | 44 c.Assert(err, IsNil) |
45 | 45 |
46 data, stat, err := conn.Get("/test") | 46 data, stat, err := conn.Get("/test") |
47 c.Assert(err, IsNil) | 47 c.Assert(err, IsNil) |
48 c.Assert(stat, NotNil) | 48 c.Assert(stat, NotNil) |
49 c.Assert(stat.Version(), Equals, 1) | 49 c.Assert(stat.Version(), Equals, 1) |
50 c.Assert(data, Equals, "brand new") | 50 c.Assert(data, Equals, "brand new") |
51 | 51 |
52 // ACL was unchanged by RetryChange(). | 52 // ACL was unchanged by RetryChange(). |
53 acl, _, err := conn.ACL("/test") | 53 acl, _, err := conn.ACL("/test") |
54 c.Assert(err, IsNil) | 54 c.Assert(err, IsNil) |
55 » c.Assert(acl, Equals, zk.WorldACL(zk.PERM_ALL)) | 55 » c.Assert(acl, DeepEquals, zk.WorldACL(zk.PERM_ALL)) |
56 } | 56 } |
57 | 57 |
58 func (s *S) TestRetryChangeUnchangedValueDoesNothing(c *C) { | 58 func (s *S) TestRetryChangeUnchangedValueDoesNothing(c *C) { |
59 conn, _ := s.init(c) | 59 conn, _ := s.init(c) |
60 | 60 |
61 _, err := conn.Create("/test", "old", zk.EPHEMERAL, zk.WorldACL(zk.PERM_
ALL)) | 61 _, err := conn.Create("/test", "old", zk.EPHEMERAL, zk.WorldACL(zk.PERM_
ALL)) |
62 c.Assert(err, IsNil) | 62 c.Assert(err, IsNil) |
63 | 63 |
64 err = conn.RetryChange("/test", zk.EPHEMERAL, []zk.ACL{}, | 64 err = conn.RetryChange("/test", zk.EPHEMERAL, []zk.ACL{}, |
65 func(data string, stat *zk.Stat) (string, error) { | 65 func(data string, stat *zk.Stat) (string, error) { |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 | 170 |
171 data, stat, err := conn.Get("/test") | 171 data, stat, err := conn.Get("/test") |
172 c.Assert(err, IsNil) | 172 c.Assert(err, IsNil) |
173 c.Assert(data, Equals, "<deleted> => new") | 173 c.Assert(data, Equals, "<deleted> => new") |
174 c.Assert(stat, NotNil) | 174 c.Assert(stat, NotNil) |
175 c.Assert(stat.Version(), Equals, 0) | 175 c.Assert(stat.Version(), Equals, 0) |
176 | 176 |
177 // Should be the new ACL. | 177 // Should be the new ACL. |
178 acl, _, err := conn.ACL("/test") | 178 acl, _, err := conn.ACL("/test") |
179 c.Assert(err, IsNil) | 179 c.Assert(err, IsNil) |
180 » c.Assert(acl, Equals, zk.WorldACL(zk.PERM_READ)) | 180 » c.Assert(acl, DeepEquals, zk.WorldACL(zk.PERM_READ)) |
181 } | 181 } |
182 | 182 |
183 func (s *S) TestRetryChangeErrorInCallback(c *C) { | 183 func (s *S) TestRetryChangeErrorInCallback(c *C) { |
184 conn, _ := s.init(c) | 184 conn, _ := s.init(c) |
185 | 185 |
186 err := conn.RetryChange("/test", zk.EPHEMERAL, zk.WorldACL(zk.PERM_ALL), | 186 err := conn.RetryChange("/test", zk.EPHEMERAL, zk.WorldACL(zk.PERM_ALL), |
187 func(data string, stat *zk.Stat) (string, error) { | 187 func(data string, stat *zk.Stat) (string, error) { |
188 return "don't use this", errors.New("BOOM!") | 188 return "don't use this", errors.New("BOOM!") |
189 }) | 189 }) |
190 c.Assert(err, NotNil) | 190 c.Assert(err, NotNil) |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 }) | 257 }) |
258 c.Assert(err, NotNil) | 258 c.Assert(err, NotNil) |
259 c.Assert(err, Equals, zk.ZNOAUTH) | 259 c.Assert(err, Equals, zk.ZNOAUTH) |
260 | 260 |
261 stat, err := conn.Exists("/test/sub") | 261 stat, err := conn.Exists("/test/sub") |
262 c.Assert(err, IsNil) | 262 c.Assert(err, IsNil) |
263 c.Assert(stat, IsNil) | 263 c.Assert(stat, IsNil) |
264 | 264 |
265 c.Assert(called, Equals, true) | 265 c.Assert(called, Equals, true) |
266 } | 266 } |
OLD | NEW |