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