github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/orchestration/v1/stackresources_test.go (about) 1 //go:build acceptance 2 // +build acceptance 3 4 package v1 5 6 import ( 7 "testing" 8 9 "github.com/gophercloud/gophercloud/internal/acceptance/clients" 10 "github.com/gophercloud/gophercloud/internal/acceptance/tools" 11 "github.com/gophercloud/gophercloud/openstack/orchestration/v1/stackresources" 12 th "github.com/gophercloud/gophercloud/testhelper" 13 ) 14 15 func TestStackResources(t *testing.T) { 16 client, err := clients.NewOrchestrationV1Client() 17 th.AssertNoErr(t, err) 18 19 stack, err := CreateStack(t, client) 20 th.AssertNoErr(t, err) 21 defer DeleteStack(t, client, stack.Name, stack.ID) 22 23 resource, err := stackresources.Get(client, stack.Name, stack.ID, basicTemplateResourceName).Extract() 24 th.AssertNoErr(t, err) 25 tools.PrintResource(t, resource) 26 27 metadata, err := stackresources.Metadata(client, stack.Name, stack.ID, basicTemplateResourceName).Extract() 28 th.AssertNoErr(t, err) 29 tools.PrintResource(t, metadata) 30 31 markUnhealthyOpts := &stackresources.MarkUnhealthyOpts{ 32 MarkUnhealthy: true, 33 ResourceStatusReason: "Wrong security policy is detected.", 34 } 35 36 err = stackresources.MarkUnhealthy(client, stack.Name, stack.ID, basicTemplateResourceName, markUnhealthyOpts).ExtractErr() 37 th.AssertNoErr(t, err) 38 39 unhealthyResource, err := stackresources.Get(client, stack.Name, stack.ID, basicTemplateResourceName).Extract() 40 th.AssertNoErr(t, err) 41 th.AssertEquals(t, "CHECK_FAILED", unhealthyResource.Status) 42 tools.PrintResource(t, unhealthyResource) 43 44 allPages, err := stackresources.List(client, stack.Name, stack.ID, nil).AllPages() 45 th.AssertNoErr(t, err) 46 allResources, err := stackresources.ExtractResources(allPages) 47 th.AssertNoErr(t, err) 48 49 var found bool 50 for _, v := range allResources { 51 if v.Name == basicTemplateResourceName { 52 found = true 53 } 54 } 55 56 th.AssertEquals(t, found, true) 57 }