From 27a8625ccde346a659c6df56bf44ae5065e0e3c7 Mon Sep 17 00:00:00 2001 From: Igor Artasevych Date: Thu, 8 Oct 2020 18:38:59 +0300 Subject: [PATCH] #1193 Expose constructor of MapInputSource type --- altsrc/map_input_source.go | 5 +++++ altsrc/map_input_source_test.go | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/altsrc/map_input_source.go b/altsrc/map_input_source.go index 661b785..b144cf6 100644 --- a/altsrc/map_input_source.go +++ b/altsrc/map_input_source.go @@ -16,6 +16,11 @@ type MapInputSource struct { valueMap map[interface{}]interface{} } +//NewMapInputSource create a new MapInputSource type +func NewMapInputSource(file string, valueMap map[interface{}]interface{}) *MapInputSource { + return &MapInputSource{file: file, valueMap: valueMap} +} + // nestedVal checks if the name has '.' delimiters. // If so, it tries to traverse the tree by the '.' delimited sections to find // a nested value for the key. diff --git a/altsrc/map_input_source_test.go b/altsrc/map_input_source_test.go index 5046d14..b90f796 100644 --- a/altsrc/map_input_source_test.go +++ b/altsrc/map_input_source_test.go @@ -6,14 +6,13 @@ import ( ) func TestMapDuration(t *testing.T) { - inputSource := &MapInputSource{ - file: "test", - valueMap: map[interface{}]interface{}{ + inputSource := NewMapInputSource( + "test", + map[interface{}]interface{}{ "duration_of_duration_type": time.Minute, "duration_of_string_type": "1m", "duration_of_int_type": 1000, - }, - } + }) d, err := inputSource.Duration("duration_of_duration_type") expect(t, time.Minute, d) expect(t, nil, err)