Files
query-orchestration/internal/test/runner.go
T
Michael McGuinness 62886dbba8 Merged in feature/removejob (pull request #95)
Remove Job

* removejob

* rmjob

* sync

* cleanup

* precommit

* startslow

* startslow

* startslow

* openapi

* clean

* test

* scripts

* littlecleanercmds

* mermaid
2025-03-10 11:03:00 +00:00

61 lines
1.6 KiB
Go

package test
import (
"context"
"testing"
clientsyncrunner "queryorchestration/api/clientSyncRunner"
doccleanrunner "queryorchestration/api/docCleanRunner"
docinitrunner "queryorchestration/api/docInitRunner"
docsyncrunner "queryorchestration/api/docSyncRunner"
doctextrunner "queryorchestration/api/docTextRunner"
queryrunner "queryorchestration/api/queryRunner"
querysyncrunner "queryorchestration/api/querySyncRunner"
queryversionsyncrunner "queryorchestration/api/queryVersionSyncRunner"
"queryorchestration/internal/serviceconfig"
"github.com/testcontainers/testcontainers-go"
)
type Runner = string
const (
DocInitRunner = docinitrunner.Name
DocSyncRunner = docsyncrunner.Name
DocCleanRunner = doccleanrunner.Name
DocTextRunner = doctextrunner.Name
QuerySyncRunner = querysyncrunner.Name
QueryRunner = queryrunner.Name
ClientSyncRunner = clientsyncrunner.Name
QueryVersionSyncRunner = queryversionsyncrunner.Name
)
type RunnerConfig struct {
Name Runner
QueueURL string
Cfg serviceconfig.ConfigProvider
Network *testcontainers.DockerNetwork
Env map[string]string
}
func CreateRunner(t testing.TB, ctx context.Context, config *RunnerConfig) (*Container, func()) {
if config.Env == nil {
config.Env = map[string]string{}
}
config.Env["QUEUE_URL"] = config.QueueURL
c, cleanup := createContainer(t, ctx, &containerConfig{
Network: config.Network,
Name: config.Name,
Cfg: config.Cfg,
Env: config.Env,
WaitForMsg: "Listening to queue",
})
return &Container{
Container: c,
URI: config.QueueURL,
}, cleanup
}