github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/state/status_util_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package state_test 5 6 import ( 7 jc "github.com/juju/testing/checkers" 8 gc "gopkg.in/check.v1" 9 10 "github.com/juju/juju/state" 11 "github.com/juju/juju/status" 12 ) 13 14 type statusHistoryFunc func(int) ([]status.StatusInfo, error) 15 16 func checkInitialWorkloadStatus(c *gc.C, statusInfo status.StatusInfo) { 17 c.Check(statusInfo.Status, gc.Equals, status.StatusUnknown) 18 c.Check(statusInfo.Message, gc.Equals, "Waiting for agent initialization to finish") 19 c.Check(statusInfo.Data, gc.HasLen, 0) 20 c.Check(statusInfo.Since, gc.NotNil) 21 } 22 23 func primeUnitStatusHistory(c *gc.C, unit *state.Unit, count int) { 24 for i := 0; i < count; i++ { 25 err := unit.SetStatus(status.StatusActive, "", map[string]interface{}{"$foo": i}) 26 c.Assert(err, gc.IsNil) 27 } 28 } 29 30 func checkPrimedUnitStatus(c *gc.C, statusInfo status.StatusInfo, expect int) { 31 c.Check(statusInfo.Status, gc.Equals, status.StatusActive) 32 c.Check(statusInfo.Message, gc.Equals, "") 33 c.Check(statusInfo.Data, jc.DeepEquals, map[string]interface{}{"$foo": expect}) 34 c.Check(statusInfo.Since, gc.NotNil) 35 } 36 37 func checkInitialUnitAgentStatus(c *gc.C, statusInfo status.StatusInfo) { 38 c.Check(statusInfo.Status, gc.Equals, status.StatusAllocating) 39 c.Check(statusInfo.Message, gc.Equals, "") 40 c.Check(statusInfo.Data, gc.HasLen, 0) 41 c.Assert(statusInfo.Since, gc.NotNil) 42 } 43 44 func primeUnitAgentStatusHistory(c *gc.C, agent *state.UnitAgent, count int) { 45 for i := 0; i < count; i++ { 46 err := agent.SetStatus(status.StatusExecuting, "", map[string]interface{}{"$bar": i}) 47 c.Assert(err, gc.IsNil) 48 } 49 } 50 51 func checkPrimedUnitAgentStatus(c *gc.C, statusInfo status.StatusInfo, expect int) { 52 c.Check(statusInfo.Status, gc.Equals, status.StatusExecuting) 53 c.Check(statusInfo.Message, gc.Equals, "") 54 c.Check(statusInfo.Data, jc.DeepEquals, map[string]interface{}{"$bar": expect}) 55 c.Check(statusInfo.Since, gc.NotNil) 56 }