mirror of https://github.com/ceph/go-ceph
58 lines
1.2 KiB
Go
58 lines
1.2 KiB
Go
|
package rbd
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
func TestRenameSnapshot(t *testing.T) {
|
||
|
conn := radosConnect(t)
|
||
|
poolName := GetUUID()
|
||
|
err := conn.MakePool(poolName)
|
||
|
require.NoError(t, err)
|
||
|
ioctx, err := conn.OpenIOContext(poolName)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
name := GetUUID()
|
||
|
err = CreateImage(ioctx, name, 1<<22, NewRbdImageOptions())
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
// create snapshot
|
||
|
img, err := OpenImage(ioctx, name, NoSnapshot)
|
||
|
require.NoError(t, err)
|
||
|
snapshotName := "mysnap"
|
||
|
snapshot, err := img.CreateSnapshot(snapshotName)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
// verify snapshot opens
|
||
|
snapImg, err := OpenImage(ioctx, name, snapshotName)
|
||
|
require.NoError(t, err)
|
||
|
err = snapImg.Close()
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
// rename snapshot
|
||
|
newSnapshotName := "myrenamedsnap"
|
||
|
err = snapshot.Rename(newSnapshotName)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
// verify snapshot still opens
|
||
|
snapImg, err = OpenImage(ioctx, name, newSnapshotName)
|
||
|
require.NoError(t, err)
|
||
|
err = snapImg.Close()
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
err = snapshot.Remove()
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
err = img.Close()
|
||
|
require.NoError(t, err)
|
||
|
err = img.Remove()
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
ioctx.Destroy()
|
||
|
err = conn.DeletePool(poolName)
|
||
|
require.NoError(t, err)
|
||
|
conn.Shutdown()
|
||
|
}
|