From 721ca8a6e64c3f1973e32df1fab89f96681d5d4e Mon Sep 17 00:00:00 2001 From: Michael McGuinness Date: Sat, 3 May 2025 11:29:10 +0000 Subject: [PATCH] Merged in feature/dockerfileintest (pull request #130) Dockerfile in Test * dockerfile * network * const --- devbox.json | 2 +- internal/database/migrations_test.go | 2 +- internal/database/repository/clean_test.go | 2 +- internal/database/repository/client_test.go | 2 +- .../database/repository/collector_test.go | 2 +- internal/database/repository/document_test.go | 2 +- internal/database/repository/query_test.go | 8 +-- internal/database/repository/result_test.go | 6 +- internal/database/repository/sync_test.go | 22 +++---- internal/database/repository/text_test.go | 6 +- internal/server/api/listener_test.go | 2 +- internal/server/runner/listener_test.go | 2 +- internal/server/server_test.go | 2 +- internal/serviceconfig/database/pool_test.go | 2 +- .../serviceconfig/objectstore/config_test.go | 2 +- internal/test/api_test.go | 2 +- internal/test/aws_test.go | 2 +- internal/test/container.go | 34 +++++----- internal/test/container_test.go | 2 +- internal/test/database_test.go | 4 +- internal/test/ecosystem.go | 2 +- internal/test/ecosystem_test.go | 2 +- internal/test/network.go | 63 +++++-------------- internal/test/network_test.go | 4 +- internal/test/objectstore_test.go | 4 +- internal/test/queue_test.go | 8 +-- internal/test/runner_test.go | 2 +- 27 files changed, 83 insertions(+), 110 deletions(-) diff --git a/devbox.json b/devbox.json index c2c1e09c..39f1f44e 100644 --- a/devbox.json +++ b/devbox.json @@ -13,8 +13,8 @@ "COGNITO_CLIENT_ID": "552cqkf3640t39ncehkmgpce31", "COGNITO_CLIENT_SECRET": "aaknqeq9ajr07qjch4tkq38ulghvn2i8v7tn3d2fcv44uevfemf", "COGNITO_DOMAIN": "https://us-east-21y6po8rr8.auth.us-east-2.amazoncognito.com", - "COGNITO_USER_POOL_ID": "us-east-2_1y6po8rR8", "COGNITO_REGION": "us-east-2", + "COGNITO_USER_POOL_ID": "us-east-2_1y6po8rR8", "DB_NOSSL": "true", "DOCUMENT_CLEAN_URL": "http://localstack:4566/queue/us-east-1/000000000000/document_clean", "DOCUMENT_INIT_URL": "http://localstack:4566/queue/us-east-1/000000000000/document_init", diff --git a/internal/database/migrations_test.go b/internal/database/migrations_test.go index 5df85864..4410594c 100644 --- a/internal/database/migrations_test.go +++ b/internal/database/migrations_test.go @@ -18,7 +18,7 @@ func TestRunMigrations(t *testing.T) { ctx := t.Context() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{ NoMigrations: true, }) diff --git a/internal/database/repository/clean_test.go b/internal/database/repository/clean_test.go index 4fb8f5bd..1ada0152 100644 --- a/internal/database/repository/clean_test.go +++ b/internal/database/repository/clean_test.go @@ -20,7 +20,7 @@ func TestClean(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() diff --git a/internal/database/repository/client_test.go b/internal/database/repository/client_test.go index e4428df0..11f317f7 100644 --- a/internal/database/repository/client_test.go +++ b/internal/database/repository/client_test.go @@ -20,7 +20,7 @@ func TestClient(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() diff --git a/internal/database/repository/collector_test.go b/internal/database/repository/collector_test.go index e1012b2c..bfa558ab 100644 --- a/internal/database/repository/collector_test.go +++ b/internal/database/repository/collector_test.go @@ -22,7 +22,7 @@ func TestCollector(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() diff --git a/internal/database/repository/document_test.go b/internal/database/repository/document_test.go index d919d335..7d3cead1 100644 --- a/internal/database/repository/document_test.go +++ b/internal/database/repository/document_test.go @@ -20,7 +20,7 @@ func TestDocument(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() diff --git a/internal/database/repository/query_test.go b/internal/database/repository/query_test.go index 9542d87c..05519b01 100644 --- a/internal/database/repository/query_test.go +++ b/internal/database/repository/query_test.go @@ -21,7 +21,7 @@ func TestQueries(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -231,7 +231,7 @@ func TestQueryDependencyTree(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -450,7 +450,7 @@ func TestQueriesList(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -506,7 +506,7 @@ func TestListQueryClients(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() diff --git a/internal/database/repository/result_test.go b/internal/database/repository/result_test.go index aa138277..e260d044 100644 --- a/internal/database/repository/result_test.go +++ b/internal/database/repository/result_test.go @@ -23,7 +23,7 @@ func TestResults(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -162,7 +162,7 @@ func TestResultValues(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -376,7 +376,7 @@ func TestUnsyncedNoDepsQueries(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() diff --git a/internal/database/repository/sync_test.go b/internal/database/repository/sync_test.go index 4f2a5013..98e0d82e 100644 --- a/internal/database/repository/sync_test.go +++ b/internal/database/repository/sync_test.go @@ -23,7 +23,7 @@ func TestListClientDocumentIDs(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -176,7 +176,7 @@ func TestClientSync(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -247,7 +247,7 @@ func TestClientSync(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -414,7 +414,7 @@ func TestClientSync(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -507,7 +507,7 @@ func TestClientSync(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -609,7 +609,7 @@ func TestClientSync(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -743,7 +743,7 @@ func TestClientSync(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -830,7 +830,7 @@ func TestClientSync(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -865,7 +865,7 @@ func TestClientSync(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -1070,7 +1070,7 @@ func BenchmarkIsClientSynced(b *testing.B) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(b, ctx) + net := test.GetNetwork(b, ctx) _ = test.CreateDB(b, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -1090,7 +1090,7 @@ func BenchmarkGetDocumentExternal(b *testing.B) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(b, ctx) + net := test.GetNetwork(b, ctx) _ = test.CreateDB(b, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() diff --git a/internal/database/repository/text_test.go b/internal/database/repository/text_test.go index 4efb4697..d0d36cd7 100644 --- a/internal/database/repository/text_test.go +++ b/internal/database/repository/text_test.go @@ -23,7 +23,7 @@ func TestTextExtraction(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -131,7 +131,7 @@ func TestTextTextractPart(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() @@ -261,7 +261,7 @@ func TestTextOutPart(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) queries := cfg.GetDBQueries() diff --git a/internal/server/api/listener_test.go b/internal/server/api/listener_test.go index 162d9ba1..c5c83d83 100644 --- a/internal/server/api/listener_test.go +++ b/internal/server/api/listener_test.go @@ -28,7 +28,7 @@ func TestNewAPI(t *testing.T) { cfg := &BaseConfig{} _ = serviceconfig.InitializeConfig(cfg) - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{ NoMigrations: true, }) diff --git a/internal/server/runner/listener_test.go b/internal/server/runner/listener_test.go index 1dcd1acd..3f21547d 100644 --- a/internal/server/runner/listener_test.go +++ b/internal/server/runner/listener_test.go @@ -29,7 +29,7 @@ func TestNewRunner(t *testing.T) { ctx := context.Background() cfg := &TestConfig{} _ = serviceconfig.InitializeConfig(cfg) - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) a := test.CreateAWSContainer(t, ctx, cfg, net) test.SetQueueClient(t, ctx, cfg, a.ExternalEndpoint) diff --git a/internal/server/server_test.go b/internal/server/server_test.go index ae9d9f81..a8b32338 100644 --- a/internal/server/server_test.go +++ b/internal/server/server_test.go @@ -22,7 +22,7 @@ func TestNewServer(t *testing.T) { cfg := &server.BaseConfig{} _ = serviceconfig.InitializeConfig(cfg) - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{ NoMigrations: true, diff --git a/internal/serviceconfig/database/pool_test.go b/internal/serviceconfig/database/pool_test.go index 9b82a124..9f34405c 100644 --- a/internal/serviceconfig/database/pool_test.go +++ b/internal/serviceconfig/database/pool_test.go @@ -21,7 +21,7 @@ func TestSetDBPool(t *testing.T) { ctx := context.Background() cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) err := cfg.SetDBPool(ctx) diff --git a/internal/serviceconfig/objectstore/config_test.go b/internal/serviceconfig/objectstore/config_test.go index faa1f7bf..2f315b00 100644 --- a/internal/serviceconfig/objectstore/config_test.go +++ b/internal/serviceconfig/objectstore/config_test.go @@ -94,7 +94,7 @@ func TestCalculateAndCompareETag(t *testing.T) { cfg := &StoreConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) acfg := test.CreateAWSContainer(t, ctx, cfg, net) test.SetStoreClient(t, ctx, cfg, acfg.ExternalEndpoint) test.CreateBucket(t, ctx, cfg) diff --git a/internal/test/api_test.go b/internal/test/api_test.go index 8295add6..c3b7ca94 100644 --- a/internal/test/api_test.go +++ b/internal/test/api_test.go @@ -18,7 +18,7 @@ func TestCreateAPI(t *testing.T) { cfg := &serviceconfig.BaseConfig{} _ = serviceconfig.InitializeConfig(cfg) - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) _ = test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{NoMigrations: true}) acfg := &test.APIConfig{ diff --git a/internal/test/aws_test.go b/internal/test/aws_test.go index 3d5634d3..a3f85cdd 100644 --- a/internal/test/aws_test.go +++ b/internal/test/aws_test.go @@ -23,7 +23,7 @@ func TestCreateQueueContainer(t *testing.T) { ctx := context.Background() cfg := &TestAWSConfig{} - net := DepNetwork.Get(t, ctx) + net := GetNetwork(t, ctx) qcfg := CreateAWSContainer(t, ctx, cfg, net) assert.NotNil(t, qcfg) diff --git a/internal/test/container.go b/internal/test/container.go index dd5dba2d..61cef384 100644 --- a/internal/test/container.go +++ b/internal/test/container.go @@ -13,8 +13,10 @@ import ( "queryorchestration/internal/serviceconfig" + "github.com/docker/docker/api/types" + "github.com/docker/docker/client" + "github.com/docker/docker/pkg/archive" "github.com/docker/go-connections/nat" - "github.com/gruntwork-io/terratest/modules/shell" "github.com/stretchr/testify/require" "github.com/testcontainers/testcontainers-go" "github.com/testcontainers/testcontainers-go/wait" @@ -43,7 +45,7 @@ var ( imageBuild sync.Once ) -func buildImage(t testing.TB) { +func buildImage(t testing.TB, ctx context.Context) { imageBuild.Do(func() { dockerContextPath, err := os.Getwd() require.NoError(t, err, "Failed to get current directory") @@ -54,25 +56,25 @@ func buildImage(t testing.TB) { candidatePath := filepath.Join(dockerContextPath, dockerfilePath) t.Logf("Checking for Dockerfile at: %s", dockerContextPath) - if _, err := os.Stat(candidatePath); err == nil { - dockerfilePath = candidatePath - t.Logf("Found Dockerfile at: %s", candidatePath) + _, err := os.Stat(candidatePath) + if err == nil { break } dockerContextPath = filepath.Join(dockerContextPath, "..") } - dockerBuildCmd := shell.Command{ - Command: "docker", - Args: []string{ - "build", - "--file", dockerfilePath, - "--tag", imageTag, - dockerContextPath, - }, - } - err = shell.RunCommandE(t, dockerBuildCmd) + cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation()) + require.NoError(t, err) + + buildContext, err := archive.TarWithOptions(dockerContextPath, &archive.TarOptions{}) + require.NoError(t, err) + defer buildContext.Close() + + _, err = cli.ImageBuild(ctx, buildContext, types.ImageBuildOptions{ + Dockerfile: dockerfilePath, + Tags: []string{imageTag}, + }) require.NoError(t, err) }) } @@ -111,7 +113,7 @@ func createContainer(t testing.TB, ctx context.Context, network string, cfg *con env[string(GetRunnerEnvFromName(e))] = GetQueueURL(t, cfg.Cfg, e) } - buildImage(t) + buildImage(t, ctx) req := testcontainers.ContainerRequest{ Image: imageTag, diff --git a/internal/test/container_test.go b/internal/test/container_test.go index 39bd6976..1d7adf5c 100644 --- a/internal/test/container_test.go +++ b/internal/test/container_test.go @@ -16,7 +16,7 @@ func TestBuildImage(t *testing.T) { if testing.Short() { t.SkipNow() } - buildImage(t) + buildImage(t, t.Context()) exists := docker.DoesImageExist(t, imageTag, nil) assert.True(t, exists) diff --git a/internal/test/database_test.go b/internal/test/database_test.go index 264aa27b..f75e330a 100644 --- a/internal/test/database_test.go +++ b/internal/test/database_test.go @@ -19,7 +19,7 @@ func TestCreateDB(t *testing.T) { cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) dbcfg := test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{NoMigrations: true}) assert.NotNil(t, dbcfg) @@ -35,7 +35,7 @@ func TestCreateDBWithMigrations(t *testing.T) { cfg := &serviceconfig.BaseConfig{} - net := test.DepNetwork.Get(t, ctx) + net := test.GetNetwork(t, ctx) dbcfg := test.CreateDB(t, ctx, cfg, net, &test.CreateDatabaseConfig{}) assert.NotNil(t, dbcfg) diff --git a/internal/test/ecosystem.go b/internal/test/ecosystem.go index 97951efd..88cfa57e 100644 --- a/internal/test/ecosystem.go +++ b/internal/test/ecosystem.go @@ -91,7 +91,7 @@ type Dependencies struct { } func CreateFullDependencies(t testing.TB, ctx context.Context, cfg FullDependenciesConfig) (Dependencies, func()) { - network := DepNetwork.Get(t, ctx) + network := GetNetwork(t, ctx) deps := Dependencies{ Network: network, diff --git a/internal/test/ecosystem_test.go b/internal/test/ecosystem_test.go index 68cb6b4e..b1d9bbf2 100644 --- a/internal/test/ecosystem_test.go +++ b/internal/test/ecosystem_test.go @@ -58,7 +58,7 @@ func TestWaitForMockEndpoint(t *testing.T) { } ctx := context.Background() - net := DepNetwork.Get(t, ctx) + net := GetNetwork(t, ctx) server, cleanup := CreateMockServer(t, ctx, net) defer cleanup() diff --git a/internal/test/network.go b/internal/test/network.go index f50ecdf1..1c00847c 100644 --- a/internal/test/network.go +++ b/internal/test/network.go @@ -12,59 +12,30 @@ import ( "github.com/stretchr/testify/require" ) -type NetworkManager struct { - networkName string - mutex sync.Mutex - initialized bool -} - -var ( - DepNetwork = &NetworkManager{} -) - const ( networkName = "queryorchestration_test" ) -func (nm *NetworkManager) Get(t testing.TB, ctx context.Context) string { - nm.mutex.Lock() - defer nm.mutex.Unlock() +var ( + networkOnce sync.Once +) - if nm.initialized { - return nm.networkName - } - - cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation()) - require.NoError(t, err) - - nm.networkName = networkName - - current, err := cli.NetworkList(ctx, network.ListOptions{}) - require.NoError(t, err) - - found := false - for _, c := range current { - if c.Name == nm.networkName { - found = true - continue - } - } - - if found { - return nm.networkName - } - - _, err = cli.NetworkCreate(ctx, nm.networkName, network.CreateOptions{ - Driver: "bridge", - }) - conflictErrorMsg := fmt.Sprintf("Error response from daemon: network with name %s already exists", nm.networkName) - if err != nil && err.Error() != conflictErrorMsg { +func GetNetwork(t testing.TB, ctx context.Context) string { + networkOnce.Do(func() { + cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation()) require.NoError(t, err) - } - slog.Info("created network", "name", nm.networkName) + _, err = cli.NetworkCreate(ctx, networkName, network.CreateOptions{ + Driver: network.NetworkBridge, + }) + conflictErrorMsg := fmt.Sprintf("Error response from daemon: network with name %s already exists", networkName) + if err != nil && err.Error() != conflictErrorMsg { + require.NoError(t, err) + } - nm.initialized = true + slog.Info("created network", "name", networkName) - return nm.networkName + }) + + return networkName } diff --git a/internal/test/network_test.go b/internal/test/network_test.go index 369c4694..410a28b2 100644 --- a/internal/test/network_test.go +++ b/internal/test/network_test.go @@ -12,9 +12,9 @@ import ( func TestDepNetworkGet(t *testing.T) { ctx := context.Background() - name := test.DepNetwork.Get(t, ctx) + name := test.GetNetwork(t, ctx) assert.NotNil(t, name) - newName := test.DepNetwork.Get(t, ctx) + newName := test.GetNetwork(t, ctx) assert.Equal(t, name, newName) } diff --git a/internal/test/objectstore_test.go b/internal/test/objectstore_test.go index 8fb22e41..3e072c04 100644 --- a/internal/test/objectstore_test.go +++ b/internal/test/objectstore_test.go @@ -30,7 +30,7 @@ func TestCreateBucket(t *testing.T) { cfg := &StoreConfig{} - net := DepNetwork.Get(t, ctx) + net := GetNetwork(t, ctx) acfg := CreateAWSContainer(t, ctx, cfg, net) SetStoreClient(t, ctx, cfg, acfg.ExternalEndpoint) @@ -46,7 +46,7 @@ func TestCreateStoreClient(t *testing.T) { cfg := &StoreConfig{} - net := DepNetwork.Get(t, ctx) + net := GetNetwork(t, ctx) acfg := CreateAWSContainer(t, ctx, cfg, net) diff --git a/internal/test/queue_test.go b/internal/test/queue_test.go index 05856115..46e5ff08 100644 --- a/internal/test/queue_test.go +++ b/internal/test/queue_test.go @@ -31,7 +31,7 @@ func TestCreateQueue(t *testing.T) { cfg := &TestConfig{} - net := DepNetwork.Get(t, ctx) + net := GetNetwork(t, ctx) a := CreateAWSContainer(t, ctx, cfg, net) @@ -50,7 +50,7 @@ func TestAssertMessageWait(t *testing.T) { cfg := &TestConfig{} - net := DepNetwork.Get(t, ctx) + net := GetNetwork(t, ctx) a := CreateAWSContainer(t, ctx, cfg, net) SetQueueClient(t, ctx, cfg, a.ExternalEndpoint) @@ -77,7 +77,7 @@ func TestAssertMessageBodyWait(t *testing.T) { cfg := &TestConfig{} - net := DepNetwork.Get(t, ctx) + net := GetNetwork(t, ctx) a := CreateAWSContainer(t, ctx, cfg, net) SetQueueClient(t, ctx, cfg, a.ExternalEndpoint) @@ -101,7 +101,7 @@ func TestAssertMessageAttrWait(t *testing.T) { cfg := &TestConfig{} - net := DepNetwork.Get(t, ctx) + net := GetNetwork(t, ctx) a := CreateAWSContainer(t, ctx, cfg, net) SetQueueClient(t, ctx, cfg, a.ExternalEndpoint) diff --git a/internal/test/runner_test.go b/internal/test/runner_test.go index 22fa4914..d3b318dd 100644 --- a/internal/test/runner_test.go +++ b/internal/test/runner_test.go @@ -16,7 +16,7 @@ func TestCreateRunner(t *testing.T) { cfg := &TestConfig{} - net := DepNetwork.Get(t, ctx) + net := GetNetwork(t, ctx) a := CreateAWSContainer(t, ctx, cfg, net) SetQueueClient(t, ctx, cfg, a.ExternalEndpoint)