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`)
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{
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")
67
func (s *defaultCredentialSuite) TestSetDefaultCredential(c *gc.C) {
68
s.assertSetDefaultCredential(c, "aws")
71
func (s *defaultCredentialSuite) TestSetDefaultCredentialBuiltIn(c *gc.C) {
72
s.assertSetDefaultCredential(c, "maas")