BetterStackHQ / terraform-provider-better-uptime

Apache License 2.0
45 stars 12 forks source link

Add end-to-end tests for Terraform examples #107

Closed PetrHeinz closed 2 weeks ago

PetrHeinz commented 2 weeks ago

Adds end-to-end tests for our examples.

All examples need to be able to run with reasonable variable defaults (only team token should be required). Here I'd used random_id resource as a default for status page URL, and the advanced example requires severity with the name "Low Severity" (created by default by Better Stack, provided in the team used).

The tests revealed that Terraform 0.13 is not supported, updated docs to reflect it (≥0.14). See https://github.com/BetterStackHQ/terraform-provider-better-uptime/actions/runs/9766887794 for details.

E2E tests are set up to run daily, on demand, and in every PR.

PetrHeinz commented 2 weeks ago

I'm not sure why the "make sure Terraform E2E test fails on detected changes" changes have been necessary, as b33c240 should already fail during the terraform plan step due to the --detailed-exitcode flag (should return 2 on changes, Github should fail on non-zero return code). It detected the change during the test run, but failed to fail... Anyway, now it seems to work just nicely.

There is an issue present where the position of a status page section is not stable and subsequent terraform plan requires an update in ~50% of cases.