~juju-qa/ubuntu/xenial/juju/xenial-2.0-beta3

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/worker/environ/wait_test.go

  • Committer: Martin Packman
  • Date: 2016-03-30 19:31:08 UTC
  • mfrom: (1.1.41)
  • Revision ID: martin.packman@canonical.com-20160330193108-h9iz3ak334uk0z5r
Merge new upstream source 2.0~beta3

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
        jc "github.com/juju/testing/checkers"
11
11
        gc "gopkg.in/check.v1"
12
12
 
 
13
        "github.com/juju/juju/environs"
 
14
        "github.com/juju/juju/environs/config"
13
15
        coretesting "github.com/juju/juju/testing"
14
16
        "github.com/juju/juju/worker/environ"
15
17
        "github.com/juju/juju/worker/workertest"
28
30
                done := make(chan struct{})
29
31
                go func() {
30
32
                        defer close(done)
31
 
                        env, err := environ.WaitForEnviron(context.watcher, nil, abort)
 
33
                        env, err := environ.WaitForEnviron(context.watcher, nil, nil, abort)
32
34
                        c.Check(env, gc.IsNil)
33
35
                        c.Check(err, gc.Equals, environ.ErrWaitAborted)
34
36
                }()
52
54
                done := make(chan struct{})
53
55
                go func() {
54
56
                        defer close(done)
55
 
                        env, err := environ.WaitForEnviron(context.watcher, nil, abort)
 
57
                        env, err := environ.WaitForEnviron(context.watcher, nil, nil, abort)
56
58
                        c.Check(env, gc.IsNil)
57
59
                        c.Check(err, gc.ErrorMatches, "environ config watch closed")
58
60
                }()
80
82
                done := make(chan struct{})
81
83
                go func() {
82
84
                        defer close(done)
83
 
                        env, err := environ.WaitForEnviron(context.watcher, context, abort)
 
85
                        env, err := environ.WaitForEnviron(context.watcher, context, nil, abort)
84
86
                        c.Check(env, gc.IsNil)
85
87
                        c.Check(err, gc.ErrorMatches, "cannot read environ config: biff zonk")
86
88
                }()
101
103
                        "type": "unknown",
102
104
                },
103
105
        }
 
106
        newEnvironFunc := func(cfg *config.Config) (environs.Environ, error) {
 
107
                if cfg.Type() == "unknown" {
 
108
                        return nil, errors.NotValidf("config")
 
109
                }
 
110
                return &mockEnviron{cfg: cfg}, nil
 
111
        }
104
112
        fix.Run(c, func(context *runContext) {
105
113
                abort := make(chan struct{})
106
114
                defer close(abort)
108
116
                done := make(chan struct{})
109
117
                go func() {
110
118
                        defer close(done)
111
 
                        env, err := environ.WaitForEnviron(context.watcher, context, abort)
 
119
                        env, err := environ.WaitForEnviron(context.watcher, context, newEnvironFunc, abort)
112
120
                        if c.Check(err, jc.ErrorIsNil) {
113
121
                                c.Check(env.Config().Name(), gc.Equals, "expected-name")
114
122
                        }