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  }