conf/string_test.v

100 lines
2.1 KiB
V

module conf
struct SingleConf {
some_string string
}
struct SingleConfDefault {
some_string string = 'default'
}
const env = {
'SOME_STRING': 'env'
}
const prefix_env = {
'TEST_SOME_STRING': 'env'
}
fn test_string_present_no_default() {
conf := load<SingleConf>(default_path: 'test/string.toml')!
assert conf == SingleConf{
some_string: 'hi'
}
}
fn test_string_present_no_default_env() {
conf := load<SingleConf>(default_path: 'test/string.toml', env: .env)!
assert conf == SingleConf{
some_string: 'env'
}
conf2 := load<SingleConf>(default_path: 'test/string.toml', env: .prefix_env, prefix: 'TEST_')!
assert conf2 == SingleConf{
some_string: 'env'
}
}
fn test_string_absent_no_default() {
conf := load<SingleConf>(default_path: 'test/empty.toml') or { return }
assert false
}
fn test_string_absent_no_default_env() {
conf := load<SingleConf>(default_path: 'test/string.toml', env: .env)!
assert conf == SingleConf{
some_string: 'env'
}
conf2 := load<SingleConf>(default_path: 'test/string.toml', env: .prefix_env, prefix: 'TEST_')!
assert conf2 == SingleConf{
some_string: 'env'
}
}
fn test_string_present_default() {
conf := load<SingleConfDefault>(default_path: 'test/string.toml')!
assert conf == SingleConfDefault{
some_string: 'hi'
}
}
fn test_string_present_default_env() {
conf := load<SingleConfDefault>(default_path: 'test/string.toml', env: .env)!
assert conf == SingleConfDefault{
some_string: 'env'
}
conf2 := load<SingleConfDefault>(
default_path: 'test/string.toml'
env: .prefix_env
prefix: 'TEST_'
)!
assert conf2 == SingleConfDefault{
some_string: 'env'
}
}
fn test_string_absent_default() {
conf := load<SingleConfDefault>(default_path: 'test/empty.toml')!
assert conf == SingleConfDefault{
some_string: 'default'
}
}
fn test_string_absent_default_env() {
conf := load<SingleConfDefault>(default_path: 'test/empty.toml', env: .env)!
assert conf == SingleConfDefault{
some_string: 'env'
}
conf2 := load<SingleConfDefault>(
default_path: 'test/empty.toml'
env: .prefix_env
prefix: 'TEST_'
)!
assert conf2 == SingleConfDefault{
some_string: 'env'
}
}