terraform/internal/command/e2etest
Martin Atkins 01b22f4b76 command/e2etest: TestProviderTampering
We have various mechanisms that aim to ensure that the installed provider
plugins are consistent with the lock file and that the lock file is
consistent with the provider requirements, and we do have existing unit
tests for them, but all of those cases mock our fake out at least part of
the process and in the past that's caused us to miss usability
regressions, where we still catch the error but do so at the wrong layer
and thus generate error message lacking useful additional context.

Here we'll add some new end-to-end tests to supplement the existing unit
tests, making sure things work as expected when we assemble the system
together as we would in a release. These tests cover a number of different
ways in which the plugin selections can grow inconsistent.

These new tests all run only when we're in a context where we're allowed
to access the network, because they exercise the real plugin installer
codepath. We could technically build this to use a local filesystem mirror
or other such override to avoid that, but the point here is to make sure
we see the expected behavior in the main case, and so it's worth the
small additional cost of downloading the null provider from the real
registry.
2021-10-05 10:59:59 -07:00
..
testdata command/e2etest: TestProviderTampering 2021-10-05 10:59:59 -07:00
.gitignore Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
automation_test.go Move plans/ to internal/plans/ 2021-05-17 14:09:07 -07:00
doc.go Update various non-code references to renamed Go packages 2021-05-17 14:09:07 -07:00
init_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
main_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
make-archive.sh Update various non-code references to renamed Go packages 2021-05-17 14:09:07 -07:00
primary_test.go Move plans/ to internal/plans/ 2021-05-17 14:09:07 -07:00
provider_dev_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
provider_plugin_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
providers_mirror_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
providers_tamper_test.go command/e2etest: TestProviderTampering 2021-10-05 10:59:59 -07:00
provisioner_plugin_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
provisioner_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
remote_state_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
strip_ansi.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
unmanaged_test.go terraform: use ProtocolVersion from unmanaged providers' reattachConfig to chose the correct PluginClient (#28190) 2021-05-18 10:59:14 -04:00
version_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00