MCPcopy Create free account
hub / github.com/dolthub/doltgresql / TestSSL

Function TestSSL

testing/go/ssl_test.go:63–115  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

61}
62
63func TestSSL(t *testing.T) {
64 port, err := sql.GetEmptyPort()
65 require.NoError(t, err)
66 controller, err := dserver.RunInMemory(&servercfg.DoltgresConfig{
67 DoltgresConfig: cfgdetails.DoltgresConfig{
68 ListenerConfig: &cfgdetails.DoltgresListenerConfig{
69 PortNumber: &port,
70 HostStr: ptr("127.0.0.1"),
71 },
72 },
73 }, NewSslListener)
74 require.NoError(t, err)
75
76 defer func() {
77 controller.Stop()
78 require.NoError(t, controller.WaitForStop())
79 }()
80
81 ctx := context.Background()
82 err = func() error {
83 // The connection attempt may be made before the server has grabbed the port, so we'll retry the first
84 // connection a few times.
85 var conn *pgx.Conn
86 var err error
87 for i := 0; i < 3; i++ {
88 conn, err = pgx.Connect(ctx, fmt.Sprintf("postgres://postgres:password@127.0.0.1:%d/?sslmode=require", port))
89 if err == nil {
90 break
91 } else {
92 time.Sleep(time.Second)
93 }
94 }
95 if err != nil {
96 return err
97 }
98 return conn.Close(ctx)
99 }()
100 require.NoError(t, err)
101
102 conn, err := pgx.Connect(ctx, fmt.Sprintf("postgres://postgres:password@127.0.0.1:%d/postgres?sslmode=require", port))
103 require.NoError(t, err)
104 defer conn.Close(ctx)
105
106 _, err = conn.Exec(ctx, "CREATE TABLE test (pk INT8 PRIMARY KEY, v1 int4);")
107 require.NoError(t, err)
108 _, err = conn.Exec(ctx, "INSERT INTO test VALUES (3645, 37643);")
109 require.NoError(t, err)
110 rows, err := conn.Query(ctx, "SELECT * FROM test;")
111 require.NoError(t, err)
112 readRows, _, err := ReadRows(rows, true)
113 require.NoError(t, err)
114 assert.Equal(t, NormalizeExpectedRow(rows.FieldDescriptions(), []sql.Row{{3645, 37643}}), readRows)
115}

Callers

nothing calls this directly

Calls 9

NormalizeExpectedRowFunction · 0.85
ConnectMethod · 0.80
ExecMethod · 0.80
ptrFunction · 0.70
ReadRowsFunction · 0.70
CloseMethod · 0.65
StopMethod · 0.45
QueryMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected