@@ -204,13 +204,26 @@ func TestMarshalPlanResources(t *testing.T) {
204204 }},
205205 Err : false ,
206206 },
207- "delete" : {
207+ "delete with null and nil " : {
208208 Action : plans .Delete ,
209209 Before : cty .NullVal (cty .EmptyObject ),
210210 After : cty .NilVal ,
211211 Want : nil ,
212212 Err : false ,
213213 },
214+ "delete" : {
215+ Action : plans .Delete ,
216+ Before : cty .ObjectVal (map [string ]cty.Value {
217+ "woozles" : cty .StringVal ("foo" ),
218+ "foozles" : cty .StringVal ("bar" ),
219+ }),
220+ After : cty .NullVal (cty .Object (map [string ]cty.Type {
221+ "woozles" : cty .String ,
222+ "foozles" : cty .String ,
223+ })),
224+ Want : nil ,
225+ Err : false ,
226+ },
214227 "update without unknowns" : {
215228 Action : plans .Update ,
216229 Before : cty .ObjectVal (map [string ]cty.Value {
@@ -291,6 +304,39 @@ func TestMarshalPlanResources(t *testing.T) {
291304 }
292305}
293306
307+ func TestMarshalPlanValuesNoopDeposed (t * testing.T ) {
308+ dynamicNull , err := plans .NewDynamicValue (cty .NullVal (cty .DynamicPseudoType ), cty .DynamicPseudoType )
309+ if err != nil {
310+ t .Fatal (err )
311+ }
312+ testChange := & plans.Changes {
313+ Resources : []* plans.ResourceInstanceChangeSrc {
314+ {
315+ Addr : addrs.Resource {
316+ Mode : addrs .ManagedResourceMode ,
317+ Type : "test_thing" ,
318+ Name : "example" ,
319+ }.Instance (addrs .NoKey ).Absolute (addrs .RootModuleInstance ),
320+ DeposedKey : "12345678" ,
321+ ProviderAddr : addrs.AbsProviderConfig {
322+ Provider : addrs .NewDefaultProvider ("test" ),
323+ Module : addrs .RootModule ,
324+ },
325+ ChangeSrc : plans.ChangeSrc {
326+ Action : plans .NoOp ,
327+ Before : dynamicNull ,
328+ After : dynamicNull ,
329+ },
330+ },
331+ },
332+ }
333+
334+ _ , err = marshalPlannedValues (testChange , testSchemas ())
335+ if err != nil {
336+ t .Fatal (err )
337+ }
338+ }
339+
294340func testSchemas () * terraform.Schemas {
295341 return & terraform.Schemas {
296342 Providers : map [addrs.Provider ]* terraform.ProviderSchema {
0 commit comments