github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/orchestration/v1/stackresources_test.go (about) 1 //go:build acceptance || orchestration || stackresources 2 3 package v1 4 5 import ( 6 "context" 7 "testing" 8 9 "github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/clients" 10 "github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/tools" 11 "github.com/vnpaycloud-console/gophercloud/v2/openstack/orchestration/v1/stackresources" 12 th "github.com/vnpaycloud-console/gophercloud/v2/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(context.TODO(), client, stack.Name, stack.ID, basicTemplateResourceName).Extract() 24 th.AssertNoErr(t, err) 25 tools.PrintResource(t, resource) 26 27 metadata, err := stackresources.Metadata(context.TODO(), 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(context.TODO(), client, stack.Name, stack.ID, basicTemplateResourceName, markUnhealthyOpts).ExtractErr() 37 th.AssertNoErr(t, err) 38 39 unhealthyResource, err := stackresources.Get(context.TODO(), 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(context.TODO()) 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 }