From 957b9f6bdf9e737f1352c136170a6188adbe0cf1 Mon Sep 17 00:00:00 2001 From: Kuba Kaflik Date: Tue, 15 Oct 2024 10:44:47 +0200 Subject: [PATCH] Use a dedicated test environment for broken connection test recover #1421 --- .../1421_test.go} | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) rename tests/{broken_connection_test.go => issues/1421_test.go} (78%) diff --git a/tests/broken_connection_test.go b/tests/issues/1421_test.go similarity index 78% rename from tests/broken_connection_test.go rename to tests/issues/1421_test.go index 20db042c43..904ee4fde7 100644 --- a/tests/broken_connection_test.go +++ b/tests/issues/1421_test.go @@ -1,31 +1,35 @@ -package tests +package issues import ( "context" "errors" - "github.com/ClickHouse/clickhouse-go/v2" + "os" + "syscall" + "testing" + "github.com/ClickHouse/clickhouse-go/v2/lib/driver" + "github.com/ClickHouse/clickhouse-go/v2/tests" "github.com/docker/docker/api/types/container" "github.com/stretchr/testify/require" "github.com/testcontainers/testcontainers-go" - "os" - "syscall" - "testing" ) //goland:noinspection ALL const insertQry = "INSERT INTO test (foo, foo2)" -func TestBatchFlushBrokenConn(t *testing.T) { - env, err := GetNativeTestEnvironment() +func Test1421BatchFlushBrokenConn(t *testing.T) { + // create a dedicated test environment for this test + // note: test environment management is a bit messy, consider refactoring + env, err := tests.CreateClickHouseTestEnvironment(t.Name()) + tests.SetTestEnvironment(t.Name(), env) + require.NoError(t, tests.CreateDatabase(t.Name())) + require.NoError(t, err) require.NotNil(t, env) ctx := context.Background() client, err := testcontainers.NewDockerClientWithOpts(ctx) require.NoError(t, err) - chClient, err := getConnection(env, env.Database, clickhouse.Settings{}, nil, &clickhouse.Compression{ - Method: clickhouse.CompressionLZ4, - }) + chClient, err := tests.TestClientWithDefaultSettings(env) err = chClient.Exec(ctx, "CREATE TABLE test (foo String, foo2 String) ENGINE = MergeTree ORDER BY (foo)") require.NoError(t, err)