github.com/gophercloud/gophercloud@v1.11.0/openstack/messaging/v2/messages/testing/requests_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/gophercloud/gophercloud/openstack/messaging/v2/messages"
     7  	"github.com/gophercloud/gophercloud/pagination"
     8  	th "github.com/gophercloud/gophercloud/testhelper"
     9  	fake "github.com/gophercloud/gophercloud/testhelper/client"
    10  )
    11  
    12  func TestList(t *testing.T) {
    13  	th.SetupHTTP()
    14  	defer th.TeardownHTTP()
    15  	HandleListSuccessfully(t)
    16  
    17  	listOpts := messages.ListOpts{
    18  		Limit: 1,
    19  	}
    20  
    21  	count := 0
    22  	err := messages.List(fake.ServiceClient(), QueueName, listOpts).EachPage(func(page pagination.Page) (bool, error) {
    23  		actual, err := messages.ExtractMessages(page)
    24  		th.AssertNoErr(t, err)
    25  
    26  		th.CheckDeepEquals(t, ExpectedMessagesSlice[count], actual)
    27  		count++
    28  
    29  		return true, nil
    30  	})
    31  	th.AssertNoErr(t, err)
    32  
    33  	th.CheckEquals(t, 2, count)
    34  }
    35  
    36  func TestCreate(t *testing.T) {
    37  	th.SetupHTTP()
    38  	defer th.TeardownHTTP()
    39  	HandleCreateSuccessfully(t)
    40  
    41  	createOpts := messages.BatchCreateOpts{
    42  		messages.CreateOpts{
    43  			TTL:   300,
    44  			Delay: 20,
    45  			Body: map[string]interface{}{
    46  				"event":     "BackupStarted",
    47  				"backup_id": "c378813c-3f0b-11e2-ad92-7823d2b0f3ce",
    48  			},
    49  		},
    50  		messages.CreateOpts{
    51  			Body: map[string]interface{}{
    52  				"event":         "BackupProgress",
    53  				"current_bytes": "0",
    54  				"total_bytes":   "99614720",
    55  			},
    56  		},
    57  	}
    58  
    59  	actual, err := messages.Create(fake.ServiceClient(), QueueName, createOpts).Extract()
    60  	th.AssertNoErr(t, err)
    61  	th.CheckDeepEquals(t, ExpectedResources, actual)
    62  }
    63  
    64  func TestGetMessages(t *testing.T) {
    65  	th.SetupHTTP()
    66  	defer th.TeardownHTTP()
    67  	HandleGetMessagesSuccessfully(t)
    68  
    69  	getMessagesOpts := messages.GetMessagesOpts{
    70  		IDs: []string{"9988776655"},
    71  	}
    72  
    73  	actual, err := messages.GetMessages(fake.ServiceClient(), QueueName, getMessagesOpts).Extract()
    74  	th.AssertNoErr(t, err)
    75  	th.CheckDeepEquals(t, ExpectedMessagesSet, actual)
    76  }
    77  
    78  func TestGetMessage(t *testing.T) {
    79  	th.SetupHTTP()
    80  	defer th.TeardownHTTP()
    81  	HandleGetSuccessfully(t)
    82  
    83  	actual, err := messages.Get(fake.ServiceClient(), QueueName, MessageID).Extract()
    84  	th.AssertNoErr(t, err)
    85  	th.CheckDeepEquals(t, FirstMessage, actual)
    86  }
    87  
    88  func TestDeleteMessages(t *testing.T) {
    89  	th.SetupHTTP()
    90  	defer th.TeardownHTTP()
    91  	HandleDeleteMessagesSuccessfully(t)
    92  
    93  	deleteMessagesOpts := messages.DeleteMessagesOpts{
    94  		IDs: []string{"9988776655"},
    95  	}
    96  
    97  	err := messages.DeleteMessages(fake.ServiceClient(), QueueName, deleteMessagesOpts).ExtractErr()
    98  	th.AssertNoErr(t, err)
    99  }
   100  
   101  func TestPopMessages(t *testing.T) {
   102  	th.SetupHTTP()
   103  	defer th.TeardownHTTP()
   104  	HandlePopSuccessfully(t)
   105  
   106  	popMessagesOpts := messages.PopMessagesOpts{
   107  		Pop: 1,
   108  	}
   109  
   110  	actual, err := messages.PopMessages(fake.ServiceClient(), QueueName, popMessagesOpts).Extract()
   111  	th.AssertNoErr(t, err)
   112  	th.CheckDeepEquals(t, ExpectedPopMessage, actual)
   113  }
   114  
   115  func TestDeleteMessage(t *testing.T) {
   116  	th.SetupHTTP()
   117  	defer th.TeardownHTTP()
   118  	HandleDeleteSuccessfully(t)
   119  
   120  	deleteOpts := messages.DeleteOpts{
   121  		ClaimID: "12345",
   122  	}
   123  
   124  	err := messages.Delete(fake.ServiceClient(), QueueName, MessageID, deleteOpts).ExtractErr()
   125  	th.AssertNoErr(t, err)
   126  }