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