github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/provider/vsphere/provider_test.go (about)

     1  // Copyright 2015 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  // +build !gccgo
     5  
     6  package vsphere_test
     7  
     8  import (
     9  	jc "github.com/juju/testing/checkers"
    10  	gc "gopkg.in/check.v1"
    11  
    12  	"github.com/juju/juju/cloud"
    13  	"github.com/juju/juju/environs"
    14  	"github.com/juju/juju/environs/testing"
    15  	"github.com/juju/juju/provider/vsphere"
    16  )
    17  
    18  type providerSuite struct {
    19  	vsphere.BaseSuite
    20  
    21  	provider environs.EnvironProvider
    22  }
    23  
    24  var _ = gc.Suite(&providerSuite{})
    25  
    26  func (s *providerSuite) SetUpTest(c *gc.C) {
    27  	s.BaseSuite.SetUpTest(c)
    28  
    29  	var err error
    30  	s.provider, err = environs.Provider("vsphere")
    31  	c.Check(err, jc.ErrorIsNil)
    32  }
    33  
    34  func (s *providerSuite) TestRegistered(c *gc.C) {
    35  	c.Assert(s.provider, gc.Equals, vsphere.Provider)
    36  }
    37  
    38  func (s *providerSuite) TestOpen(c *gc.C) {
    39  	env, err := s.provider.Open(s.Config)
    40  	c.Check(err, jc.ErrorIsNil)
    41  
    42  	envConfig := env.Config()
    43  	c.Assert(envConfig.Name(), gc.Equals, "testenv")
    44  }
    45  
    46  func (s *providerSuite) TestBootstrapConfig(c *gc.C) {
    47  	cfg, err := s.provider.BootstrapConfig(environs.BootstrapConfigParams{
    48  		Config: s.Config,
    49  		Credentials: cloud.NewCredential(
    50  			cloud.UserPassAuthType,
    51  			map[string]string{"user": "u", "password": "p"},
    52  		),
    53  	})
    54  	c.Check(err, jc.ErrorIsNil)
    55  	c.Check(cfg, gc.NotNil)
    56  }
    57  
    58  func (s *providerSuite) TestPrepareForBootstrap(c *gc.C) {
    59  	env, err := s.provider.PrepareForBootstrap(testing.BootstrapContext(c), s.Config)
    60  	c.Check(err, jc.ErrorIsNil)
    61  	c.Check(env, gc.NotNil)
    62  }
    63  
    64  func (s *providerSuite) TestValidate(c *gc.C) {
    65  	validCfg, err := s.provider.Validate(s.Config, nil)
    66  	c.Check(err, jc.ErrorIsNil)
    67  
    68  	validAttrs := validCfg.AllAttrs()
    69  	c.Assert(s.Config.AllAttrs(), gc.DeepEquals, validAttrs)
    70  }
    71  
    72  func (s *providerSuite) TestSecretAttrs(c *gc.C) {
    73  	obtainedAttrs, err := s.provider.SecretAttrs(s.Config)
    74  	c.Check(err, jc.ErrorIsNil)
    75  
    76  	expectedAttrs := map[string]string{"password": "password1"}
    77  	c.Assert(obtainedAttrs, gc.DeepEquals, expectedAttrs)
    78  
    79  }