| 468 | } |
| 469 | |
| 470 | func TestSingleOriginSetsConfig(t *testing.T) { |
| 471 | flagSet := flag.NewFlagSet(t.Name(), flag.PanicOnError) |
| 472 | flagSet.Bool("hello-world", true, "") |
| 473 | flagSet.Duration(ProxyConnectTimeoutFlag, time.Second, "") |
| 474 | flagSet.Duration(ProxyTLSTimeoutFlag, time.Second, "") |
| 475 | flagSet.Duration(ProxyTCPKeepAliveFlag, time.Second, "") |
| 476 | flagSet.Bool(ProxyNoHappyEyeballsFlag, true, "") |
| 477 | flagSet.Int(ProxyKeepAliveConnectionsFlag, 10, "") |
| 478 | flagSet.Duration(ProxyKeepAliveTimeoutFlag, time.Second, "") |
| 479 | flagSet.String(HTTPHostHeaderFlag, "example.com:8080", "") |
| 480 | flagSet.String(OriginServerNameFlag, "example.com", "") |
| 481 | flagSet.String(tlsconfig.OriginCAPoolFlag, "/etc/certs/ca.pem", "") |
| 482 | flagSet.Bool(NoTLSVerifyFlag, true, "") |
| 483 | flagSet.Bool(NoChunkedEncodingFlag, true, "") |
| 484 | flagSet.Bool(config.BastionFlag, true, "") |
| 485 | flagSet.String(ProxyAddressFlag, "localhost:8080", "") |
| 486 | flagSet.Uint(ProxyPortFlag, 8080, "") |
| 487 | flagSet.Bool(Socks5Flag, true, "") |
| 488 | |
| 489 | cliCtx := cli.NewContext(cli.NewApp(), flagSet, nil) |
| 490 | err := cliCtx.Set("hello-world", "true") |
| 491 | require.NoError(t, err) |
| 492 | err = cliCtx.Set(ProxyConnectTimeoutFlag, "1s") |
| 493 | require.NoError(t, err) |
| 494 | err = cliCtx.Set(ProxyTLSTimeoutFlag, "1s") |
| 495 | require.NoError(t, err) |
| 496 | err = cliCtx.Set(ProxyTCPKeepAliveFlag, "1s") |
| 497 | require.NoError(t, err) |
| 498 | err = cliCtx.Set(ProxyNoHappyEyeballsFlag, "true") |
| 499 | require.NoError(t, err) |
| 500 | err = cliCtx.Set(ProxyKeepAliveConnectionsFlag, "10") |
| 501 | require.NoError(t, err) |
| 502 | err = cliCtx.Set(ProxyKeepAliveTimeoutFlag, "1s") |
| 503 | require.NoError(t, err) |
| 504 | err = cliCtx.Set(HTTPHostHeaderFlag, "example.com:8080") |
| 505 | require.NoError(t, err) |
| 506 | err = cliCtx.Set(OriginServerNameFlag, "example.com") |
| 507 | require.NoError(t, err) |
| 508 | err = cliCtx.Set(tlsconfig.OriginCAPoolFlag, "/etc/certs/ca.pem") |
| 509 | require.NoError(t, err) |
| 510 | err = cliCtx.Set(NoTLSVerifyFlag, "true") |
| 511 | require.NoError(t, err) |
| 512 | err = cliCtx.Set(NoChunkedEncodingFlag, "true") |
| 513 | require.NoError(t, err) |
| 514 | err = cliCtx.Set(config.BastionFlag, "true") |
| 515 | require.NoError(t, err) |
| 516 | err = cliCtx.Set(ProxyAddressFlag, "localhost:8080") |
| 517 | require.NoError(t, err) |
| 518 | err = cliCtx.Set(ProxyPortFlag, "8080") |
| 519 | require.NoError(t, err) |
| 520 | err = cliCtx.Set(Socks5Flag, "true") |
| 521 | require.NoError(t, err) |
| 522 | |
| 523 | allowURLFromArgs := false |
| 524 | require.NoError(t, err) |
| 525 | ingress, err := parseCLIIngress(cliCtx, allowURLFromArgs) |
| 526 | require.NoError(t, err) |
| 527 | |