blob: 9d0da3d5c3d3d7e02b0378a3d3e774bb9582e743 [file] [log] [blame]
package stackresources
import (
"testing"
os "github.com/rackspace/gophercloud/openstack/orchestration/v1/stackresources"
"github.com/rackspace/gophercloud/pagination"
th "github.com/rackspace/gophercloud/testhelper"
fake "github.com/rackspace/gophercloud/testhelper/client"
)
func TestFindResources(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
os.HandleFindSuccessfully(t, os.FindOutput)
actual, err := Find(fake.ServiceClient(), "hello_world").Extract()
th.AssertNoErr(t, err)
expected := os.FindExpected
th.AssertDeepEquals(t, expected, actual)
}
func TestListResources(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
os.HandleListSuccessfully(t, os.ListOutput)
count := 0
err := List(fake.ServiceClient(), "hello_world", "49181cd6-169a-4130-9455-31185bbfc5bf", nil).EachPage(func(page pagination.Page) (bool, error) {
count++
actual, err := os.ExtractResources(page)
th.AssertNoErr(t, err)
th.CheckDeepEquals(t, os.ListExpected, actual)
return true, nil
})
th.AssertNoErr(t, err)
th.CheckEquals(t, count, 1)
}
func TestGetResource(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
os.HandleGetSuccessfully(t, os.GetOutput)
actual, err := Get(fake.ServiceClient(), "teststack", "0b1771bd-9336-4f2b-ae86-a80f971faf1e", "wordpress_instance").Extract()
th.AssertNoErr(t, err)
expected := os.GetExpected
th.AssertDeepEquals(t, expected, actual)
}
func TestResourceMetadata(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
os.HandleMetadataSuccessfully(t, os.MetadataOutput)
actual, err := Metadata(fake.ServiceClient(), "teststack", "0b1771bd-9336-4f2b-ae86-a80f971faf1e", "wordpress_instance").Extract()
th.AssertNoErr(t, err)
expected := os.MetadataExpected
th.AssertDeepEquals(t, expected, actual)
}
func TestListResourceTypes(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
os.HandleListTypesSuccessfully(t, os.ListTypesOutput)
count := 0
err := ListTypes(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
count++
actual, err := os.ExtractResourceTypes(page)
th.AssertNoErr(t, err)
th.CheckDeepEquals(t, os.ListTypesExpected, actual)
return true, nil
})
th.AssertNoErr(t, err)
th.CheckEquals(t, 1, count)
}