@@ -78,6 +78,48 @@ func TestConfigFromFile(t *testing.T) {
7878 readConfigFile ("config.json.sample" , conf )
7979}
8080
81+ func TestApplyEnvOverrides (t * testing.T ) {
82+ t .Run ("overrides when env vars are set" , func (t * testing.T ) {
83+ t .Setenv ("PORT" , "1234" )
84+ t .Setenv ("DATABASE_URL" , "postgres://db.example/urlredir" )
85+
86+ c := & config {
87+ Listen : ":9999" ,
88+ DB : "host=/run/postgresql dbname=urlredir" ,
89+ }
90+
91+ applyEnvOverrides (c )
92+
93+ if c .Listen != ":1234" {
94+ t .Fatalf ("Listen = %q, want %q" , c .Listen , ":1234" )
95+ }
96+
97+ if c .DB != "postgres://db.example/urlredir" {
98+ t .Fatalf ("DB = %q, want %q" , c .DB , "postgres://db.example/urlredir" )
99+ }
100+ })
101+
102+ t .Run ("keeps config when env vars are unset" , func (t * testing.T ) {
103+ t .Setenv ("PORT" , "" )
104+ t .Setenv ("DATABASE_URL" , "" )
105+
106+ c := & config {
107+ Listen : ":8080" ,
108+ DB : "host=/run/postgresql dbname=urlredir" ,
109+ }
110+
111+ applyEnvOverrides (c )
112+
113+ if c .Listen != ":8080" {
114+ t .Fatalf ("Listen = %q, want %q" , c .Listen , ":8080" )
115+ }
116+
117+ if c .DB != "host=/run/postgresql dbname=urlredir" {
118+ t .Fatalf ("DB = %q, want %q" , c .DB , "host=/run/postgresql dbname=urlredir" )
119+ }
120+ })
121+ }
122+
81123func TestSetupServeMux (t * testing.T ) {
82124 t .Parallel ()
83125
0 commit comments