| terraform { | |
| required_providers { | |
| testing = { | |
| source = "hashicorp/testing" | |
| version = "0.1.0" | |
| } | |
| } | |
| } | |
| variable "foo" { | |
| type = string | |
| validation { | |
| condition = length(var.foo) > 0 | |
| error_message = "input must not be empty" | |
| } | |
| } | |
| resource "testing_resource" "main" { | |
| id = "test" | |
| value = var.foo | |
| lifecycle { | |
| postcondition { | |
| condition = length(self.value) > 0 | |
| error_message = "value must not be empty" | |
| } | |
| } | |
| } | |
| output "foo" { | |
| value = testing_resource.main.value | |
| precondition { | |
| condition = length(testing_resource.main.value) > 0 | |
| error_message = "value must not be empty" | |
| } | |
| } | |
| check "value_is_baz" { | |
| assert { | |
| condition = testing_resource.main.value == "baz" | |
| error_message = "value must be 'baz'" | |
| } | |
| } |