milestone: add runtime template state and dlq/retry broker topology
This commit is contained in:
@@ -18,6 +18,7 @@ mod common;
|
||||
use std::sync::Arc;
|
||||
use rustybeds::brokers;
|
||||
use rustybeds::services::amqp::AmqpConnection;
|
||||
use rustybeds::template_registry::{RuntimeTemplateRegistry, load_runtime_rec_templates};
|
||||
|
||||
/// Attempts to connect to the test broker. Returns None if unreachable so
|
||||
/// tests can skip rather than fail when the broker isn't running.
|
||||
@@ -40,6 +41,9 @@ async fn try_connect(cfg: &rustybeds::config::BrokerServicesConfig) -> Option<Ar
|
||||
#[tokio::test]
|
||||
async fn r_broker_pool_spawns_configured_instances() {
|
||||
let cfg = common::load_test_config();
|
||||
let template_registry = std::sync::Arc::new(RuntimeTemplateRegistry::from_templates(
|
||||
load_runtime_rec_templates("templates").expect("template load failed"),
|
||||
));
|
||||
|
||||
let conn = match try_connect(&cfg.broker_services).await {
|
||||
Some(c) => c,
|
||||
@@ -55,7 +59,11 @@ async fn r_broker_pool_spawns_configured_instances() {
|
||||
amqp.declare_exchange().await
|
||||
.expect("exchange declaration failed");
|
||||
|
||||
let handles = brokers::spawn_r_broker_pool(Arc::clone(&conn), &cfg.broker_services)
|
||||
let handles = brokers::spawn_r_broker_pool(
|
||||
Arc::clone(&conn),
|
||||
&cfg.broker_services,
|
||||
std::sync::Arc::clone(&template_registry),
|
||||
)
|
||||
.await
|
||||
.expect("rBroker pool failed to start");
|
||||
|
||||
@@ -71,6 +79,9 @@ async fn r_broker_pool_spawns_configured_instances() {
|
||||
#[tokio::test]
|
||||
async fn w_broker_pool_spawns_configured_instances() {
|
||||
let cfg = common::load_test_config();
|
||||
let template_registry = std::sync::Arc::new(RuntimeTemplateRegistry::from_templates(
|
||||
load_runtime_rec_templates("templates").expect("template load failed"),
|
||||
));
|
||||
|
||||
let conn = match try_connect(&cfg.broker_services).await {
|
||||
Some(c) => c,
|
||||
@@ -85,7 +96,11 @@ async fn w_broker_pool_spawns_configured_instances() {
|
||||
amqp.declare_exchange().await
|
||||
.expect("exchange declaration failed");
|
||||
|
||||
let handles = brokers::spawn_w_broker_pool(Arc::clone(&conn), &cfg.broker_services)
|
||||
let handles = brokers::spawn_w_broker_pool(
|
||||
Arc::clone(&conn),
|
||||
&cfg.broker_services,
|
||||
std::sync::Arc::clone(&template_registry),
|
||||
)
|
||||
.await
|
||||
.expect("wBroker pool failed to start");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user