Monorepo consolidation: workspace, shared types, transport plans, docker/swam assets
This commit is contained in:
1119
runner/tests/e2e_integration.rs
Normal file
1119
runner/tests/e2e_integration.rs
Normal file
File diff suppressed because it is too large
Load Diff
52
runner/tests/jetstream_integration.rs
Normal file
52
runner/tests/jetstream_integration.rs
Normal file
@@ -0,0 +1,52 @@
|
||||
use async_nats::jetstream::{self, stream::Config as StreamConfig};
|
||||
use runner::config::Settings;
|
||||
use runner::stream::JetStreamClient;
|
||||
use runner::types::{
|
||||
CommandId, EffectName, EffectResultEnvelope, EffectResultType, MessageMetadata, TenantId,
|
||||
};
|
||||
use serde_json::json;
|
||||
|
||||
#[test]
|
||||
#[ignore]
|
||||
fn jetstream_connects_and_can_publish_effect_result() {
|
||||
let Ok(nats_url) = std::env::var("RUNNER_TEST_NATS_URL") else {
|
||||
return;
|
||||
};
|
||||
|
||||
let rt = tokio::runtime::Runtime::new().unwrap();
|
||||
rt.block_on(async move {
|
||||
let client = async_nats::connect(&nats_url).await.unwrap();
|
||||
let js = jetstream::new(client);
|
||||
|
||||
let _ = js
|
||||
.get_or_create_stream(StreamConfig {
|
||||
name: "AGGREGATE_EVENTS".to_string(),
|
||||
subjects: vec!["tenant.*.aggregate.*.*".to_string()],
|
||||
..Default::default()
|
||||
})
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
let settings = Settings {
|
||||
nats_url,
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
let runner_js = JetStreamClient::connect(&settings).await.unwrap();
|
||||
|
||||
let result = EffectResultEnvelope {
|
||||
tenant_id: TenantId::new("t1"),
|
||||
command_id: CommandId::new("c1"),
|
||||
effect_name: EffectName::new("noop"),
|
||||
result_type: EffectResultType::Succeeded,
|
||||
payload: json!({"ok": true}),
|
||||
timestamp: chrono::Utc::now(),
|
||||
metadata: MessageMetadata::default(),
|
||||
};
|
||||
|
||||
runner_js
|
||||
.publish_effect_result("tenant.t1.effect_result.noop.c1".to_string(), &result)
|
||||
.await
|
||||
.unwrap();
|
||||
});
|
||||
}
|
||||
11
runner/tests/swarm_stack.rs
Normal file
11
runner/tests/swarm_stack.rs
Normal file
@@ -0,0 +1,11 @@
|
||||
#[test]
|
||||
fn docker_stack_file_is_valid_yaml() {
|
||||
let contents = include_str!("../../swarm/stacks/platform.yml");
|
||||
let doc: serde_yaml::Value = serde_yaml::from_str(contents).unwrap();
|
||||
|
||||
let services = doc.get("services").and_then(|v| v.as_mapping()).unwrap();
|
||||
|
||||
assert!(services.contains_key(serde_yaml::Value::String("nats".to_string())));
|
||||
assert!(services.contains_key(serde_yaml::Value::String("runner_saga".to_string())));
|
||||
assert!(services.contains_key(serde_yaml::Value::String("runner_effect".to_string())));
|
||||
}
|
||||
Reference in New Issue
Block a user