command: tests pass
This commit is contained in:
parent
718fb42f4b
commit
a36b3e1ec5
|
@ -11,7 +11,6 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/config"
|
|
||||||
"github.com/hashicorp/terraform/terraform"
|
"github.com/hashicorp/terraform/terraform"
|
||||||
"github.com/mitchellh/cli"
|
"github.com/mitchellh/cli"
|
||||||
)
|
)
|
||||||
|
@ -246,7 +245,7 @@ func TestApply_noArgs(t *testing.T) {
|
||||||
|
|
||||||
func TestApply_plan(t *testing.T) {
|
func TestApply_plan(t *testing.T) {
|
||||||
planPath := testPlanFile(t, &terraform.Plan{
|
planPath := testPlanFile(t, &terraform.Plan{
|
||||||
Config: new(config.Config),
|
Module: testModule(t, "apply"),
|
||||||
})
|
})
|
||||||
statePath := testTempFile(t)
|
statePath := testTempFile(t)
|
||||||
|
|
||||||
|
@ -294,7 +293,7 @@ func TestApply_planWithVarFile(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
planPath := testPlanFile(t, &terraform.Plan{
|
planPath := testPlanFile(t, &terraform.Plan{
|
||||||
Config: new(config.Config),
|
Module: testModule(t, "apply"),
|
||||||
})
|
})
|
||||||
statePath := testTempFile(t)
|
statePath := testTempFile(t)
|
||||||
|
|
||||||
|
@ -345,7 +344,7 @@ func TestApply_planWithVarFile(t *testing.T) {
|
||||||
|
|
||||||
func TestApply_planVars(t *testing.T) {
|
func TestApply_planVars(t *testing.T) {
|
||||||
planPath := testPlanFile(t, &terraform.Plan{
|
planPath := testPlanFile(t, &terraform.Plan{
|
||||||
Config: new(config.Config),
|
Module: testModule(t, "apply"),
|
||||||
})
|
})
|
||||||
statePath := testTempFile(t)
|
statePath := testTempFile(t)
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/config/module"
|
||||||
"github.com/hashicorp/terraform/terraform"
|
"github.com/hashicorp/terraform/terraform"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -22,6 +23,18 @@ func init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func tempDir(t *testing.T) string {
|
||||||
|
dir, err := ioutil.TempDir("", "tf")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("err: %s", err)
|
||||||
|
}
|
||||||
|
if err := os.RemoveAll(dir); err != nil {
|
||||||
|
t.Fatalf("err: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return dir
|
||||||
|
}
|
||||||
|
|
||||||
func testFixturePath(name string) string {
|
func testFixturePath(name string) string {
|
||||||
return filepath.Join(fixtureDir, name)
|
return filepath.Join(fixtureDir, name)
|
||||||
}
|
}
|
||||||
|
@ -36,6 +49,20 @@ func testCtxConfig(p terraform.ResourceProvider) *terraform.ContextOpts {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testModule(t *testing.T, name string) *module.Tree {
|
||||||
|
mod, err := module.NewTreeModule("", filepath.Join(fixtureDir, name))
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("err: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
s := &module.FolderStorage{StorageDir: tempDir(t)}
|
||||||
|
if err := mod.Load(s, module.GetModeGet); err != nil {
|
||||||
|
t.Fatalf("err: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return mod
|
||||||
|
}
|
||||||
|
|
||||||
func testPlanFile(t *testing.T, plan *terraform.Plan) string {
|
func testPlanFile(t *testing.T, plan *terraform.Plan) string {
|
||||||
path := testTempFile(t)
|
path := testTempFile(t)
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/config"
|
|
||||||
"github.com/hashicorp/terraform/terraform"
|
"github.com/hashicorp/terraform/terraform"
|
||||||
"github.com/mitchellh/cli"
|
"github.com/mitchellh/cli"
|
||||||
)
|
)
|
||||||
|
@ -81,7 +80,7 @@ func TestGraph_noArgs(t *testing.T) {
|
||||||
|
|
||||||
func TestGraph_plan(t *testing.T) {
|
func TestGraph_plan(t *testing.T) {
|
||||||
planPath := testPlanFile(t, &terraform.Plan{
|
planPath := testPlanFile(t, &terraform.Plan{
|
||||||
Config: new(config.Config),
|
Module: testModule(t, "graph"),
|
||||||
})
|
})
|
||||||
|
|
||||||
ui := new(cli.MockUi)
|
ui := new(cli.MockUi)
|
||||||
|
|
|
@ -3,7 +3,7 @@ package command
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/config"
|
"github.com/hashicorp/terraform/config/module"
|
||||||
"github.com/hashicorp/terraform/terraform"
|
"github.com/hashicorp/terraform/terraform"
|
||||||
"github.com/mitchellh/cli"
|
"github.com/mitchellh/cli"
|
||||||
)
|
)
|
||||||
|
@ -43,7 +43,7 @@ func TestShow_noArgs(t *testing.T) {
|
||||||
|
|
||||||
func TestShow_plan(t *testing.T) {
|
func TestShow_plan(t *testing.T) {
|
||||||
planPath := testPlanFile(t, &terraform.Plan{
|
planPath := testPlanFile(t, &terraform.Plan{
|
||||||
Config: new(config.Config),
|
Module: new(module.Tree),
|
||||||
})
|
})
|
||||||
|
|
||||||
ui := new(cli.MockUi)
|
ui := new(cli.MockUi)
|
||||||
|
|
|
@ -120,6 +120,10 @@ func (r *Resource) Id() string {
|
||||||
|
|
||||||
// Validate does some basic semantic checking of the configuration.
|
// Validate does some basic semantic checking of the configuration.
|
||||||
func (c *Config) Validate() error {
|
func (c *Config) Validate() error {
|
||||||
|
if c == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
var errs []error
|
var errs []error
|
||||||
|
|
||||||
for _, k := range c.unknownKeys {
|
for _, k := range c.unknownKeys {
|
||||||
|
|
|
@ -58,6 +58,13 @@ func TestConfigValidate_dupResource(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestConfigValidate_nil(t *testing.T) {
|
||||||
|
var c Config
|
||||||
|
if err := c.Validate(); err != nil {
|
||||||
|
t.Fatalf("err: %s", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestConfigValidate_outputBadField(t *testing.T) {
|
func TestConfigValidate_outputBadField(t *testing.T) {
|
||||||
c := testConfig(t, "validate-output-bad-field")
|
c := testConfig(t, "validate-output-bad-field")
|
||||||
if err := c.Validate(); err == nil {
|
if err := c.Validate(); err == nil {
|
||||||
|
|
|
@ -215,15 +215,17 @@ func (c *Context) Stop() {
|
||||||
func (c *Context) Validate() ([]string, []error) {
|
func (c *Context) Validate() ([]string, []error) {
|
||||||
var rerr *multierror.Error
|
var rerr *multierror.Error
|
||||||
|
|
||||||
|
if config := c.module.Config(); config != nil {
|
||||||
// Validate the configuration itself
|
// Validate the configuration itself
|
||||||
if err := c.module.Config().Validate(); err != nil {
|
if err := config.Validate(); err != nil {
|
||||||
rerr = multierror.ErrorAppend(rerr, err)
|
rerr = multierror.ErrorAppend(rerr, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate the user variables
|
// Validate the user variables
|
||||||
if errs := smcUserVariables(c.module.Config(), c.variables); len(errs) > 0 {
|
if errs := smcUserVariables(config, c.variables); len(errs) > 0 {
|
||||||
rerr = multierror.ErrorAppend(rerr, errs...)
|
rerr = multierror.ErrorAppend(rerr, errs...)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Validate the graph
|
// Validate the graph
|
||||||
g, err := c.graph()
|
g, err := c.graph()
|
||||||
|
|
Loading…
Reference in New Issue