github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/sharedfilesystems/v2/sharetransfers_test.go (about) 1 //go:build acceptance || share || transfers 2 // +build acceptance share transfers 3 4 package v2 5 6 import ( 7 "testing" 8 9 "github.com/gophercloud/gophercloud/internal/acceptance/clients" 10 "github.com/gophercloud/gophercloud/internal/acceptance/tools" 11 th "github.com/gophercloud/gophercloud/testhelper" 12 13 "github.com/gophercloud/gophercloud/openstack/sharedfilesystems/v2/sharetransfers" 14 ) 15 16 // minimal microversion for the share transfers 17 const shareTransfersMicroversion = "2.77" 18 19 func TestTransferRequestCRUD(t *testing.T) { 20 clients.SkipReleasesBelow(t, "master") 21 22 client, err := clients.NewSharedFileSystemV2Client() 23 if err != nil { 24 t.Fatalf("Unable to create a shared file system client: %v", err) 25 } 26 client.Microversion = shareTransfersMicroversion 27 28 share, err := CreateShare(t, client) 29 if err != nil { 30 t.Fatalf("Unable to create a share: %v", err) 31 } 32 33 defer DeleteShare(t, client, share) 34 35 // Create transfers request to a new tenant 36 trName := "123" 37 transferRequest, err := CreateTransferRequest(t, client, share, trName) 38 th.AssertNoErr(t, err) 39 defer DeleteTransferRequest(t, client, transferRequest) 40 41 // list transfer requests 42 allTransferRequestsPages, err := sharetransfers.ListDetail(client, nil).AllPages() 43 th.AssertNoErr(t, err) 44 45 allTransferRequests, err := sharetransfers.ExtractTransfers(allTransferRequestsPages) 46 th.AssertNoErr(t, err) 47 48 // finding the transfer request 49 var foundRequest bool 50 for _, tr := range allTransferRequests { 51 tools.PrintResource(t, &tr) 52 if tr.ResourceID == share.ID && tr.Name == trName && !tr.Accepted { 53 foundRequest = true 54 } 55 } 56 th.AssertEquals(t, foundRequest, true) 57 58 // checking get 59 tr, err := sharetransfers.Get(client, transferRequest.ID).Extract() 60 th.AssertNoErr(t, err) 61 62 th.AssertEquals(t, transferRequest.ID == tr.ID, true) 63 64 // Accept Share Transfer Request 65 err = AcceptTransfer(t, client, transferRequest) 66 th.AssertNoErr(t, err) 67 }