github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/evs/v1/snapshots/testing/requests_test.go (about) 1 package testing 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/opentelekomcloud/gophertelekomcloud/openstack/evs/v1/snapshots" 8 9 th "github.com/opentelekomcloud/gophertelekomcloud/testhelper" 10 "github.com/opentelekomcloud/gophertelekomcloud/testhelper/client" 11 ) 12 13 func TestList(t *testing.T) { 14 th.SetupHTTP() 15 defer th.TeardownHTTP() 16 17 MockListResponse(t) 18 19 actual, err := snapshots.List(client.ServiceClient(), snapshots.ListOpts{}) 20 if err != nil { 21 t.Errorf("Failed to extract snapshots: %v", err) 22 } 23 24 expected := []snapshots.Snapshot{ 25 { 26 ID: "289da7f8-6440-407c-9fb4-7db01ec49164", 27 Name: "snapshot-001", 28 VolumeID: "521752a6-acf6-4b2d-bc7a-119f9148cd8c", 29 Status: "available", 30 Size: 30, 31 CreatedAt: time.Date(2012, 2, 14, 20, 53, 7, 0, time.UTC), 32 Description: "Daily Backup", 33 }, 34 { 35 ID: "96c3bda7-c82a-4f50-be73-ca7621794835", 36 Name: "snapshot-002", 37 VolumeID: "76b8950a-8594-4e5b-8dce-0dfa9c696358", 38 Status: "available", 39 Size: 25, 40 CreatedAt: time.Date(2012, 2, 14, 20, 53, 8, 0, time.UTC), 41 Description: "Weekly Backup", 42 }, 43 } 44 45 th.CheckDeepEquals(t, expected, actual) 46 } 47 48 func TestGet(t *testing.T) { 49 th.SetupHTTP() 50 defer th.TeardownHTTP() 51 52 MockGetResponse(t) 53 54 v, err := snapshots.Get(client.ServiceClient(), "d32019d3-bc6e-4319-9c1d-6722fc136a22") 55 th.AssertNoErr(t, err) 56 57 th.AssertEquals(t, v.Name, "snapshot-001") 58 th.AssertEquals(t, v.ID, "d32019d3-bc6e-4319-9c1d-6722fc136a22") 59 } 60 61 func TestCreate(t *testing.T) { 62 th.SetupHTTP() 63 defer th.TeardownHTTP() 64 65 MockCreateResponse(t) 66 67 options := snapshots.CreateOpts{VolumeID: "1234", Name: "snapshot-001"} 68 n, err := snapshots.Create(client.ServiceClient(), options) 69 th.AssertNoErr(t, err) 70 71 th.AssertEquals(t, n.VolumeID, "1234") 72 th.AssertEquals(t, n.Name, "snapshot-001") 73 th.AssertEquals(t, n.ID, "d32019d3-bc6e-4319-9c1d-6722fc136a22") 74 } 75 76 func TestUpdateMetadata(t *testing.T) { 77 th.SetupHTTP() 78 defer th.TeardownHTTP() 79 80 MockUpdateMetadataResponse(t) 81 82 expected := map[string]interface{}{"key": "v1"} 83 84 options := snapshots.UpdateMetadataOpts{ 85 Metadata: map[string]interface{}{ 86 "key": "v1", 87 }, 88 } 89 90 actual, err := snapshots.UpdateMetadata(client.ServiceClient(), "123", options) 91 th.AssertNoErr(t, err) 92 th.AssertDeepEquals(t, &expected, actual) 93 } 94 95 func TestDelete(t *testing.T) { 96 th.SetupHTTP() 97 defer th.TeardownHTTP() 98 99 MockDeleteResponse(t) 100 101 res := snapshots.Delete(client.ServiceClient(), "d32019d3-bc6e-4319-9c1d-6722fc136a22") 102 th.AssertNoErr(t, res) 103 }