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  }