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

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/provider/joyent/config_internal_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:
4
4
package joyent
5
5
 
6
6
import (
7
 
        "os"
8
 
 
9
7
        gc "gopkg.in/check.v1"
10
8
 
11
9
        coretesting "github.com/juju/juju/testing"
24
22
 
25
23
        e := &environConfig{attrs: copymap(m)}
26
24
 
27
 
        err := ensurePrivateKeyOrPath(e)
28
 
        c.Assert(err, gc.IsNil)
29
 
        c.Assert(e.attrs, gc.DeepEquals, m)
30
 
}
31
 
 
32
 
func (s *InternalSuite) TestEnsurePrivateKeyPathSet(c *gc.C) {
33
 
        // if path is set, func should noop
34
 
        m := map[string]interface{}{
35
 
                "private-key-path": "foo",
36
 
        }
37
 
 
38
 
        e := &environConfig{attrs: copymap(m)}
39
 
 
40
 
        err := ensurePrivateKeyOrPath(e)
41
 
        c.Assert(err, gc.IsNil)
42
 
        c.Assert(e.attrs, gc.DeepEquals, m)
43
 
}
44
 
 
45
 
func (s *InternalSuite) TestEnsurePrivateKeyEnvPath(c *gc.C) {
46
 
        // if path is set in env, use it
47
 
        old := os.Getenv("MANTA_PRIVATE_KEY_FILE")
48
 
        err := os.Setenv("MANTA_PRIVATE_KEY_FILE", "foobar")
49
 
        defer os.Setenv("MANTA_PRIVATE_KEY_FILE", old)
50
 
        c.Assert(err, gc.IsNil)
51
 
 
52
 
        e := &environConfig{attrs: map[string]interface{}{}}
53
 
 
54
 
        err = ensurePrivateKeyOrPath(e)
55
 
        c.Assert(err, gc.IsNil)
56
 
        c.Assert(e.attrs, gc.DeepEquals, map[string]interface{}{
57
 
                "private-key-path": "foobar",
58
 
        })
59
 
}
60
 
 
61
 
func (s *InternalSuite) TestEnsurePrivateKeySet(c *gc.C) {
62
 
        // if key is set, func should noop
63
 
        m := map[string]interface{}{"private-key": "foo"}
64
 
 
65
 
        e := &environConfig{attrs: copymap(m)}
66
 
 
67
 
        err := ensurePrivateKeyOrPath(e)
 
25
        err := ensurePrivateKey(e)
68
26
        c.Assert(err, gc.IsNil)
69
27
        c.Assert(e.attrs, gc.DeepEquals, m)
70
28
}
72
30
func (s *InternalSuite) TestEnsurePrivateKeyMissing(c *gc.C) {
73
31
        e := &environConfig{attrs: map[string]interface{}{}}
74
32
 
75
 
        err := ensurePrivateKeyOrPath(e)
 
33
        err := ensurePrivateKey(e)
76
34
        c.Assert(err, gc.ErrorMatches, "no ssh private key specified in joyent configuration")
77
35
}
78
36