~nskaggs/+junk/xenial-test

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/state/stateenvirons/config_test.go

  • Committer: Nicholas Skaggs
  • Date: 2016-10-24 20:56:05 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161024205605-z8lta0uvuhtxwzwl
Initi with beta15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2016 Canonical Ltd.
 
2
// Licensed under the AGPLv3, see LICENCE file for details.
 
3
 
 
4
package stateenvirons_test
 
5
 
 
6
import (
 
7
        jc "github.com/juju/testing/checkers"
 
8
        gc "gopkg.in/check.v1"
 
9
 
 
10
        "github.com/juju/juju/cloud"
 
11
        "github.com/juju/juju/environs"
 
12
        "github.com/juju/juju/state/stateenvirons"
 
13
        statetesting "github.com/juju/juju/state/testing"
 
14
        "github.com/juju/juju/testing/factory"
 
15
)
 
16
 
 
17
type environSuite struct {
 
18
        statetesting.StateSuite
 
19
}
 
20
 
 
21
var _ = gc.Suite(&environSuite{})
 
22
 
 
23
func (s *environSuite) TestGetNewEnvironFunc(c *gc.C) {
 
24
        var calls int
 
25
        var callArgs environs.OpenParams
 
26
        newEnviron := func(args environs.OpenParams) (environs.Environ, error) {
 
27
                calls++
 
28
                callArgs = args
 
29
                return nil, nil
 
30
        }
 
31
        stateenvirons.GetNewEnvironFunc(newEnviron)(s.State)
 
32
        c.Assert(calls, gc.Equals, 1)
 
33
 
 
34
        cfg, err := s.State.ModelConfig()
 
35
        c.Assert(err, jc.ErrorIsNil)
 
36
        c.Assert(callArgs.Config, jc.DeepEquals, cfg)
 
37
}
 
38
 
 
39
func (s *environSuite) TestCloudSpec(c *gc.C) {
 
40
        owner := s.Factory.MakeUser(c, nil).UserTag()
 
41
        emptyCredential := cloud.NewEmptyCredential()
 
42
        err := s.State.UpdateCloudCredentials(owner, "dummy", map[string]cloud.Credential{
 
43
                "empty-credential": emptyCredential,
 
44
        })
 
45
        c.Assert(err, jc.ErrorIsNil)
 
46
 
 
47
        st := s.Factory.MakeModel(c, &factory.ModelParams{
 
48
                Name:            "foo",
 
49
                CloudName:       "dummy",
 
50
                CloudCredential: "empty-credential",
 
51
                Owner:           owner,
 
52
        })
 
53
        defer st.Close()
 
54
 
 
55
        emptyCredential.Label = "empty-credential"
 
56
        cloudSpec, err := stateenvirons.EnvironConfigGetter{st}.CloudSpec(st.ModelTag())
 
57
        c.Assert(err, jc.ErrorIsNil)
 
58
        c.Assert(cloudSpec, jc.DeepEquals, environs.CloudSpec{
 
59
                Type:       "dummy",
 
60
                Name:       "dummy",
 
61
                Credential: &emptyCredential,
 
62
        })
 
63
}