pulumi/pkg/backend/httpstate
Will Jones 26ae5768a8
Factor out the lifecycle testing framework (#17584)
Lifecycle tests exist to test the Pulumi engine, allowing us to mock
providers and programs and resource registrations before executing
specific operations. We'd like to extend our lifecycle test suite to
support fuzzing the engine -- that is, generating test cases to exercise
edge cases that we might otherwise struggle to find manually. Presently,
the framework underpinning the lifecycle tests is defined in a single
`test_plan.go` module that sits alongside the `_test.go` files
themselves. This means that it's not really possible to factor out or
neatly extend the framework (e.g. by adding a `fuzzing` submodule)
without introducing circular imports (since tests in `lifecycletest`
will import `fuzzing`, which imports the framework from
`lifecycletest`).

This commit therefore pulls out `test_plan.go` into a dedicated
`framework` submodule, which is now explicitly imported and used by
existing tests. It also adapts the framework slightly to define the
subset of `testing.T` functionality it needs more precisely, so that
when the time comes for us to fuzz we can e.g. pass a `rapid.T` just as
easily. No behavioural changes are made to the tests themselves -- this
is purely a structural change to facilitate subsequent work on fuzzing.
2024-10-28 11:58:59 +00:00
..
client Add explanations about features to improve UX (#17307) 2024-09-26 14:40:51 +00:00
testdata [snapshot] Use a newer diff package 2023-05-16 12:33:30 -07:00
backend.go Respect existing stack configuration when initialising secret managers (#17465) 2024-10-03 15:40:39 +00:00
backend_test.go Let `Backend.CreateStack` accept an initial state (#17369) 2024-09-26 08:00:52 +00:00
console.go Add support for a PULUMI_CONSOLE_DOMAIN env var (#4410) 2020-04-17 11:50:00 -07:00
console_test.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
diffs.go Clean up uses of .Error() (#14965) 2023-12-20 15:54:06 +00:00
diffs_post_1.20.go Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
diffs_pre_1.20.go [snapshot] Use a newer diff package 2023-05-16 12:33:30 -07:00
doc.go Document Go packages (#6009) 2021-01-11 11:07:59 -07:00
environments.go Merge ESC Projects feature branch (#17226) 2024-09-10 23:08:09 +00:00
mock.go Update pu/pu to support deployment run command (#16492) 2024-07-01 14:18:44 +00:00
policypack.go Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
snapshot.go Lift context parameter to SerializeDeployment/Resource/Operations/Properties (#15929) 2024-04-15 07:45:46 +00:00
snapshot_test.go Factor out the lifecycle testing framework (#17584) 2024-10-28 11:58:59 +00:00
stack.go Enable some more linting rules (#17456) 2024-10-03 17:37:13 +00:00
state.go Keep the token source loop going in the face of errors (#17519) 2024-10-08 15:16:04 +00:00
token_source.go Keep the token source loop going in the face of errors (#17519) 2024-10-08 15:16:04 +00:00
token_source_test.go make sure the token source test is not flaky (#17545) 2024-10-14 08:44:41 +00:00