|
|
|
|
@ -960,6 +960,58 @@ func TestApply_varFileDefault(t *testing.T) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestApply_varFileDefaultJSON(t *testing.T) {
|
|
|
|
|
varFileDir := testTempDir(t)
|
|
|
|
|
varFilePath := filepath.Join(varFileDir, "terraform.tfvars.json")
|
|
|
|
|
if err := ioutil.WriteFile(varFilePath, []byte(applyVarFileJSON), 0644); err != nil {
|
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
statePath := testTempFile(t)
|
|
|
|
|
|
|
|
|
|
cwd, err := os.Getwd()
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
|
}
|
|
|
|
|
if err := os.Chdir(varFileDir); err != nil {
|
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
|
}
|
|
|
|
|
defer os.Chdir(cwd)
|
|
|
|
|
|
|
|
|
|
p := testProvider()
|
|
|
|
|
ui := new(cli.MockUi)
|
|
|
|
|
c := &ApplyCommand{
|
|
|
|
|
Meta: Meta{
|
|
|
|
|
ContextOpts: testCtxConfig(p),
|
|
|
|
|
Ui: ui,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
actual := ""
|
|
|
|
|
p.DiffFn = func(
|
|
|
|
|
info *terraform.InstanceInfo,
|
|
|
|
|
s *terraform.InstanceState,
|
|
|
|
|
c *terraform.ResourceConfig) (*terraform.InstanceDiff, error) {
|
|
|
|
|
if v, ok := c.Config["value"]; ok {
|
|
|
|
|
actual = v.(string)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &terraform.InstanceDiff{}, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
args := []string{
|
|
|
|
|
"-state", statePath,
|
|
|
|
|
testFixturePath("apply-vars"),
|
|
|
|
|
}
|
|
|
|
|
if code := c.Run(args); code != 0 {
|
|
|
|
|
t.Fatalf("bad: %d\n\n%s", code, ui.ErrorWriter.String())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if actual != "bar" {
|
|
|
|
|
t.Fatal("didn't work")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestApply_backup(t *testing.T) {
|
|
|
|
|
originalState := &terraform.State{
|
|
|
|
|
Modules: []*terraform.ModuleState{
|
|
|
|
|
@ -1150,6 +1202,10 @@ const applyVarFile = `
|
|
|
|
|
foo = "bar"
|
|
|
|
|
`
|
|
|
|
|
|
|
|
|
|
const applyVarFileJSON = `
|
|
|
|
|
{ "foo": "bar" }
|
|
|
|
|
`
|
|
|
|
|
|
|
|
|
|
const testApplyDisableBackupStr = `
|
|
|
|
|
ID = bar
|
|
|
|
|
`
|
|
|
|
|
|