pulumi/pkg/engine/lifecycletest
Fraser Waters 035a502d86
Verify partial journals in engine tests (#15018)
<!--- 
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->

# Description

<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->

This updates test_plan.go to verify that every partial snapshot is also
a valid snapshot. This tests that the journal always writes out _valid_
snapshots even for scenarios where an update only partially ran.

While doing this it flagged up that the validation code was wrong for
delete-before-create resources.

When we do a delete-before-create replacement we need to leave the
"being replaced" resource in the snapshot. This is because while that
resource is being replaced it might have dependents that are not being
replaced, and so there is a period of time where _it_ is deleted but
dependents are still referring to it. If we removed it from the snapshot
at this point those dependent resources would not validate.

But in the case of two resources both being delete-before-create
replaced you can have a scenario where both get deleted (but are still
in the snapshot file) and the first then gets created thus removing it's
old entry from the snapshot file and adding it's new state. If the first
resource was a provider that will change it's ID, thus making the
provider reference in the second resource now look invalid.
2024-01-05 23:16:40 +00:00
..
alias_test.go Update golangci-lint (#14624) 2023-11-21 15:16:13 +00:00
analyzer_test.go Update golangci-lint (#14624) 2023-11-21 15:16:13 +00:00
delete_before_replace_test.go Update golangci-lint (#14624) 2023-11-21 15:16:13 +00:00
golang_sdk_test.go Refactor transformation tests and add Go test (#14851) 2023-12-16 14:06:27 +00:00
import_test.go Enable perfsprint linter (#14813) 2023-12-12 12:19:42 +00:00
pending_delete_test.go Update golangci-lint (#14624) 2023-11-21 15:16:13 +00:00
provider_test.go Update golangci-lint (#14624) 2023-11-21 15:16:13 +00:00
pulumi_test.go Validate journal close in test_plan (#15027) 2024-01-03 17:32:13 +00:00
refresh_test.go Update golangci-lint (#14624) 2023-11-21 15:16:13 +00:00
resource_reference_test.go Update golangci-lint (#14624) 2023-11-21 15:16:13 +00:00
source_query_test.go [test] increase code coverage of `pkg/resource/deploy` (#14771) 2023-12-10 21:29:37 +00:00
step_generator_test.go [test] increase code coverage of `pkg/resource/deploy` (#14771) 2023-12-10 21:29:37 +00:00
target_test.go Fix handling of delete failures for targeted destroys (#14735) 2023-12-05 17:19:10 +00:00
test_plan.go Verify partial journals in engine tests (#15018) 2024-01-05 23:16:40 +00:00
update_plan_test.go Update golangci-lint (#14624) 2023-11-21 15:16:13 +00:00