terraform: verify refresh is called on import

This commit is contained in:
Mitchell Hashimoto 2016-04-28 19:28:23 +02:00
parent 59e498dba8
commit 0ab0ccf5b3
No known key found for this signature in database
GPG Key ID: 744E147AA52F5B0A
1 changed files with 48 additions and 0 deletions

View File

@ -39,8 +39,56 @@ func TestContextImport_basic(t *testing.T) {
} }
} }
func TestContextImport_refresh(t *testing.T) {
p := testProvider("aws")
ctx := testContext2(t, &ContextOpts{
Providers: map[string]ResourceProviderFactory{
"aws": testProviderFuncFixed(p),
},
})
p.ImportStateReturn = []*InstanceState{
&InstanceState{
ID: "foo",
Ephemeral: EphemeralState{Type: "aws_instance"},
},
}
p.RefreshFn = func(info *InstanceInfo, s *InstanceState) (*InstanceState, error) {
return &InstanceState{
ID: "foo",
Attributes: map[string]string{"foo": "bar"},
}, nil
}
state, err := ctx.Import(&ImportOpts{
Targets: []*ImportTarget{
&ImportTarget{
Addr: "aws_instance.foo",
ID: "bar",
},
},
})
if err != nil {
t.Fatalf("err: %s", err)
}
actual := strings.TrimSpace(state.String())
expected := strings.TrimSpace(testImportRefreshStr)
if actual != expected {
t.Fatalf("bad: \n%s", actual)
}
}
const testImportStr = ` const testImportStr = `
aws_instance.foo: aws_instance.foo:
ID = foo ID = foo
provider = aws provider = aws
` `
const testImportRefreshStr = `
aws_instance.foo:
ID = foo
provider = aws
foo = bar
`