blob: 7f06faa56cb22312f04415664364f65fec736507 [file] [log] [blame]
Joe Topjian929e60b2017-02-20 15:31:15 -07001// +build acceptance imageservice images
2
3package v2
4
5import (
6 "testing"
7
Krzysztof Szukiełojć24a29ce2017-05-07 14:24:02 +02008 "gerrit.mcp.mirantis.net/debian/gophercloud.git/acceptance/clients"
9 "gerrit.mcp.mirantis.net/debian/gophercloud.git/acceptance/tools"
Joe Topjianfc6c80c2017-06-13 13:06:50 -060010 "gerrit.mcp.mirantis.net/debian/gophercloud.git/openstack/imageservice/v2/images"
11 "gerrit.mcp.mirantis.net/debian/gophercloud.git/pagination"
Joe Topjian929e60b2017-02-20 15:31:15 -070012)
13
Joe Topjianfc6c80c2017-06-13 13:06:50 -060014func TestImagesListEachPage(t *testing.T) {
15 client, err := clients.NewImageServiceV2Client()
16 if err != nil {
17 t.Fatalf("Unable to create an image service client: %v", err)
18 }
19
20 listOpts := images.ListOpts{
21 Limit: 1,
22 }
23
24 pager := images.List(client, listOpts)
25 err = pager.EachPage(func(page pagination.Page) (bool, error) {
26 images, err := images.ExtractImages(page)
27 if err != nil {
28 t.Fatalf("Unable to extract images: %v", err)
29 }
30
31 for _, image := range images {
32 tools.PrintResource(t, image)
33 tools.PrintResource(t, image.Properties)
34 }
35
36 return true, nil
37 })
38}
39
40func TestImagesListAllPages(t *testing.T) {
41 client, err := clients.NewImageServiceV2Client()
42 if err != nil {
43 t.Fatalf("Unable to create an image service client: %v", err)
44 }
45
46 listOpts := images.ListOpts{
47 Limit: 1,
48 }
49
50 allPages, err := images.List(client, listOpts).AllPages()
51 if err != nil {
52 t.Fatalf("Unable to retrieve all images: %v", err)
53 }
54
55 allImages, err := images.ExtractImages(allPages)
56 if err != nil {
57 t.Fatalf("Unable to extract images: %v", err)
58 }
59
60 for _, image := range allImages {
61 tools.PrintResource(t, image)
62 tools.PrintResource(t, image.Properties)
63 }
64}
65
Joe Topjian929e60b2017-02-20 15:31:15 -070066func TestImagesCreateDestroyEmptyImage(t *testing.T) {
67 client, err := clients.NewImageServiceV2Client()
68 if err != nil {
69 t.Fatalf("Unable to create an image service client: %v", err)
70 }
71
72 image, err := CreateEmptyImage(t, client)
73 if err != nil {
74 t.Fatalf("Unable to create empty image: %v", err)
75 }
76
77 defer DeleteImage(t, client, image)
78
79 tools.PrintResource(t, image)
80}