52 lignes
1,2 Kio
Go
52 lignes
1,2 Kio
Go
|
package config
|
||
|
|
||
|
import (
|
||
|
"reflect"
|
||
|
"testing"
|
||
|
|
||
|
"flag"
|
||
|
|
||
|
"github.com/jinzhu/configor"
|
||
|
)
|
||
|
|
||
|
var _ = func() (_ struct{}) {
|
||
|
ConfigPath = "config.yml"
|
||
|
DefaultConfigPath = "default_config.yml"
|
||
|
Reload()
|
||
|
return
|
||
|
}()
|
||
|
|
||
|
func TestBindFlags(t *testing.T) {
|
||
|
oldConf := *Get()
|
||
|
if !reflect.DeepEqual(oldConf, *Get()) {
|
||
|
t.Error("Couldn't copy Conf *Config to make the test")
|
||
|
}
|
||
|
|
||
|
Get().Host = "something"
|
||
|
if reflect.DeepEqual(oldConf, *Get()) {
|
||
|
t.Error("Couldn't overwrtie property on Conf *Config")
|
||
|
}
|
||
|
|
||
|
Get().Host = oldConf.Host // Reset value
|
||
|
if !reflect.DeepEqual(oldConf, *Get()) {
|
||
|
t.Error("Couldn't reset value on Conf *Config")
|
||
|
}
|
||
|
|
||
|
flag.StringVar(&Get().DBType, "dbtype", "dfdf", "database backend")
|
||
|
configor.Load(Get())
|
||
|
if reflect.DeepEqual(oldConf, *Get()) {
|
||
|
t.Error("Couldn't overwrtie property with flags on Conf *Config")
|
||
|
}
|
||
|
|
||
|
Get().DBType = oldConf.DBType // Reset
|
||
|
if !reflect.DeepEqual(oldConf, *Get()) {
|
||
|
t.Error("Couldn't reset value on Conf *Config")
|
||
|
}
|
||
|
|
||
|
flag.StringVar(&Get().Host, "host", Get().Host, "binding address of the server")
|
||
|
configor.Load(Get())
|
||
|
if !reflect.DeepEqual(oldConf, *Get()) {
|
||
|
t.Error("Couldn't overwrtie by default property on Conf *Config")
|
||
|
}
|
||
|
}
|