fix schemas and add deposed test
The schemas for provider and the resources didn't match, so the changes were not going to be rendered at all. Add a test which contains a deposed resource.
This commit is contained in:
parent
cebbc8b246
commit
aae642fb07
|
@ -121,14 +121,14 @@ func TestOperation_planNoChanges(t *testing.T) {
|
||||||
state.SetResourceInstanceCurrent(
|
state.SetResourceInstanceCurrent(
|
||||||
addrs.Resource{
|
addrs.Resource{
|
||||||
Mode: addrs.ManagedResourceMode,
|
Mode: addrs.ManagedResourceMode,
|
||||||
Type: "something",
|
Type: "test_resource",
|
||||||
Name: "somewhere",
|
Name: "somewhere",
|
||||||
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
||||||
&states.ResourceInstanceObjectSrc{
|
&states.ResourceInstanceObjectSrc{
|
||||||
Status: states.ObjectReady,
|
Status: states.ObjectReady,
|
||||||
AttrsJSON: []byte(`{}`),
|
AttrsJSON: []byte(`{}`),
|
||||||
},
|
},
|
||||||
addrs.RootModuleInstance.ProviderConfigDefault(addrs.NewBuiltInProvider("test")),
|
addrs.RootModuleInstance.ProviderConfigDefault(addrs.NewDefaultProvider("test")),
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
PriorState: states.NewState(),
|
PriorState: states.NewState(),
|
||||||
|
@ -136,6 +136,69 @@ func TestOperation_planNoChanges(t *testing.T) {
|
||||||
},
|
},
|
||||||
"to update the Terraform state to match, create and apply a refresh-only plan",
|
"to update the Terraform state to match, create and apply a refresh-only plan",
|
||||||
},
|
},
|
||||||
|
"drift detected with deposed": {
|
||||||
|
func(schemas *terraform.Schemas) *plans.Plan {
|
||||||
|
return &plans.Plan{
|
||||||
|
UIMode: plans.NormalMode,
|
||||||
|
Changes: plans.NewChanges(),
|
||||||
|
PrevRunState: states.BuildState(func(state *states.SyncState) {
|
||||||
|
state.SetResourceInstanceCurrent(
|
||||||
|
addrs.Resource{
|
||||||
|
Mode: addrs.ManagedResourceMode,
|
||||||
|
Type: "test_resource",
|
||||||
|
Name: "changes",
|
||||||
|
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
||||||
|
&states.ResourceInstanceObjectSrc{
|
||||||
|
Status: states.ObjectReady,
|
||||||
|
AttrsJSON: []byte(`{"foo":"b"}`),
|
||||||
|
},
|
||||||
|
addrs.RootModuleInstance.ProviderConfigDefault(addrs.NewDefaultProvider("test")),
|
||||||
|
)
|
||||||
|
state.SetResourceInstanceDeposed(
|
||||||
|
addrs.Resource{
|
||||||
|
Mode: addrs.ManagedResourceMode,
|
||||||
|
Type: "test_resource",
|
||||||
|
Name: "broken",
|
||||||
|
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
||||||
|
states.NewDeposedKey(),
|
||||||
|
&states.ResourceInstanceObjectSrc{
|
||||||
|
Status: states.ObjectReady,
|
||||||
|
AttrsJSON: []byte(`{"foo":"c"}`),
|
||||||
|
},
|
||||||
|
addrs.RootModuleInstance.ProviderConfigDefault(addrs.NewDefaultProvider("test")),
|
||||||
|
)
|
||||||
|
}),
|
||||||
|
PriorState: states.BuildState(func(state *states.SyncState) {
|
||||||
|
state.SetResourceInstanceCurrent(
|
||||||
|
addrs.Resource{
|
||||||
|
Mode: addrs.ManagedResourceMode,
|
||||||
|
Type: "test_resource",
|
||||||
|
Name: "changed",
|
||||||
|
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
||||||
|
&states.ResourceInstanceObjectSrc{
|
||||||
|
Status: states.ObjectReady,
|
||||||
|
AttrsJSON: []byte(`{"foo":"b"}`),
|
||||||
|
},
|
||||||
|
addrs.RootModuleInstance.ProviderConfigDefault(addrs.NewDefaultProvider("test")),
|
||||||
|
)
|
||||||
|
state.SetResourceInstanceDeposed(
|
||||||
|
addrs.Resource{
|
||||||
|
Mode: addrs.ManagedResourceMode,
|
||||||
|
Type: "test_resource",
|
||||||
|
Name: "broken",
|
||||||
|
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
||||||
|
states.NewDeposedKey(),
|
||||||
|
&states.ResourceInstanceObjectSrc{
|
||||||
|
Status: states.ObjectReady,
|
||||||
|
AttrsJSON: []byte(`{"foo":"d"}`),
|
||||||
|
},
|
||||||
|
addrs.RootModuleInstance.ProviderConfigDefault(addrs.NewDefaultProvider("test")),
|
||||||
|
)
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"to update the Terraform state to match, create and apply a refresh-only plan",
|
||||||
|
},
|
||||||
"drift detected in refresh-only mode": {
|
"drift detected in refresh-only mode": {
|
||||||
func(schemas *terraform.Schemas) *plans.Plan {
|
func(schemas *terraform.Schemas) *plans.Plan {
|
||||||
return &plans.Plan{
|
return &plans.Plan{
|
||||||
|
@ -145,14 +208,14 @@ func TestOperation_planNoChanges(t *testing.T) {
|
||||||
state.SetResourceInstanceCurrent(
|
state.SetResourceInstanceCurrent(
|
||||||
addrs.Resource{
|
addrs.Resource{
|
||||||
Mode: addrs.ManagedResourceMode,
|
Mode: addrs.ManagedResourceMode,
|
||||||
Type: "something",
|
Type: "test_resource",
|
||||||
Name: "somewhere",
|
Name: "somewhere",
|
||||||
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
||||||
&states.ResourceInstanceObjectSrc{
|
&states.ResourceInstanceObjectSrc{
|
||||||
Status: states.ObjectReady,
|
Status: states.ObjectReady,
|
||||||
AttrsJSON: []byte(`{}`),
|
AttrsJSON: []byte(`{}`),
|
||||||
},
|
},
|
||||||
addrs.RootModuleInstance.ProviderConfigDefault(addrs.NewBuiltInProvider("test")),
|
addrs.RootModuleInstance.ProviderConfigDefault(addrs.NewDefaultProvider("test")),
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
PriorState: states.NewState(),
|
PriorState: states.NewState(),
|
||||||
|
@ -169,14 +232,14 @@ func TestOperation_planNoChanges(t *testing.T) {
|
||||||
state.SetResourceInstanceCurrent(
|
state.SetResourceInstanceCurrent(
|
||||||
addrs.Resource{
|
addrs.Resource{
|
||||||
Mode: addrs.ManagedResourceMode,
|
Mode: addrs.ManagedResourceMode,
|
||||||
Type: "something",
|
Type: "test_resource",
|
||||||
Name: "somewhere",
|
Name: "somewhere",
|
||||||
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
||||||
&states.ResourceInstanceObjectSrc{
|
&states.ResourceInstanceObjectSrc{
|
||||||
Status: states.ObjectReady,
|
Status: states.ObjectReady,
|
||||||
AttrsJSON: []byte(`{}`),
|
AttrsJSON: []byte(`{}`),
|
||||||
},
|
},
|
||||||
addrs.RootModuleInstance.ProviderConfigDefault(addrs.NewBuiltInProvider("test")),
|
addrs.RootModuleInstance.ProviderConfigDefault(addrs.NewDefaultProvider("test")),
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
PriorState: states.NewState(),
|
PriorState: states.NewState(),
|
||||||
|
|
Loading…
Reference in New Issue