podman/libpod/config/config_test.go

65 lines
1.8 KiB
Go

package config
import (
"reflect"
"testing"
"github.com/containers/libpod/libpod/define"
"github.com/containers/storage"
"github.com/stretchr/testify/assert"
)
func TestEmptyConfig(t *testing.T) {
// Make sure that we can read empty configs
config, err := readConfigFromFile("testdata/empty.conf")
assert.NotNil(t, config)
assert.Nil(t, err)
}
func TestDefaultLibpodConf(t *testing.T) {
// Make sure that we can read the default libpod.conf
config, err := readConfigFromFile("testdata/libpod.conf")
assert.NotNil(t, config)
assert.Nil(t, err)
}
func TestMergeEmptyAndDefaultMemoryConfig(t *testing.T) {
// Make sure that when we merge the default config into an empty one that we
// effectively get the default config.
defaultConfig, err := defaultConfigFromMemory()
assert.NotNil(t, defaultConfig)
assert.Nil(t, err)
defaultConfig.StateType = define.InvalidStateStore
defaultConfig.StorageConfig = storage.StoreOptions{}
emptyConfig, err := readConfigFromFile("testdata/empty.conf")
assert.NotNil(t, emptyConfig)
assert.Nil(t, err)
err = emptyConfig.mergeConfig(defaultConfig)
assert.Nil(t, err)
equal := reflect.DeepEqual(emptyConfig, defaultConfig)
assert.True(t, equal)
}
func TestMergeEmptyAndLibpodConfig(t *testing.T) {
// Make sure that when we merge the default config into an empty one that we
// effectively get the default config.
libpodConfig, err := readConfigFromFile("testdata/libpod.conf")
assert.NotNil(t, libpodConfig)
assert.Nil(t, err)
libpodConfig.StateType = define.InvalidStateStore
libpodConfig.StorageConfig = storage.StoreOptions{}
emptyConfig, err := readConfigFromFile("testdata/empty.conf")
assert.NotNil(t, emptyConfig)
assert.Nil(t, err)
err = emptyConfig.mergeConfig(libpodConfig)
assert.Nil(t, err)
equal := reflect.DeepEqual(emptyConfig, libpodConfig)
assert.True(t, equal)
}