From e25c06c6735f0cc1d15a990a0b71c2b5e42ad429 Mon Sep 17 00:00:00 2001 From: Syasusu Date: Wed, 13 Mar 2024 18:45:45 +0100 Subject: [PATCH] Fix: improve unit test coverage for ProvisionerBlock decode (#1324) Signed-off-by: Syasusu --- .../configs/testdata/error-files/destroy-provisioners.tf | 2 ++ .../error-files/duplicate-block-in-provisioner.tf | 9 +++++++++ .../error-files/invalid-keyword-in-provisioner.tf | 7 +++++++ 3 files changed, 18 insertions(+) create mode 100644 internal/configs/testdata/error-files/duplicate-block-in-provisioner.tf create mode 100644 internal/configs/testdata/error-files/invalid-keyword-in-provisioner.tf diff --git a/internal/configs/testdata/error-files/destroy-provisioners.tf b/internal/configs/testdata/error-files/destroy-provisioners.tf index 4831b5302f..d4e34dae9d 100644 --- a/internal/configs/testdata/error-files/destroy-provisioners.tf +++ b/internal/configs/testdata/error-files/destroy-provisioners.tf @@ -10,6 +10,7 @@ resource "null_resource" "a" { provisioner "remote-exec" { when = destroy + on_failure = continue index = count.index key = each.key @@ -34,6 +35,7 @@ resource "null_resource" "b" { resource "null_resource" "b" { provisioner "remote-exec" { when = destroy + on_failure = fail connection { host = self.hostname user = local.user # ERROR: Invalid reference from destroy provisioner diff --git a/internal/configs/testdata/error-files/duplicate-block-in-provisioner.tf b/internal/configs/testdata/error-files/duplicate-block-in-provisioner.tf new file mode 100644 index 0000000000..70526eb30e --- /dev/null +++ b/internal/configs/testdata/error-files/duplicate-block-in-provisioner.tf @@ -0,0 +1,9 @@ +resource "null_resource" "a" { + provisioner "local-exec" { + connection {} + connection {} # ERROR: Duplicate connection block + + _ {} + _ {} # ERROR: Duplicate escaping block + } +} \ No newline at end of file diff --git a/internal/configs/testdata/error-files/invalid-keyword-in-provisioner.tf b/internal/configs/testdata/error-files/invalid-keyword-in-provisioner.tf new file mode 100644 index 0000000000..2fffcc1e9e --- /dev/null +++ b/internal/configs/testdata/error-files/invalid-keyword-in-provisioner.tf @@ -0,0 +1,7 @@ +resource "null_resource" "a" { + provisioner "local-exec" { + when = invalid # ERROR: Invalid "when" keyword + on_failure = invalid # ERROR: Invalid "on_failure" keyword + lifecycle {} # ERROR: Reserved block type name in provisioner block + } +} \ No newline at end of file