go-ceph/cephfs/mount_perms_mimic_test.go
John Mulligan 3b9317b608 cephfs: remove a use of external mount of test fs
The external mount point was mainly used for stat prior to a Stat
function being part of go-ceph's cephfs package. Now that we have
Statx, we can replace the need for the external mount and os.Stat.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2021-03-21 06:19:40 +00:00

42 lines
925 B
Go

// +build !luminous
package cephfs
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestSetMountPerms(t *testing.T) {
mount, err := CreateMount()
require.NoError(t, err)
require.NotNil(t, mount)
defer func() { assert.NoError(t, mount.Release()) }()
err = mount.ReadDefaultConfigFile()
require.NoError(t, err)
err = mount.Init()
assert.NoError(t, err)
uperm := NewUserPerm(0, 500, []int{0, 500, 501})
err = mount.SetMountPerms(uperm)
assert.NoError(t, err)
err = mount.Mount()
assert.NoError(t, err)
defer func() { assert.NoError(t, mount.Unmount()) }()
t.Run("checkStat", func(t *testing.T) {
dirname := "/check-mount-perms"
err := mount.MakeDir(dirname, 0755)
assert.NoError(t, err)
defer mount.RemoveDir(dirname)
sx, err := mount.Statx(dirname, StatxBasicStats, 0)
require.NoError(t, err)
assert.EqualValues(t, sx.Gid, 500)
})
}