github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/sharedfilesystems/v2/messages/messages_test.go (about) 1 package messages 2 3 import ( 4 "testing" 5 6 "github.com/gophercloud/gophercloud/internal/acceptance/clients" 7 "github.com/gophercloud/gophercloud/internal/acceptance/tools" 8 "github.com/gophercloud/gophercloud/openstack/sharedfilesystems/v2/messages" 9 ) 10 11 const requestID = "req-6f52cd8b-25a1-42cf-b497-7babf70f55f4" 12 const minimumManilaMessagesMicroVersion = "2.37" 13 14 func TestMessageList(t *testing.T) { 15 client, err := clients.NewSharedFileSystemV2Client() 16 if err != nil { 17 t.Fatalf("Unable to create a shared file system client: %v", err) 18 } 19 client.Microversion = minimumManilaMessagesMicroVersion 20 21 allPages, err := messages.List(client, messages.ListOpts{}).AllPages() 22 if err != nil { 23 t.Fatalf("Unable to retrieve messages: %v", err) 24 } 25 26 allMessages, err := messages.ExtractMessages(allPages) 27 if err != nil { 28 t.Fatalf("Unable to extract messages: %v", err) 29 } 30 31 for _, message := range allMessages { 32 tools.PrintResource(t, message) 33 } 34 } 35 36 // The test creates 2 messages and verifies that only the one(s) with 37 // a particular name are being listed 38 func TestMessageListFiltering(t *testing.T) { 39 client, err := clients.NewSharedFileSystemV2Client() 40 if err != nil { 41 t.Fatalf("Unable to create a shared file system client: %v", err) 42 } 43 client.Microversion = minimumManilaMessagesMicroVersion 44 45 options := messages.ListOpts{ 46 RequestID: requestID, 47 } 48 49 allPages, err := messages.List(client, options).AllPages() 50 if err != nil { 51 t.Fatalf("Unable to retrieve messages: %v", err) 52 } 53 54 allMessages, err := messages.ExtractMessages(allPages) 55 if err != nil { 56 t.Fatalf("Unable to extract messages: %v", err) 57 } 58 59 for _, listedMessage := range allMessages { 60 if listedMessage.RequestID != options.RequestID { 61 t.Fatalf("The request id of the message was expected to be %s", options.RequestID) 62 } 63 tools.PrintResource(t, listedMessage) 64 } 65 } 66 67 // Create a message and update the name and description. Get the ity 68 // service and verify that the name and description have been updated 69 func TestMessageDelete(t *testing.T) { 70 client, err := clients.NewSharedFileSystemV2Client() 71 if err != nil { 72 t.Fatalf("Unable to create shared file system client: %v", err) 73 } 74 client.Microversion = minimumManilaMessagesMicroVersion 75 76 options := messages.ListOpts{ 77 RequestID: requestID, 78 } 79 80 allPages, err := messages.List(client, options).AllPages() 81 if err != nil { 82 t.Fatalf("Unable to retrieve messages: %v", err) 83 } 84 85 allMessages, err := messages.ExtractMessages(allPages) 86 if err != nil { 87 t.Fatalf("Unable to extract messages: %v", err) 88 } 89 90 if len(allMessages) == 0 { 91 t.Skipf("No messages were found") 92 } 93 94 var messageID string 95 for _, listedMessage := range allMessages { 96 if listedMessage.RequestID != options.RequestID { 97 t.Fatalf("The request id of the message was expected to be %s", options.RequestID) 98 } 99 tools.PrintResource(t, listedMessage) 100 messageID = listedMessage.ID 101 } 102 103 message, err := messages.Get(client, messageID).Extract() 104 if err != nil { 105 t.Fatalf("Unable to retrieve the message: %v", err) 106 } 107 108 DeleteMessage(t, client, message) 109 }