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

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/cmd/juju/cloud/defaultcredential_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 cloud_test
5
5
 
6
6
import (
 
7
        "fmt"
7
8
        "strings"
8
9
 
9
10
        jc "github.com/juju/testing/checkers"
44
45
func (s *defaultCredentialSuite) TestBadCloudName(c *gc.C) {
45
46
        cmd := cloud.NewSetDefaultCredentialCommand()
46
47
        _, err := testing.RunCommand(c, cmd, "somecloud", "us-west-1")
47
 
        c.Assert(err, gc.ErrorMatches, `cloud somecloud not found`)
 
48
        c.Assert(err, gc.ErrorMatches, `cloud somecloud not valid`)
48
49
}
49
50
 
50
 
func (s *defaultCredentialSuite) TestSetDefaultCredential(c *gc.C) {
 
51
func (s *defaultCredentialSuite) assertSetDefaultCredential(c *gc.C, cloudName string) {
51
52
        store := jujuclienttesting.NewMemStore()
52
 
        store.Credentials["aws"] = jujucloud.CloudCredential{
 
53
        store.Credentials[cloudName] = jujucloud.CloudCredential{
53
54
                AuthCredentials: map[string]jujucloud.Credential{
54
55
                        "my-sekrets": {},
55
56
                },
56
57
        }
57
58
        cmd := cloud.NewSetDefaultCredentialCommandForTest(store)
58
 
        ctx, err := testing.RunCommand(c, cmd, "aws", "my-sekrets")
 
59
        ctx, err := testing.RunCommand(c, cmd, cloudName, "my-sekrets")
59
60
        c.Assert(err, jc.ErrorIsNil)
60
61
        output := testing.Stderr(ctx)
61
62
        output = strings.Replace(output, "\n", "", -1)
62
 
        c.Assert(output, gc.Equals, `Default credential for aws set to "my-sekrets".`)
63
 
        c.Assert(store.Credentials["aws"].DefaultCredential, gc.Equals, "my-sekrets")
 
63
        c.Assert(output, gc.Equals, fmt.Sprintf(`Default credential for %s set to "my-sekrets".`, cloudName))
 
64
        c.Assert(store.Credentials[cloudName].DefaultCredential, gc.Equals, "my-sekrets")
 
65
}
 
66
 
 
67
func (s *defaultCredentialSuite) TestSetDefaultCredential(c *gc.C) {
 
68
        s.assertSetDefaultCredential(c, "aws")
 
69
}
 
70
 
 
71
func (s *defaultCredentialSuite) TestSetDefaultCredentialBuiltIn(c *gc.C) {
 
72
        s.assertSetDefaultCredential(c, "maas")
64
73
}