You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.5 KiB
67 lines
1.5 KiB
package paladin_test |
|
|
|
import ( |
|
"io/ioutil" |
|
"os" |
|
"testing" |
|
|
|
"go-common/library/conf/paladin" |
|
|
|
"github.com/stretchr/testify/assert" |
|
) |
|
|
|
func TestNewFile(t *testing.T) { |
|
// test data |
|
path := "/tmp/test_conf/" |
|
assert.Nil(t, os.MkdirAll(path, 0700)) |
|
assert.Nil(t, ioutil.WriteFile(path+"test.toml", []byte(` |
|
text = "hello" |
|
number = 100 |
|
slice = [1, 2, 3] |
|
sliceStr = ["1", "2", "3"] |
|
`), 0644)) |
|
// test client |
|
cli, err := paladin.NewFile(path + "test.toml") |
|
assert.Nil(t, err) |
|
assert.NotNil(t, cli) |
|
// test map |
|
m := paladin.Map{} |
|
text, err := cli.Get("test.toml").String() |
|
assert.Nil(t, err) |
|
assert.Nil(t, m.Set(text), "text") |
|
s, err := m.Get("text").String() |
|
assert.Nil(t, err) |
|
assert.Equal(t, s, "hello", "text") |
|
n, err := m.Get("number").Int64() |
|
assert.Nil(t, err) |
|
assert.Equal(t, n, int64(100), "number") |
|
} |
|
|
|
func TestNewFilePath(t *testing.T) { |
|
// test data |
|
path := "/tmp/test_conf/" |
|
assert.Nil(t, os.MkdirAll(path, 0700)) |
|
assert.Nil(t, ioutil.WriteFile(path+"test.toml", []byte(` |
|
text = "hello" |
|
number = 100 |
|
`), 0644)) |
|
assert.Nil(t, ioutil.WriteFile(path+"abc.toml", []byte(` |
|
text = "hello" |
|
number = 100 |
|
`), 0644)) |
|
// test client |
|
cli, err := paladin.NewFile(path) |
|
assert.Nil(t, err) |
|
assert.NotNil(t, cli) |
|
// test map |
|
m := paladin.Map{} |
|
text, err := cli.Get("test.toml").String() |
|
assert.Nil(t, err) |
|
assert.Nil(t, m.Set(text), "text") |
|
s, err := m.Get("text").String() |
|
assert.Nil(t, err, s) |
|
assert.Equal(t, s, "hello", "text") |
|
n, err := m.Get("number").Int64() |
|
assert.Nil(t, err, s) |
|
assert.Equal(t, n, int64(100), "number") |
|
}
|
|
|