Files
podman/libpod/config/config_test.go
Valentin Rothberg b7b9f8d0cf libpod/config: use built-in TOML instead of manually merging
Instead of manually merging the configs, use the built-in features of
TOMP to merge/extend the fields of a data type when encoding a file.
This erases the need for the merge code in libpod/config and also
addresses issues when merging booleans.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-02-19 11:04:02 +01:00

59 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", &Config{})
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", &Config{})
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", defaultConfig)
assert.NotNil(t, emptyConfig)
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", &Config{})
assert.NotNil(t, libpodConfig)
assert.Nil(t, err)
libpodConfig.StateType = define.InvalidStateStore
libpodConfig.StorageConfig = storage.StoreOptions{}
emptyConfig, err := readConfigFromFile("testdata/empty.conf", libpodConfig)
assert.NotNil(t, emptyConfig)
assert.Nil(t, err)
equal := reflect.DeepEqual(emptyConfig, libpodConfig)
assert.True(t, equal)
}