OLD | NEW |
1 package api_test | 1 package api_test |
2 | 2 |
3 import ( | 3 import ( |
4 "fmt" | 4 "fmt" |
5 . "launchpad.net/gocheck" | 5 . "launchpad.net/gocheck" |
6 "launchpad.net/juju-core/juju/testing" | 6 "launchpad.net/juju-core/juju/testing" |
7 "launchpad.net/juju-core/rpc" | 7 "launchpad.net/juju-core/rpc" |
8 "launchpad.net/juju-core/state" | 8 "launchpad.net/juju-core/state" |
9 "launchpad.net/juju-core/state/api" | 9 "launchpad.net/juju-core/state/api" |
10 coretesting "launchpad.net/juju-core/testing" | 10 coretesting "launchpad.net/juju-core/testing" |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 setDefaultPassword(c, u) | 131 setDefaultPassword(c, u) |
132 }, nil | 132 }, nil |
133 } | 133 } |
134 } | 134 } |
135 | 135 |
136 func opGetMachine1(c *C, st *api.State) (func(), error) { | 136 func opGetMachine1(c *C, st *api.State) (func(), error) { |
137 m, err := st.Machine("1") | 137 m, err := st.Machine("1") |
138 if err != nil { | 138 if err != nil { |
139 c.Check(m, IsNil) | 139 c.Check(m, IsNil) |
140 } else { | 140 } else { |
141 » » name, err := m.InstanceId() | 141 » » name, ok := m.InstanceId() |
142 » » c.Assert(err, IsNil) | 142 » » c.Assert(ok, Equals, true) |
143 c.Assert(name, Equals, "i-machine-1") | 143 c.Assert(name, Equals, "i-machine-1") |
144 } | 144 } |
145 return func() {}, err | 145 return func() {}, err |
146 } | 146 } |
147 | 147 |
148 func opMachine1SetPassword(c *C, st *api.State) (func(), error) { | 148 func opMachine1SetPassword(c *C, st *api.State) (func(), error) { |
149 m, err := st.Machine("1") | 149 m, err := st.Machine("1") |
150 if err != nil { | 150 if err != nil { |
151 c.Check(m, IsNil) | 151 c.Check(m, IsNil) |
152 return func() {}, err | 152 return func() {}, err |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 info.EntityName = stm.EntityName() | 377 info.EntityName = stm.EntityName() |
378 info.Password = "machine-password" | 378 info.Password = "machine-password" |
379 | 379 |
380 st, err := api.Open(info) | 380 st, err := api.Open(info) |
381 c.Assert(err, IsNil) | 381 c.Assert(err, IsNil) |
382 defer st.Close() | 382 defer st.Close() |
383 | 383 |
384 m, err := st.Machine(stm.Id()) | 384 m, err := st.Machine(stm.Id()) |
385 c.Assert(err, IsNil) | 385 c.Assert(err, IsNil) |
386 | 386 |
387 » instId, err := m.InstanceId() | 387 » instId, ok := m.InstanceId() |
388 » c.Assert(err, IsNil) | 388 » c.Assert(ok, Equals, true) |
389 c.Assert(instId, Equals, "i-foo") | 389 c.Assert(instId, Equals, "i-foo") |
390 } | 390 } |
391 | 391 |
392 func (s *suite) TestMachineInstanceId(c *C) { | 392 func (s *suite) TestMachineInstanceId(c *C) { |
393 stm, err := s.State.AddMachine(state.JobHostUnits) | 393 stm, err := s.State.AddMachine(state.JobHostUnits) |
394 c.Assert(err, IsNil) | 394 c.Assert(err, IsNil) |
395 setDefaultPassword(c, stm) | 395 setDefaultPassword(c, stm) |
396 | 396 |
397 // Normal users can't access Machines... | 397 // Normal users can't access Machines... |
398 m, err := s.APIState.Machine(stm.Id()) | 398 m, err := s.APIState.Machine(stm.Id()) |
399 c.Assert(err, ErrorMatches, "permission denied") | 399 c.Assert(err, ErrorMatches, "permission denied") |
400 c.Assert(m, IsNil) | 400 c.Assert(m, IsNil) |
401 | 401 |
402 // ... so login as the machine. | 402 // ... so login as the machine. |
403 st := s.openAs(c, stm.EntityName()) | 403 st := s.openAs(c, stm.EntityName()) |
404 | 404 |
405 m, err = st.Machine(stm.Id()) | 405 m, err = st.Machine(stm.Id()) |
406 c.Assert(err, IsNil) | 406 c.Assert(err, IsNil) |
407 | 407 |
408 » instId, err := m.InstanceId() | 408 » instId, ok := m.InstanceId() |
409 c.Check(instId, Equals, "") | 409 c.Check(instId, Equals, "") |
410 » c.Check(err, ErrorMatches, "instance id for machine 0 not found") | 410 » c.Check(ok, Equals, false) |
411 | 411 |
412 err = stm.SetInstanceId("foo") | 412 err = stm.SetInstanceId("foo") |
413 c.Assert(err, IsNil) | 413 c.Assert(err, IsNil) |
414 | 414 |
415 » instId, err = m.InstanceId() | 415 » instId, ok = m.InstanceId() |
416 c.Check(instId, Equals, "") | 416 c.Check(instId, Equals, "") |
417 » c.Check(err, ErrorMatches, "instance id for machine 0 not found") | 417 » c.Check(ok, Equals, false) |
418 | 418 |
419 err = m.Refresh() | 419 err = m.Refresh() |
420 c.Assert(err, IsNil) | 420 c.Assert(err, IsNil) |
421 | 421 |
422 » instId, err = m.InstanceId() | 422 » instId, ok = m.InstanceId() |
423 » c.Assert(err, IsNil) | 423 » c.Check(ok, Equals, true) |
424 c.Assert(instId, Equals, "foo") | 424 c.Assert(instId, Equals, "foo") |
425 } | 425 } |
426 | 426 |
427 func (s *suite) TestMachineRefresh(c *C) { | 427 func (s *suite) TestMachineRefresh(c *C) { |
428 stm, err := s.State.AddMachine(state.JobHostUnits) | 428 stm, err := s.State.AddMachine(state.JobHostUnits) |
429 c.Assert(err, IsNil) | 429 c.Assert(err, IsNil) |
430 setDefaultPassword(c, stm) | 430 setDefaultPassword(c, stm) |
431 err = stm.SetInstanceId("foo") | 431 err = stm.SetInstanceId("foo") |
432 c.Assert(err, IsNil) | 432 c.Assert(err, IsNil) |
433 | 433 |
434 st := s.openAs(c, stm.EntityName()) | 434 st := s.openAs(c, stm.EntityName()) |
435 m, err := st.Machine(stm.Id()) | 435 m, err := st.Machine(stm.Id()) |
436 c.Assert(err, IsNil) | 436 c.Assert(err, IsNil) |
437 | 437 |
438 » instId, err := m.InstanceId() | 438 » instId, ok := m.InstanceId() |
439 » c.Assert(err, IsNil) | 439 » c.Assert(ok, Equals, true) |
440 c.Assert(instId, Equals, "foo") | 440 c.Assert(instId, Equals, "foo") |
441 | 441 |
442 err = stm.SetInstanceId("bar") | 442 err = stm.SetInstanceId("bar") |
443 c.Assert(err, IsNil) | 443 c.Assert(err, IsNil) |
444 | 444 |
445 » instId, err = m.InstanceId() | 445 » instId, ok = m.InstanceId() |
446 » c.Assert(err, IsNil) | 446 » c.Assert(ok, Equals, true) |
447 c.Assert(instId, Equals, "foo") | 447 c.Assert(instId, Equals, "foo") |
448 | 448 |
449 err = m.Refresh() | 449 err = m.Refresh() |
450 c.Assert(err, IsNil) | 450 c.Assert(err, IsNil) |
451 | 451 |
452 » instId, err = m.InstanceId() | 452 » instId, ok = m.InstanceId() |
453 » c.Assert(err, IsNil) | 453 » c.Assert(ok, Equals, true) |
454 c.Assert(instId, Equals, "bar") | 454 c.Assert(instId, Equals, "bar") |
455 } | 455 } |
456 | 456 |
457 func (s *suite) TestMachineSetPassword(c *C) { | 457 func (s *suite) TestMachineSetPassword(c *C) { |
458 stm, err := s.State.AddMachine(state.JobHostUnits) | 458 stm, err := s.State.AddMachine(state.JobHostUnits) |
459 c.Assert(err, IsNil) | 459 c.Assert(err, IsNil) |
460 setDefaultPassword(c, stm) | 460 setDefaultPassword(c, stm) |
461 | 461 |
462 st := s.openAs(c, stm.EntityName()) | 462 st := s.openAs(c, stm.EntityName()) |
463 m, err := st.Machine(stm.Id()) | 463 m, err := st.Machine(stm.Id()) |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
567 _, info, err := s.APIConn.Environ.StateInfo() | 567 _, info, err := s.APIConn.Environ.StateInfo() |
568 c.Assert(err, IsNil) | 568 c.Assert(err, IsNil) |
569 info.EntityName = entityName | 569 info.EntityName = entityName |
570 info.Password = fmt.Sprintf("%s password", entityName) | 570 info.Password = fmt.Sprintf("%s password", entityName) |
571 c.Logf("opening state; entity %q; password %q", info.EntityName, info.Pa
ssword) | 571 c.Logf("opening state; entity %q; password %q", info.EntityName, info.Pa
ssword) |
572 st, err := api.Open(info) | 572 st, err := api.Open(info) |
573 c.Assert(err, IsNil) | 573 c.Assert(err, IsNil) |
574 c.Assert(st, NotNil) | 574 c.Assert(st, NotNil) |
575 return st | 575 return st |
576 } | 576 } |
OLD | NEW |