From 552686dceee768e9466fd8da9d5bae2574106488 Mon Sep 17 00:00:00 2001 From: Piotr Kazmierczak <470696+pkazmierczak@users.noreply.github.com> Date: Wed, 31 Jul 2024 12:09:20 +0200 Subject: [PATCH] depends_on and better checks --- nomad/resource_namespace_test.go | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/nomad/resource_namespace_test.go b/nomad/resource_namespace_test.go index a54acea1..03129056 100644 --- a/nomad/resource_namespace_test.go +++ b/nomad/resource_namespace_test.go @@ -141,11 +141,17 @@ func TestResourceNamespace_deleteNSWithQuota(t *testing.T) { Steps: []resource.TestStep{ { Config: testResourceNamespace_configWithQuota(nsName, quotaName), - Check: testResourceNamespace_initialCheck(nsName), + Check: resource.ComposeTestCheckFunc( + testResourceNamespace_initialCheck(nsName), + testResourceNamespaceWithQuota_check(nsName, quotaName), + ), }, }, - CheckDestroy: testResourceNamespace_checkDestroy(nsName), + CheckDestroy: resource.ComposeTestCheckFunc( + testResourceNamespace_checkDestroy(nsName), + testResourceQuotaSpecification_checkDestroy(quotaName), + ), }) } @@ -245,6 +251,7 @@ resource "nomad_namespace" "test" { name = "%[1]s" description = "A Terraform acctest namespace" quota = "%[2]s" + depends_on = "test_quota" meta = { key = "value", @@ -317,6 +324,21 @@ func testResourceNamespace_initialCheck(name string) resource.TestCheckFunc { } } +func testResourceNamespaceWithQuota_check(name, quota string) resource.TestCheckFunc { + return func(s *terraform.State) error { + client := testProvider.Meta().(ProviderConfig).client + namespace, _, err := client.Namespaces().Info(name, nil) + if err != nil { + return fmt.Errorf("error reading back namespace %q: %s", name, err) + } + + if namespace.Quota != quota { + return fmt.Errorf("expected quota spec to be %q, is %q in API", quota, namespace.Quota) + } + return nil + } +} + func testResourceNamespace_checkExists(name string) resource.TestCheckFunc { return func(s *terraform.State) error { client := testProvider.Meta().(ProviderConfig).client