github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/provider/joyent/credentials_test.go (about)

     1  // Copyright 2016 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package joyent_test
     5  
     6  import (
     7  	"github.com/juju/errors"
     8  	"github.com/juju/testing"
     9  	jc "github.com/juju/testing/checkers"
    10  	gc "gopkg.in/check.v1"
    11  
    12  	"github.com/juju/juju/environs"
    13  	envtesting "github.com/juju/juju/environs/testing"
    14  )
    15  
    16  type credentialsSuite struct {
    17  	testing.IsolationSuite
    18  	provider environs.EnvironProvider
    19  }
    20  
    21  var _ = gc.Suite(&credentialsSuite{})
    22  
    23  func (s *credentialsSuite) SetUpTest(c *gc.C) {
    24  	s.IsolationSuite.SetUpTest(c)
    25  
    26  	var err error
    27  	s.provider, err = environs.Provider("joyent")
    28  	c.Assert(err, jc.ErrorIsNil)
    29  }
    30  
    31  func (s *credentialsSuite) TestCredentialSchemas(c *gc.C) {
    32  	envtesting.AssertProviderAuthTypes(c, s.provider, "userpass")
    33  }
    34  
    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",
    41  	})
    42  }
    43  
    44  func (s *credentialsSuite) TestUserPassHiddenAttributes(c *gc.C) {
    45  	envtesting.AssertProviderCredentialsAttributesHidden(c, s.provider, "userpass", "private-key")
    46  }
    47  
    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)
    52  }