github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/image/v2/tasks_test.go (about) 1 //go:build acceptance || image || tasks 2 3 package v2 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/image/v2/tasks" 12 "github.com/vnpaycloud-console/gophercloud/v2/pagination" 13 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 14 ) 15 16 func TestTasksListEachPage(t *testing.T) { 17 client, err := clients.NewImageV2Client() 18 th.AssertNoErr(t, err) 19 20 listOpts := tasks.ListOpts{ 21 Limit: 1, 22 } 23 24 pager := tasks.List(client, listOpts) 25 err = pager.EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) { 26 tasks, err := tasks.ExtractTasks(page) 27 th.AssertNoErr(t, err) 28 29 for _, task := range tasks { 30 tools.PrintResource(t, task) 31 } 32 33 return true, nil 34 }) 35 th.AssertNoErr(t, err) 36 } 37 38 func TestTasksListAllPages(t *testing.T) { 39 client, err := clients.NewImageV2Client() 40 th.AssertNoErr(t, err) 41 42 listOpts := tasks.ListOpts{} 43 44 allPages, err := tasks.List(client, listOpts).AllPages(context.TODO()) 45 th.AssertNoErr(t, err) 46 47 allTasks, err := tasks.ExtractTasks(allPages) 48 th.AssertNoErr(t, err) 49 50 for _, i := range allTasks { 51 tools.PrintResource(t, i) 52 } 53 } 54 55 func TestTaskCreate(t *testing.T) { 56 client, err := clients.NewImageV2Client() 57 th.AssertNoErr(t, err) 58 59 task, err := CreateTask(t, client, ImportImageURL) 60 if err != nil { 61 t.Fatalf("Unable to create an Image service task: %v", err) 62 } 63 64 tools.PrintResource(t, task) 65 }