@@ -135,12 +135,29 @@ func TestErrorFormatting(t *testing.T) {
135135}
136136
137137func TestDeepErrorFormatting (t * testing.T ) {
138- cfg := DefaultDeepConfiguration ()
139- err := cfg .Validate ()
138+ defaults := DefaultDeepConfiguration ()
139+ err := defaults .Validate ()
140140 require .Error (t , err )
141141
142142 errortest .AssertError (t , err , commonerrors .ErrInvalid )
143143 assert .Contains (t , err .Error (), "invalid: structure failed validation: (TestConfigDeep->TestConfig->db) [DEEP_CONFIG_DUMMYCONFIG_DB] cannot be blank" )
144+
145+ err = os .Setenv ("TEST_DEEP_CONFIG_DUMMYCONFIG_DB" , "a test db" )
146+ require .NoError (t , err )
147+ err = os .Setenv ("TEST_DEEP_CONFIG_DUMMYCONFIG_DUMMY_HOST" , "a test host" )
148+ require .NoError (t , err )
149+ err = os .Setenv ("TEST_DEEP_CONFIG_DUMMYCONFIG_PASSWORD" , "a test password" )
150+ require .NoError (t , err )
151+ err = os .Setenv ("TEST_DEEP_CONFIG_DUMMYCONFIG_USER" , "a test user" )
152+ require .NoError (t , err )
153+
154+ t .Run ("defined mapstructure" , func (t * testing.T ) {
155+ configTest2 := & DeepConfig {}
156+ err = LoadFromSystem ("test" , configTest2 , defaults )
157+
158+ errortest .AssertError (t , err , commonerrors .ErrInvalid )
159+ assert .Contains (t , err .Error (), "invalid: structure failed validation: (TestConfigDeep->TestConfig2->db) [TEST_DEEP_CONFIG_DUMMY_CONFIG_DB] cannot be blank" )
160+ })
144161}
145162
146163func TestServiceConfigurationLoad (t * testing.T ) {
0 commit comments