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 }