@@ -132,6 +132,10 @@ type simpleConfig struct {
132
132
Timeout time.Duration `default:"5s" env:"DB_TIMEOUT"`
133
133
}
134
134
135
+ type pigPort struct {
136
+ Port uint16 `env:"BIG_PORT" validate:"required"`
137
+ }
138
+
135
139
func TestLoadUsingReflect (t * testing.T ) {
136
140
// ENV settings PORT=80;DB=db/file;CACHE=5;BADCACHE1=i;BADCACHE2=300
137
141
t .Setenv ("PORT" , "80" )
@@ -152,6 +156,7 @@ func TestLoadUsingReflect(t *testing.T) {
152
156
t .Setenv ("HAS_DB" , "true" )
153
157
t .Setenv ("DOMAIN" , "3lines.club" )
154
158
t .Setenv ("EMAIL" , "email@3lines.club" )
159
+ t .Setenv ("BIG_PORT" , "25060" )
155
160
156
161
var goodSettings1 goodEnvironmentSettings1
157
162
var goodSettings3withEmptyString goodEnvironmentSettings3withEmptyString
@@ -198,6 +203,7 @@ func TestLoadUsingReflect(t *testing.T) {
198
203
{"not_set_env" , & simple , nil },
199
204
{"omitted field" , & settingsWithStruct3 {}, nil },
200
205
{"an example" , & Settings {}, nil },
206
+ {"big port" , & pigPort {}, nil },
201
207
}
202
208
203
209
var err error
@@ -210,6 +216,7 @@ func TestLoadUsingReflect(t *testing.T) {
210
216
211
217
t .Run (tt .name , func (t * testing.T ) {
212
218
err = Load (tt .settings )
219
+ t .Logf ("settings: %v" , tt .settings )
213
220
214
221
if errors .Is (err , tt .wantErr ) {
215
222
if err != nil {
0 commit comments