| 197 | } |
| 198 | |
| 199 | func TestRedirectHTTPToHTTPSDeprecation(t *testing.T) { |
| 200 | t.Parallel() |
| 201 | |
| 202 | testcases := []struct { |
| 203 | name string |
| 204 | environ serpent.Environ |
| 205 | flags []string |
| 206 | expected bool |
| 207 | }{ |
| 208 | { |
| 209 | name: "AllUnset", |
| 210 | environ: serpent.Environ{}, |
| 211 | flags: []string{}, |
| 212 | expected: false, |
| 213 | }, |
| 214 | { |
| 215 | name: "CODER_TLS_REDIRECT_HTTP=true", |
| 216 | environ: serpent.Environ{{Name: "CODER_TLS_REDIRECT_HTTP", Value: "true"}}, |
| 217 | flags: []string{}, |
| 218 | expected: true, |
| 219 | }, |
| 220 | { |
| 221 | name: "CODER_TLS_REDIRECT_HTTP_TO_HTTPS=true", |
| 222 | environ: serpent.Environ{{Name: "CODER_TLS_REDIRECT_HTTP_TO_HTTPS", Value: "true"}}, |
| 223 | flags: []string{}, |
| 224 | expected: true, |
| 225 | }, |
| 226 | { |
| 227 | name: "CODER_TLS_REDIRECT_HTTP=false", |
| 228 | environ: serpent.Environ{{Name: "CODER_TLS_REDIRECT_HTTP", Value: "false"}}, |
| 229 | flags: []string{}, |
| 230 | expected: false, |
| 231 | }, |
| 232 | { |
| 233 | name: "CODER_TLS_REDIRECT_HTTP_TO_HTTPS=false", |
| 234 | environ: serpent.Environ{{Name: "CODER_TLS_REDIRECT_HTTP_TO_HTTPS", Value: "false"}}, |
| 235 | flags: []string{}, |
| 236 | expected: false, |
| 237 | }, |
| 238 | { |
| 239 | name: "--tls-redirect-http-to-https", |
| 240 | environ: serpent.Environ{}, |
| 241 | flags: []string{"--tls-redirect-http-to-https"}, |
| 242 | expected: true, |
| 243 | }, |
| 244 | } |
| 245 | |
| 246 | for _, tc := range testcases { |
| 247 | t.Run(tc.name, func(t *testing.T) { |
| 248 | t.Parallel() |
| 249 | ctx := testutil.Context(t, testutil.WaitShort) |
| 250 | logger := testutil.Logger(t) |
| 251 | flags := pflag.NewFlagSet("test", pflag.ContinueOnError) |
| 252 | _ = flags.Bool("tls-redirect-http-to-https", true, "") |
| 253 | err := flags.Parse(tc.flags) |
| 254 | require.NoError(t, err) |
| 255 | inv := (&serpent.Invocation{Environ: tc.environ}).WithTestParsedFlags(t, flags) |
| 256 | cfg := &codersdk.DeploymentValues{} |