OLD | NEW |
1 package uniter | 1 package uniter |
2 | 2 |
3 import ( | 3 import ( |
4 "fmt" | 4 "fmt" |
5 . "launchpad.net/gocheck" | 5 . "launchpad.net/gocheck" |
6 "launchpad.net/juju-core/charm" | 6 "launchpad.net/juju-core/charm" |
7 "launchpad.net/juju-core/juju/testing" | 7 "launchpad.net/juju-core/juju/testing" |
8 "launchpad.net/juju-core/state" | 8 "launchpad.net/juju-core/state" |
9 "launchpad.net/juju-core/state/api/params" | 9 "launchpad.net/juju-core/state/api/params" |
10 "launchpad.net/juju-core/worker" | 10 "launchpad.net/juju-core/worker" |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 s.State.StartSync() | 48 s.State.StartSync() |
49 select { | 49 select { |
50 case <-time.After(50 * time.Millisecond): | 50 case <-time.After(50 * time.Millisecond): |
51 case <-f.UnitDying(): | 51 case <-f.UnitDying(): |
52 c.Fatalf("unexpected receive") | 52 c.Fatalf("unexpected receive") |
53 } | 53 } |
54 } | 54 } |
55 assertNotClosed() | 55 assertNotClosed() |
56 | 56 |
57 // Irrelevant change. | 57 // Irrelevant change. |
58 » err = s.unit.SetResolved(params.ResolvedRetryHooks) | 58 » err = s.unit.SetResolved(state.ResolvedRetryHooks) |
59 c.Assert(err, IsNil) | 59 c.Assert(err, IsNil) |
60 assertNotClosed() | 60 assertNotClosed() |
61 | 61 |
62 // Set dying. | 62 // Set dying. |
63 err = s.unit.Destroy() | 63 err = s.unit.Destroy() |
64 c.Assert(err, IsNil) | 64 c.Assert(err, IsNil) |
65 assertClosed := func() { | 65 assertClosed := func() { |
66 s.State.StartSync() | 66 s.State.StartSync() |
67 select { | 67 select { |
68 case <-time.After(50 * time.Millisecond): | 68 case <-time.After(50 * time.Millisecond): |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 // Request an event; no interesting event is available. | 141 // Request an event; no interesting event is available. |
142 f.WantResolvedEvent() | 142 f.WantResolvedEvent() |
143 assertNoChange() | 143 assertNoChange() |
144 | 144 |
145 // Change the unit in an irrelevant way; no events. | 145 // Change the unit in an irrelevant way; no events. |
146 err = s.unit.SetStatus(params.UnitError, "blarg") | 146 err = s.unit.SetStatus(params.UnitError, "blarg") |
147 c.Assert(err, IsNil) | 147 c.Assert(err, IsNil) |
148 assertNoChange() | 148 assertNoChange() |
149 | 149 |
150 // Change the unit's resolved to an interesting value; new event receive
d. | 150 // Change the unit's resolved to an interesting value; new event receive
d. |
151 » err = s.unit.SetResolved(params.ResolvedRetryHooks) | 151 » err = s.unit.SetResolved(state.ResolvedRetryHooks) |
152 c.Assert(err, IsNil) | 152 c.Assert(err, IsNil) |
153 » assertChange := func(expect params.ResolvedMode) { | 153 » assertChange := func(expect state.ResolvedMode) { |
154 s.State.Sync() | 154 s.State.Sync() |
155 select { | 155 select { |
156 case rm := <-f.ResolvedEvents(): | 156 case rm := <-f.ResolvedEvents(): |
157 c.Assert(rm, Equals, expect) | 157 c.Assert(rm, Equals, expect) |
158 case <-time.After(50 * time.Millisecond): | 158 case <-time.After(50 * time.Millisecond): |
159 c.Fatalf("timed out") | 159 c.Fatalf("timed out") |
160 } | 160 } |
161 } | 161 } |
162 » assertChange(params.ResolvedRetryHooks) | 162 » assertChange(state.ResolvedRetryHooks) |
163 assertNoChange() | 163 assertNoChange() |
164 | 164 |
165 // Request a few events, and change the unit a few times; when | 165 // Request a few events, and change the unit a few times; when |
166 // we finally receive, only the most recent state is sent. | 166 // we finally receive, only the most recent state is sent. |
167 f.WantResolvedEvent() | 167 f.WantResolvedEvent() |
168 err = s.unit.ClearResolved() | 168 err = s.unit.ClearResolved() |
169 c.Assert(err, IsNil) | 169 c.Assert(err, IsNil) |
170 f.WantResolvedEvent() | 170 f.WantResolvedEvent() |
171 » err = s.unit.SetResolved(params.ResolvedNoHooks) | 171 » err = s.unit.SetResolved(state.ResolvedNoHooks) |
172 c.Assert(err, IsNil) | 172 c.Assert(err, IsNil) |
173 f.WantResolvedEvent() | 173 f.WantResolvedEvent() |
174 » assertChange(params.ResolvedNoHooks) | 174 » assertChange(state.ResolvedNoHooks) |
175 assertNoChange() | 175 assertNoChange() |
176 } | 176 } |
177 | 177 |
178 func (s *FilterSuite) TestCharmUpgradeEvents(c *C) { | 178 func (s *FilterSuite) TestCharmUpgradeEvents(c *C) { |
179 oldCharm := s.AddTestingCharm(c, "upgrade1") | 179 oldCharm := s.AddTestingCharm(c, "upgrade1") |
180 svc, err := s.State.AddService("upgradetest", oldCharm) | 180 svc, err := s.State.AddService("upgradetest", oldCharm) |
181 c.Assert(err, IsNil) | 181 c.Assert(err, IsNil) |
182 unit, err := svc.AddUnit() | 182 unit, err := svc.AddUnit() |
183 c.Assert(err, IsNil) | 183 c.Assert(err, IsNil) |
184 | 184 |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
429 c.Assert(err, IsNil) | 429 c.Assert(err, IsNil) |
430 svcName := fmt.Sprintf("mysql%d", len(rels)) | 430 svcName := fmt.Sprintf("mysql%d", len(rels)) |
431 _, err = s.State.AddService(svcName, s.mysqlcharm) | 431 _, err = s.State.AddService(svcName, s.mysqlcharm) |
432 c.Assert(err, IsNil) | 432 c.Assert(err, IsNil) |
433 eps, err := s.State.InferEndpoints([]string{svcName, "wordpress"}) | 433 eps, err := s.State.InferEndpoints([]string{svcName, "wordpress"}) |
434 c.Assert(err, IsNil) | 434 c.Assert(err, IsNil) |
435 rel, err := s.State.AddRelation(eps...) | 435 rel, err := s.State.AddRelation(eps...) |
436 c.Assert(err, IsNil) | 436 c.Assert(err, IsNil) |
437 return rel | 437 return rel |
438 } | 438 } |
OLD | NEW |