github.com/leeclow-ops/gophercloud@v1.2.1/acceptance/openstack/sharedfilesystems/v2/snapshots_test.go (about) 1 //go:build acceptance 2 // +build acceptance 3 4 package v2 5 6 import ( 7 "testing" 8 9 "github.com/leeclow-ops/gophercloud/acceptance/clients" 10 "github.com/leeclow-ops/gophercloud/acceptance/tools" 11 "github.com/leeclow-ops/gophercloud/openstack/sharedfilesystems/v2/snapshots" 12 th "github.com/leeclow-ops/gophercloud/testhelper" 13 ) 14 15 func TestSnapshotCreate(t *testing.T) { 16 client, err := clients.NewSharedFileSystemV2Client() 17 if err != nil { 18 t.Fatalf("Unable to create a shared file system client: %v", err) 19 } 20 21 share, err := CreateShare(t, client) 22 if err != nil { 23 t.Fatalf("Unable to create a share: %v", err) 24 } 25 26 defer DeleteShare(t, client, share) 27 28 snapshot, err := CreateSnapshot(t, client, share.ID) 29 if err != nil { 30 t.Fatalf("Unable to create a snapshot: %v", err) 31 } 32 33 defer DeleteSnapshot(t, client, snapshot) 34 35 created, err := snapshots.Get(client, snapshot.ID).Extract() 36 if err != nil { 37 t.Fatalf("Unable to retrieve a snapshot: %v", err) 38 } 39 40 tools.PrintResource(t, created) 41 } 42 43 func TestSnapshotUpdate(t *testing.T) { 44 client, err := clients.NewSharedFileSystemV2Client() 45 if err != nil { 46 t.Fatalf("Unable to create shared file system client: %v", err) 47 } 48 49 share, err := CreateShare(t, client) 50 if err != nil { 51 t.Fatalf("Unable to create share: %v", err) 52 } 53 54 defer DeleteShare(t, client, share) 55 56 snapshot, err := CreateSnapshot(t, client, share.ID) 57 if err != nil { 58 t.Fatalf("Unable to create a snapshot: %v", err) 59 } 60 61 defer DeleteSnapshot(t, client, snapshot) 62 63 expectedSnapshot, err := snapshots.Get(client, snapshot.ID).Extract() 64 if err != nil { 65 t.Errorf("Unable to retrieve snapshot: %v", err) 66 } 67 68 name := "NewName" 69 description := "" 70 options := snapshots.UpdateOpts{ 71 DisplayName: &name, 72 DisplayDescription: &description, 73 } 74 75 expectedSnapshot.Name = name 76 expectedSnapshot.Description = description 77 78 _, err = snapshots.Update(client, snapshot.ID, options).Extract() 79 if err != nil { 80 t.Errorf("Unable to update snapshot: %v", err) 81 } 82 83 updatedSnapshot, err := snapshots.Get(client, snapshot.ID).Extract() 84 if err != nil { 85 t.Errorf("Unable to retrieve snapshot: %v", err) 86 } 87 88 tools.PrintResource(t, snapshot) 89 90 th.CheckDeepEquals(t, expectedSnapshot, updatedSnapshot) 91 } 92 93 func TestSnapshotListDetail(t *testing.T) { 94 client, err := clients.NewSharedFileSystemV2Client() 95 if err != nil { 96 t.Fatalf("Unable to create a shared file system client: %v", err) 97 } 98 99 share, err := CreateShare(t, client) 100 if err != nil { 101 t.Fatalf("Unable to create a share: %v", err) 102 } 103 104 defer DeleteShare(t, client, share) 105 106 snapshot, err := CreateSnapshot(t, client, share.ID) 107 if err != nil { 108 t.Fatalf("Unable to create a snapshot: %v", err) 109 } 110 111 defer DeleteSnapshot(t, client, snapshot) 112 113 ss, err := ListSnapshots(t, client) 114 if err != nil { 115 t.Fatalf("Unable to list snapshots: %v", err) 116 } 117 118 for i := range ss { 119 tools.PrintResource(t, &ss[i]) 120 } 121 }