Test Harness
struct TestHarness {
db: DynamoClient,
sqs: SqsClient,
api: TaskQueueClient,
worker: JoinHandle<()>,
}
impl TestHarness {
async fn new() -> Self {
let db = dynamo_local_client().await;
let sqs = elasticmq_client().await;
create_table(&db).await.unwrap();
create_queue(&sqs).await.unwrap();
let worker = tokio::spawn(run_worker(db.clone(), sqs.clone(), cancel.clone()));
let api = connect_api_client("localhost:0").await;
TestHarness { db, sqs, api, worker }
}
}