1
// Copyright 2016 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
7
"github.com/juju/errors"
8
"github.com/juju/testing"
9
jc "github.com/juju/testing/checkers"
10
gc "gopkg.in/check.v1"
12
"github.com/juju/juju/environs"
13
envtesting "github.com/juju/juju/environs/testing"
16
type credentialsSuite struct {
17
testing.IsolationSuite
18
provider environs.EnvironProvider
21
var _ = gc.Suite(&credentialsSuite{})
23
func (s *credentialsSuite) SetUpTest(c *gc.C) {
24
s.IsolationSuite.SetUpTest(c)
27
s.provider, err = environs.Provider("joyent")
28
c.Assert(err, jc.ErrorIsNil)
31
func (s *credentialsSuite) TestCredentialSchemas(c *gc.C) {
32
envtesting.AssertProviderAuthTypes(c, s.provider, "userpass")
35
func (s *credentialsSuite) TestUserPassCredentialsValid(c *gc.C) {
36
envtesting.AssertProviderCredentialsValid(c, s.provider, "userpass", map[string]string{
37
"sdc-user": "sdc-user",
38
"sdc-key-id": "sdc-key-id",
39
"private-key": "private-key",
40
"algorithm": "rsa-sha256",
44
func (s *credentialsSuite) TestUserPassHiddenAttributes(c *gc.C) {
45
envtesting.AssertProviderCredentialsAttributesHidden(c, s.provider, "userpass", "private-key")
48
func (s *credentialsSuite) TestDetectCredentialsNotFound(c *gc.C) {
49
// No environment variables set, so no credentials should be found.
50
_, err := s.provider.DetectCredentials()
51
c.Assert(err, jc.Satisfies, errors.IsNotFound)