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

Side by Side Diff: state/api/api_test.go

Issue 7327050: state: Machine.InstanceId returns bool
Patch Set: state: Machine.InstanceId returns bool Created 12 years, 2 months 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
OLDNEW
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
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
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
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 }
OLDNEW

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