github.com/abolfazlbeh/zhycan@v0.0.0-20230819144214-24cf38237387/internal/config/wrapper_test.go (about) 1 package config 2 3 import ( 4 "reflect" 5 "testing" 6 "time" 7 ) 8 9 func createWrapper(configPath, name, envPrefix string) (*ViperWrapper, error) { 10 v := &ViperWrapper{ 11 ConfigPath: []string{configPath}, 12 ConfigName: name, 13 ConfigEnvPrefix: envPrefix, 14 ConfigResourcePlace: "", 15 } 16 err := v.Load() 17 return v, err 18 } 19 20 func TestWrapperCreation(t *testing.T) { 21 err := createManager() 22 if err == nil { 23 time.Sleep(3 * time.Second) 24 25 actualWrapper, err := createWrapper("../../configs/test/", 26 "logger", 27 "") 28 if err != nil { 29 t.Errorf("Cannot create wrapper object --> expected %v, but got %v", nil, err) 30 } 31 32 expectedWrapper, err := GetManager().GetConfigWrapper("logger") 33 if err != nil { 34 t.Errorf("Cannot create wrapper object from manager --> expected %v, but got %v", nil, err) 35 } 36 37 if !reflect.DeepEqual(actualWrapper, expectedWrapper) { 38 t.Errorf("cannot create wrapper object --> Expected %v, but got %v", expectedWrapper, actualWrapper) 39 } 40 } 41 } 42 43 func TestGetExistValue(t *testing.T) { 44 actualWrapper, err := createWrapper("../../configs/test/", 45 "logger", 46 "") 47 if err != nil { 48 t.Errorf("Cannot create wrapper object --> expected %v, but got %v", nil, err) 49 } 50 51 expectedVal := "zap" 52 actualVal, _ := actualWrapper.Get("type", false) 53 if expectedVal != actualVal { 54 t.Errorf("Get the key for the `type` --> Expected: %v, got %v", expectedVal, actualVal) 55 } 56 }