virtcontainers/persist: Improved test coverage 65% to 87.5%

Expanded tests on manager_test.go to cover more lines of code.

Fixes: #259

Signed-off-by: Eduardo Berrocal <eduardo.berrocal@intel.com>
This commit is contained in:
Eduardo Berrocal 2023-04-25 23:53:46 +00:00
parent 7fdaab49bc
commit 9c38204f13

View File

@ -7,7 +7,9 @@
package persist
import (
"errors"
"os"
"strings"
"testing"
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
@ -20,14 +22,29 @@ func TestGetDriverByName(t *testing.T) {
assert.NotNil(t, err)
assert.Nil(t, nonexist)
// testing correct driver is returned
fsDriver, err := GetDriverByName("fs")
assert.Nil(t, err)
assert.NotNil(t, fsDriver)
// testing case when expErr is set
expErr = errors.New("TEST-ERROR")
defer func() {
expErr = nil
}()
nonexist, err = GetDriverByName("fs")
assert.NotNil(t, err)
assert.Nil(t, nonexist)
b := err.Error()
assert.True(t, strings.Contains(b, "TEST-ERROR"))
}
func TestGetDriver(t *testing.T) {
assert := assert.New(t)
// testing correct driver is returned
fsd, err := GetDriver()
assert.NoError(err)
@ -39,5 +56,32 @@ func TestGetDriver(t *testing.T) {
}
assert.NoError(err)
assert.Equal(expectedFS, fsd)
assert.Equal(expectedFS, fsd) // driver should match correct one for UID
// testing case when expErr is set
expErr = errors.New("TEST-ERROR")
nonexist, err := GetDriver()
assert.NotNil(err)
assert.Nil(nonexist)
expErr = nil
// testing case when driver can't be found on supportedDrivers variable
supportedDriversBU := supportedDrivers
supportedDrivers = nil
fsd, err = GetDriver()
assert.Nil(fsd)
assert.NotNil(err)
b := err.Error()
assert.True(strings.Contains(b, "Could not find a FS driver"))
supportedDrivers = supportedDriversBU
// testing case when mock driver is activated
fs.EnableMockTesting(t.TempDir())
mock, err := GetDriver()
assert.NoError(err)
expectedFS, err = fs.MockFSInit(fs.MockStorageRootPath())
assert.NoError(err)
assert.Equal(expectedFS, mock)
fs.EnableMockTesting("")
}