Merged in bugfix/fixe2etests (pull request #64)

Fix e2e test

* fix
This commit is contained in:
Michael McGuinness
2025-02-13 00:23:13 +00:00
parent c1e9d93037
commit f5bd522faf
12 changed files with 82 additions and 84 deletions
+1 -1
View File
@@ -88,7 +88,7 @@ func (b *DBConfig) DBPing(ctx context.Context) error {
slog.Info("Successful database ping")
return nil
}
slog.Info("Attempted database ping", "host", b.DBHost, "port", b.DBPort)
slog.Debug("Attempted database ping", "host", b.DBHost, "port", b.DBPort)
case <-ctx.Done():
return ctx.Err()
}
+1 -1
View File
@@ -73,7 +73,7 @@ func (c *ObjectStoreConfig) PingStoreByName(ctx context.Context, name string) er
slog.Info("Successful bucket ping", "name", name)
return nil
}
slog.Info("Attempted bucket ping", "name", name, "address", c.GetS3Endpoint())
slog.Debug("Attempted bucket ping", "name", name, "address", c.GetS3Endpoint())
case <-ctx.Done():
return ctx.Err()
}
+1 -1
View File
@@ -58,7 +58,7 @@ func (c *QueueConfig) PingQueueByURL(ctx context.Context, url string) error {
slog.Info("Successful queue ping", "url", url, "approx_msgs", r.Attributes[string(types.QueueAttributeNameApproximateNumberOfMessages)])
return nil
}
slog.Info("Attempted queue ping", "url", url, "address", c.GetSQSEndpoint())
slog.Debug("Attempted queue ping", "url", url, "address", c.GetSQSEndpoint())
case <-ctx.Done():
return ctx.Err()
}
+13 -1
View File
@@ -3,8 +3,11 @@ package test
import (
"context"
"fmt"
"io"
"net/http"
"queryorchestration/internal/serviceconfig"
"testing"
"time"
"github.com/docker/go-connections/nat"
"github.com/testcontainers/testcontainers-go"
@@ -45,9 +48,18 @@ func CreateAWSContainer(t *testing.T, ctx context.Context, cfg *CreateAWSConfig)
},
ExposedPorts: []string{port.Port()},
WaitingFor: wait.ForAll(
// wait.ForExposedPort(),
wait.ForListeningPort(port),
wait.ForLog("Ready."),
wait.ForHTTP("/_localstack/health").
WithPort(port).
WithStartupTimeout(50*time.Second).
WithPollInterval(5*time.Second).
WithResponseMatcher(func(body io.Reader) bool {
return true
}).
WithStatusCodeMatcher(func(statusCode int) bool {
return statusCode == http.StatusOK
}),
),
}
+1
View File
@@ -39,6 +39,7 @@ func createContainer(t *testing.T, ctx context.Context, cfg *containerConfig) (t
"AWS_ACCESS_KEY_ID": cfg.Cfg.GetAWSKeyID(),
"AWS_SECRET_ACCESS_KEY": cfg.Cfg.GetAWSSecretKey(),
"AWS_REGION": cfg.Cfg.GetAWSRegion(),
"AWS_DEFAULT_REGION": cfg.Cfg.GetAWSRegion(),
"AWS_ENDPOINT_URL": cfg.Cfg.GetAWSEndpoint(),
"AWS_ENDPOINT_URL_SQS": cfg.Cfg.GetAWSEndpoint(),
"AWS_ENDPOINT_URL_S3": cfg.Cfg.GetAWSEndpoint(),
+7
View File
@@ -7,6 +7,7 @@ import (
"queryorchestration/internal/serviceconfig"
"queryorchestration/internal/serviceconfig/database"
"testing"
"time"
"github.com/docker/go-connections/nat"
"github.com/testcontainers/testcontainers-go"
@@ -43,6 +44,12 @@ func CreateDB(t *testing.T, ctx context.Context, cfg *CreateDatabaseConfig) (tes
wait.ForExposedPort(),
wait.ForListeningPort(port),
wait.ForLog("database system is ready to accept connections"),
wait.ForSQL(port, "postgres", func(host string, port nat.Port) string {
return fmt.Sprintf("postgres://%s:%s@localhost:%s/%s?sslmode=disable",
user, pass, port.Port(), name)
}).
WithStartupTimeout(25*time.Second).
WithPollInterval(10*time.Second),
),
}
+13 -4
View File
@@ -68,12 +68,16 @@ func CreateRunnersAndServicesNetwork(t *testing.T, ctx context.Context, ncfg *Ec
qs := make(map[string]*Container, len(ncfg.Runners))
qclean := make([]func(), len(ncfg.Runners))
for i, r := range ncfg.Runners {
url := CreateQueue(t, ctx, ncfg.Cfg, r.Name)
url := r.QueueURL
if url == nil {
u := CreateQueue(t, ctx, ncfg.Cfg, r.Name)
url = &u
}
c, ccleanup := CreateRunner(t, ctx, &RunnerConfig{
Name: r.Name,
Env: r.Env,
QueueURL: url,
QueueURL: *url,
Cfg: ncfg.Cfg,
Network: network,
})
@@ -167,6 +171,7 @@ func CreateServiceNetwork(t *testing.T, ctx context.Context, scfg *ServiceNetwor
type RunnerNetworkConfig struct {
Network *testcontainers.DockerNetwork
AWSContainer *AWSContainerConfig
QueueURL *string
Cfg serviceconfig.ConfigProvider
Name Runner
Env map[string]string
@@ -194,7 +199,11 @@ func CreateRunnerNetwork(t *testing.T, ctx context.Context, rcfg *RunnerNetworkC
}
}
url := CreateQueue(t, ctx, rcfg.Cfg, rcfg.Name)
url := rcfg.QueueURL
if url == nil {
u := CreateQueue(t, ctx, rcfg.Cfg, rcfg.Name)
url = &u
}
_, dbcleanup := CreateDB(t, ctx, &CreateDatabaseConfig{
Network: network,
@@ -204,7 +213,7 @@ func CreateRunnerNetwork(t *testing.T, ctx context.Context, rcfg *RunnerNetworkC
c, ccleanup := CreateRunner(t, ctx, &RunnerConfig{
Name: rcfg.Name,
Env: rcfg.Env,
QueueURL: url,
QueueURL: *url,
Cfg: rcfg.Cfg,
Network: network,
})
+2 -1
View File
@@ -8,6 +8,7 @@ import (
doctextrunner "queryorchestration/api/docTextRunner"
jobsyncrunner "queryorchestration/api/jobSyncRunner"
queryrunner "queryorchestration/api/queryRunner"
querysyncrunner "queryorchestration/api/querySyncRunner"
"testing"
"queryorchestration/internal/serviceconfig"
@@ -22,7 +23,7 @@ const (
DocSyncRunner = docsyncrunner.Name
DocCleanRunner = doccleanrunner.Name
DocTextRunner = doctextrunner.Name
QuerySyncRunner = queryrunner.Name
QuerySyncRunner = querysyncrunner.Name
QueryRunner = queryrunner.Name
JobSyncRunner = jobsyncrunner.Name
)