mirror of https://github.com/ceph/go-ceph
rdb: disentangle and update TestImageCopy function
Update the TestImageCopy function to establish clear subsections and use the new CreateImage and OpenImage functions. Signed-off-by: John Mulligan <jmulligan@redhat.com>
This commit is contained in:
parent
4691e0cb4c
commit
bd0b8d5678
|
@ -708,15 +708,21 @@ func TestImageCopy(t *testing.T) {
|
||||||
ioctx, err := conn.OpenIOContext(poolname)
|
ioctx, err := conn.OpenIOContext(poolname)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
t.Run("invalidParameters", func(t *testing.T) {
|
||||||
name := GetUUID()
|
name := GetUUID()
|
||||||
img, err := Create(ioctx, name, testImageSize, testImageOrder)
|
options := NewRbdImageOptions()
|
||||||
|
defer options.Destroy()
|
||||||
|
err = options.SetUint64(RbdImageOptionOrder, uint64(testImageOrder))
|
||||||
|
assert.NoError(t, err)
|
||||||
|
err = CreateImage(ioctx, name, testImageSize, options)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// img not open, should fail
|
// img not open, should fail
|
||||||
|
img := GetImage(ioctx, name)
|
||||||
err = img.Copy(nil, "")
|
err = img.Copy(nil, "")
|
||||||
assert.Equal(t, err, ErrImageNotOpen)
|
assert.Equal(t, err, ErrImageNotOpen)
|
||||||
|
|
||||||
err = img.Open()
|
img, err := OpenImage(ioctx, name, NoSnapshot)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// pass invalid parameters
|
// pass invalid parameters
|
||||||
|
@ -729,13 +735,30 @@ func TestImageCopy(t *testing.T) {
|
||||||
err = img.Copy(nil, "duplicate")
|
err = img.Copy(nil, "duplicate")
|
||||||
assert.Equal(t, err, ErrNoIOContext)
|
assert.Equal(t, err, ErrNoIOContext)
|
||||||
|
|
||||||
|
err = img.Close()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
err = RemoveImage(ioctx, name)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
})
|
||||||
|
|
||||||
// try successful copying
|
// try successful copying
|
||||||
name = GetUUID()
|
t.Run("successfulCopy", func(t *testing.T) {
|
||||||
err = img.Copy(ioctx, name)
|
name := GetUUID()
|
||||||
|
options := NewRbdImageOptions()
|
||||||
|
defer options.Destroy()
|
||||||
|
err = options.SetUint64(RbdImageOptionOrder, uint64(testImageOrder))
|
||||||
|
assert.NoError(t, err)
|
||||||
|
err = CreateImage(ioctx, name, testImageSize, options)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
img2 := GetImage(ioctx, name)
|
img, err := OpenImage(ioctx, name, NoSnapshot)
|
||||||
err = img2.Open()
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
name2 := GetUUID()
|
||||||
|
err = img.Copy(ioctx, name2)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
img2, err := OpenImage(ioctx, name2, NoSnapshot)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = img2.Close()
|
err = img2.Close()
|
||||||
|
@ -746,23 +769,52 @@ func TestImageCopy(t *testing.T) {
|
||||||
|
|
||||||
err = img.Close()
|
err = img.Close()
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
})
|
||||||
|
|
||||||
// test with Image as parameter
|
t.Run("copy2ImageNotOpen", func(t *testing.T) {
|
||||||
name = GetUUID()
|
name := GetUUID()
|
||||||
img2, err = Create(ioctx, name, testImageSize, testImageOrder)
|
name2 := GetUUID()
|
||||||
require.NoError(t, err)
|
img := GetImage(ioctx, name)
|
||||||
|
img2 := GetImage(ioctx, name2)
|
||||||
|
|
||||||
err = img.Copy2(img2)
|
err = img.Copy2(img2)
|
||||||
assert.Equal(t, err, ErrImageNotOpen)
|
assert.Equal(t, err, ErrImageNotOpen)
|
||||||
|
|
||||||
err = img.Open()
|
options := NewRbdImageOptions()
|
||||||
|
defer options.Destroy()
|
||||||
|
err = options.SetUint64(RbdImageOptionOrder, uint64(testImageOrder))
|
||||||
|
assert.NoError(t, err)
|
||||||
|
err = CreateImage(ioctx, name, testImageSize, options)
|
||||||
|
require.NoError(t, err)
|
||||||
|
img, err = OpenImage(ioctx, name, NoSnapshot)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
err = img.Copy2(img2)
|
err = img.Copy2(img2)
|
||||||
assert.Equal(t, err, ErrImageNotOpen)
|
assert.Equal(t, err, ErrImageNotOpen)
|
||||||
|
|
||||||
err = img2.Open()
|
err = img.Close()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
err = RemoveImage(ioctx, name)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("successfulCopy2", func(t *testing.T) {
|
||||||
|
name := GetUUID()
|
||||||
|
name2 := GetUUID()
|
||||||
|
|
||||||
|
options := NewRbdImageOptions()
|
||||||
|
defer options.Destroy()
|
||||||
|
err = options.SetUint64(RbdImageOptionOrder, uint64(testImageOrder))
|
||||||
|
assert.NoError(t, err)
|
||||||
|
err = CreateImage(ioctx, name, testImageSize, options)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
img, err := OpenImage(ioctx, name, NoSnapshot)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
err = CreateImage(ioctx, name2, testImageSize, options)
|
||||||
|
require.NoError(t, err)
|
||||||
|
img2, err := OpenImage(ioctx, name2, NoSnapshot)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
err = img.Copy2(img2)
|
err = img.Copy2(img2)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
@ -778,6 +830,7 @@ func TestImageCopy(t *testing.T) {
|
||||||
|
|
||||||
err = img.Remove()
|
err = img.Remove()
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
})
|
||||||
|
|
||||||
ioctx.Destroy()
|
ioctx.Destroy()
|
||||||
conn.DeletePool(poolname)
|
conn.DeletePool(poolname)
|
||||||
|
|
Loading…
Reference in New Issue