7001ca854c
Queuing Changes and Cfg Testing * staarting * staarting * startedpush * note * save * mocking * removederrs * fixtests * cleanuperrs * newenvsetup * preppingtests * queue * mmovetocfgpassunittests * sortoutconfig * passinginteg * deps * fixtests
48 lines
1008 B
Go
48 lines
1008 B
Go
package test
|
|
|
|
import (
|
|
"context"
|
|
docinitrunner "queryorchestration/api/docInitRunner"
|
|
queryrunner "queryorchestration/api/queryRunner"
|
|
"testing"
|
|
|
|
"queryorchestration/internal/serviceconfig"
|
|
|
|
"github.com/testcontainers/testcontainers-go"
|
|
)
|
|
|
|
type Runner = string
|
|
|
|
const (
|
|
QueryRunner = queryrunner.Name
|
|
DocInitRunner = docinitrunner.Name
|
|
)
|
|
|
|
type RunnerConfig struct {
|
|
Name Runner
|
|
QueueURL string
|
|
Cfg *serviceconfig.BaseConfig
|
|
Network *testcontainers.DockerNetwork
|
|
Env map[string]string
|
|
}
|
|
|
|
func CreateRunner(t *testing.T, 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
|
|
}
|