ImageService v2: Collect all properties of images (#376)
* ImageService v2: Add VirtualSize field
* ImageService v2: Have Images.Properties collect all remaining fields
Related-PROD: PROD-28126
Change-Id: Ib6311d3bafc1e5e6e6a2c6d043d2a63a1eaa96cf
diff --git a/acceptance/openstack/imageservice/v2/images_test.go b/acceptance/openstack/imageservice/v2/images_test.go
index 5fe1c16..7f06faa 100644
--- a/acceptance/openstack/imageservice/v2/images_test.go
+++ b/acceptance/openstack/imageservice/v2/images_test.go
@@ -7,8 +7,62 @@
"gerrit.mcp.mirantis.net/debian/gophercloud.git/acceptance/clients"
"gerrit.mcp.mirantis.net/debian/gophercloud.git/acceptance/tools"
+ "gerrit.mcp.mirantis.net/debian/gophercloud.git/openstack/imageservice/v2/images"
+ "gerrit.mcp.mirantis.net/debian/gophercloud.git/pagination"
)
+func TestImagesListEachPage(t *testing.T) {
+ client, err := clients.NewImageServiceV2Client()
+ if err != nil {
+ t.Fatalf("Unable to create an image service client: %v", err)
+ }
+
+ listOpts := images.ListOpts{
+ Limit: 1,
+ }
+
+ pager := images.List(client, listOpts)
+ err = pager.EachPage(func(page pagination.Page) (bool, error) {
+ images, err := images.ExtractImages(page)
+ if err != nil {
+ t.Fatalf("Unable to extract images: %v", err)
+ }
+
+ for _, image := range images {
+ tools.PrintResource(t, image)
+ tools.PrintResource(t, image.Properties)
+ }
+
+ return true, nil
+ })
+}
+
+func TestImagesListAllPages(t *testing.T) {
+ client, err := clients.NewImageServiceV2Client()
+ if err != nil {
+ t.Fatalf("Unable to create an image service client: %v", err)
+ }
+
+ listOpts := images.ListOpts{
+ Limit: 1,
+ }
+
+ allPages, err := images.List(client, listOpts).AllPages()
+ if err != nil {
+ t.Fatalf("Unable to retrieve all images: %v", err)
+ }
+
+ allImages, err := images.ExtractImages(allPages)
+ if err != nil {
+ t.Fatalf("Unable to extract images: %v", err)
+ }
+
+ for _, image := range allImages {
+ tools.PrintResource(t, image)
+ tools.PrintResource(t, image.Properties)
+ }
+}
+
func TestImagesCreateDestroyEmptyImage(t *testing.T) {
client, err := clients.NewImageServiceV2Client()
if err != nil {