github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/keymanager/v1/orders_test.go (about) 1 //go:build acceptance || keymanager || orders 2 // +build acceptance keymanager orders 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/keymanager/v1/containers" 12 "github.com/gophercloud/gophercloud/openstack/keymanager/v1/orders" 13 "github.com/gophercloud/gophercloud/openstack/keymanager/v1/secrets" 14 th "github.com/gophercloud/gophercloud/testhelper" 15 ) 16 17 func TestOrdersCRUD(t *testing.T) { 18 clients.RequireAdmin(t) 19 20 client, err := clients.NewKeyManagerV1Client() 21 th.AssertNoErr(t, err) 22 23 order, err := CreateKeyOrder(t, client) 24 th.AssertNoErr(t, err) 25 orderID, err := ParseID(order.OrderRef) 26 th.AssertNoErr(t, err) 27 defer DeleteOrder(t, client, orderID) 28 29 secretID, err := ParseID(order.SecretRef) 30 th.AssertNoErr(t, err) 31 32 payloadOpts := secrets.GetPayloadOpts{ 33 PayloadContentType: "application/octet-stream", 34 } 35 payload, err := secrets.GetPayload(client, secretID, payloadOpts).Extract() 36 th.AssertNoErr(t, err) 37 tools.PrintResource(t, payload) 38 39 allPages, err := orders.List(client, nil).AllPages() 40 th.AssertNoErr(t, err) 41 42 allOrders, err := orders.ExtractOrders(allPages) 43 th.AssertNoErr(t, err) 44 45 var found bool 46 for _, v := range allOrders { 47 if v.OrderRef == order.OrderRef { 48 found = true 49 } 50 } 51 52 th.AssertEquals(t, found, true) 53 } 54 55 func TestOrdersAsymmetric(t *testing.T) { 56 clients.RequireAdmin(t) 57 58 client, err := clients.NewKeyManagerV1Client() 59 th.AssertNoErr(t, err) 60 61 order, err := CreateAsymmetricOrder(t, client) 62 th.AssertNoErr(t, err) 63 orderID, err := ParseID(order.OrderRef) 64 th.AssertNoErr(t, err) 65 defer DeleteOrder(t, client, orderID) 66 67 containerID, err := ParseID(order.ContainerRef) 68 th.AssertNoErr(t, err) 69 70 container, err := containers.Get(client, containerID).Extract() 71 th.AssertNoErr(t, err) 72 73 for _, v := range container.SecretRefs { 74 secretID, err := ParseID(v.SecretRef) 75 th.AssertNoErr(t, err) 76 77 payloadOpts := secrets.GetPayloadOpts{ 78 PayloadContentType: "application/octet-stream", 79 } 80 81 payload, err := secrets.GetPayload(client, secretID, payloadOpts).Extract() 82 th.AssertNoErr(t, err) 83 tools.PrintResource(t, string(payload)) 84 } 85 }