github.com/Pankov404/juju@v0.0.0-20150703034450-be266991dceb/worker/uniter/relation/livesource_test.go (about)

     1  // Copyright 2012-2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package relation_test
     5  
     6  import (
     7  	jc "github.com/juju/testing/checkers"
     8  	gc "gopkg.in/check.v1"
     9  
    10  	"github.com/juju/juju/state/multiwatcher"
    11  	"github.com/juju/juju/worker/uniter/relation"
    12  )
    13  
    14  type LiveSourceSuite struct{}
    15  
    16  var _ = gc.Suite(&LiveSourceSuite{})
    17  
    18  func (s *LiveSourceSuite) TestLiveHookSource(c *gc.C) {
    19  	for i, t := range aliveHookQueueTests {
    20  		c.Logf("test %d: %s", i, t.summary)
    21  		ruw := &RUW{make(chan multiwatcher.RelationUnitsChange), false}
    22  		q := relation.NewLiveHookSource(t.initial, ruw)
    23  		for i, step := range t.steps {
    24  			c.Logf("  step %d", i)
    25  			step.checkDirect(c, q)
    26  		}
    27  		expect{}.checkDirect(c, q)
    28  		q.Stop()
    29  		c.Assert(ruw.stopped, jc.IsTrue)
    30  	}
    31  }