func Example_user_insecure() { s, err := serverutils.StartServerRaw( base.TestServerArgs{Insecure: true}) if err != nil { log.Fatalf(context.Background(), "Could not start server: %v", err) } defer s.Stopper().Stop() c := cliTest{TestServer: s.(*server.TestServer), cleanupFunc: func() {}} // Since util.IsolatedTestAddr is used on Linux in insecure test clusters, // we have to reset the advertiseHost so that the value from previous // tests is not used to construct an incorrect postgres URL by the client. advertiseHost = "" // No prompting for password in insecure mode. c.Run("user set foo") c.Run("user ls --pretty") // Output: // user set foo // INSERT 1 // user ls --pretty // +----------+ // | username | // +----------+ // | foo | // +----------+ // (1 row) }
// TestSelfBootstrap verifies operation when no bootstrap hosts have // been specified. func TestSelfBootstrap(t *testing.T) { defer leaktest.AfterTest(t)() s, err := serverutils.StartServerRaw(base.TestServerArgs{}) if err != nil { t.Fatal(err) } defer s.Stopper().Stop() }
func newCLITest(t *testing.T, insecure bool) (cliTest, error) { c := cliTest{} certsDir, err := ioutil.TempDir("", "cli-test") if err != nil { return cliTest{}, err } c.certsDir = certsDir // Reset the client context for each test. We don't reset the // pointer (because they are tied into the flags), but instead // overwrite the existing struct's values. baseCfg.InitDefaults() cliCtx.InitCLIDefaults() s, err := serverutils.StartServerRaw(base.TestServerArgs{Insecure: insecure}) if err != nil { return cliTest{}, err } c.TestServer = s.(*server.TestServer) if insecure { c.cleanupFunc = func() error { return nil } } else { // Copy these assets to disk from embedded strings, so this test can // run from a standalone binary. // Disable embedded certs, or the security library will try to load // our real files as embedded assets. security.ResetReadFileFn() assets := []string{ filepath.Join(security.EmbeddedCertsDir, security.EmbeddedCACert), filepath.Join(security.EmbeddedCertsDir, security.EmbeddedCAKey), filepath.Join(security.EmbeddedCertsDir, security.EmbeddedNodeCert), filepath.Join(security.EmbeddedCertsDir, security.EmbeddedNodeKey), filepath.Join(security.EmbeddedCertsDir, security.EmbeddedRootCert), filepath.Join(security.EmbeddedCertsDir, security.EmbeddedRootKey), } for _, a := range assets { securitytest.RestrictedCopy(nil, a, certsDir, filepath.Base(a)) } c.cleanupFunc = func() error { security.SetReadFileFn(securitytest.Asset) return os.RemoveAll(certsDir) } } // Ensure that CLI error messages are logged to stdout, where they // can be captured. osStderr = os.Stdout return c, nil }
func newCLITest() cliTest { // Reset the client context for each test. We don't reset the // pointer (because they are tied into the flags), but instead // overwrite the existing struct's values. baseCfg.InitDefaults() cliCtx.InitCLIDefaults() osStderr = os.Stdout s, err := serverutils.StartServerRaw(base.TestServerArgs{}) if err != nil { log.Fatalf(context.Background(), "Could not start server: %s", err) } tempDir, err := ioutil.TempDir("", "cli-test") if err != nil { log.Fatal(context.Background(), err) } // Copy these assets to disk from embedded strings, so this test can // run from a standalone binary. // Disable embedded certs, or the security library will try to load // our real files as embedded assets. security.ResetReadFileFn() assets := []string{ filepath.Join(security.EmbeddedCertsDir, security.EmbeddedCACert), filepath.Join(security.EmbeddedCertsDir, security.EmbeddedCAKey), filepath.Join(security.EmbeddedCertsDir, security.EmbeddedNodeCert), filepath.Join(security.EmbeddedCertsDir, security.EmbeddedNodeKey), filepath.Join(security.EmbeddedCertsDir, security.EmbeddedRootCert), filepath.Join(security.EmbeddedCertsDir, security.EmbeddedRootKey), } for _, a := range assets { securitytest.RestrictedCopy(nil, a, tempDir, filepath.Base(a)) } return cliTest{ TestServer: s.(*server.TestServer), certsDir: tempDir, cleanupFunc: func() { if err := os.RemoveAll(tempDir); err != nil { log.Fatal(context.Background(), err) } }, } }
func Example_insecure() { s, err := serverutils.StartServerRaw( base.TestServerArgs{Insecure: true}) if err != nil { log.Fatalf(context.Background(), "Could not start server: %v", err) } defer s.Stopper().Stop() c := cliTest{TestServer: s.(*server.TestServer), cleanupFunc: func() {}} c.Run("debug kv put a 1 b 2") c.Run("debug kv scan") // Output: // debug kv put a 1 b 2 // debug kv scan // "a" "1" // "b" "2" // 2 result(s) }