package clickhouse_test import ( "database/sql" "testing" "github.com/ClickHouse/clickhouse-go" "github.com/stretchr/testify/assert" ) func Test_Negative_OpenConnectAndPing(t *testing.T) { if connect, err := sql.Open("clickhouse", ""); assert.NoError(t, err) { assert.Error(t, connect.Ping()) } if connect, err := sql.Open("clickhouse", "tcp://127.0.0.1:10000"); assert.NoError(t, err) { assert.Error(t, connect.Ping()) } if connect, err := sql.Open("clickhouse", "tcp://127.0.0.1:9000?username=invalid"); assert.NoError(t, err) { if err := connect.Ping(); assert.Error(t, err) { if exception, ok := err.(*clickhouse.Exception); assert.True(t, ok) { assert.Truef(t, exception.Code == int32(192) || exception.Code == int32(516), "Not equal. Expected: 192 or 516. Actual: %n", exception.Code) } } } if connect, err := sql.Open("clickhouse", "tcp://127.0.0.1:9000?password=invalid"); assert.NoError(t, err) { if err := connect.Ping(); assert.Error(t, err) { if exception, ok := err.(*clickhouse.Exception); assert.True(t, ok) { assert.Truef(t, exception.Code == int32(192) || exception.Code == int32(516), "Not equal. Expected: 192 or 516. Actual: %n", exception.Code) } } } if connect, err := sql.Open("clickhouse", "tcp://127.0.0.1:9000?database=invalid"); assert.NoError(t, err) { if err := connect.Ping(); assert.Error(t, err) { if exception, ok := err.(*clickhouse.Exception); assert.True(t, ok) { assert.Equal(t, int32(81), exception.Code) } } } }