github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/clustering/v1/receivers_test.go (about) 1 //go:build acceptance || clustering || policies 2 // +build acceptance clustering policies 3 4 package v1 5 6 import ( 7 "testing" 8 9 "github.com/gophercloud/gophercloud/internal/acceptance/clients" 10 "github.com/gophercloud/gophercloud/internal/acceptance/tools" 11 "github.com/gophercloud/gophercloud/openstack/clustering/v1/receivers" 12 th "github.com/gophercloud/gophercloud/testhelper" 13 ) 14 15 func TestReceiversCRUD(t *testing.T) { 16 client, err := clients.NewClusteringV1Client() 17 th.AssertNoErr(t, err) 18 19 profile, err := CreateProfile(t, client) 20 th.AssertNoErr(t, err) 21 defer DeleteProfile(t, client, profile.ID) 22 23 cluster, err := CreateCluster(t, client, profile.ID) 24 th.AssertNoErr(t, err) 25 defer DeleteCluster(t, client, cluster.ID) 26 27 receiver, err := CreateWebhookReceiver(t, client, cluster.ID) 28 th.AssertNoErr(t, err) 29 defer DeleteReceiver(t, client, receiver.ID) 30 31 // Test listing receivers 32 allPages, err := receivers.List(client, nil).AllPages() 33 th.AssertNoErr(t, err) 34 35 allReceivers, err := receivers.ExtractReceivers(allPages) 36 th.AssertNoErr(t, err) 37 38 var found bool 39 for _, v := range allReceivers { 40 if v.ID == receiver.ID { 41 found = true 42 } 43 } 44 45 th.AssertEquals(t, found, true) 46 47 // Test updating receivers 48 newName := receiver.Name + "-UPDATED" 49 updateOpts := receivers.UpdateOpts{ 50 Name: newName, 51 } 52 53 receiver, err = receivers.Update(client, receiver.ID, updateOpts).Extract() 54 th.AssertNoErr(t, err) 55 56 tools.PrintResource(t, receiver) 57 tools.PrintResource(t, receiver.UpdatedAt) 58 59 th.AssertEquals(t, receiver.Name, newName) 60 } 61 62 func TestReceiversNotify(t *testing.T) { 63 t.Parallel() 64 client, err := clients.NewClusteringV1Client() 65 th.AssertNoErr(t, err) 66 67 profile, err := CreateProfile(t, client) 68 th.AssertNoErr(t, err) 69 defer DeleteProfile(t, client, profile.ID) 70 71 cluster, err := CreateCluster(t, client, profile.ID) 72 th.AssertNoErr(t, err) 73 defer DeleteCluster(t, client, cluster.ID) 74 75 receiver, err := CreateMessageReceiver(t, client, cluster.ID) 76 th.AssertNoErr(t, err) 77 defer DeleteReceiver(t, client, receiver.ID) 78 t.Logf("Created Mesage Receiver Name:[%s] Message Receiver ID:[%s]", receiver.Name, receiver.ID) 79 80 requestID, err := receivers.Notify(client, receiver.ID).Extract() 81 th.AssertNoErr(t, err) 82 t.Logf("Receiver Notify Service Request ID: %s", requestID) 83 }