Reviewed-on: #26
This commit was merged in pull request #26.
This commit is contained in:
70
crates/adapters/nats/tests/nats_config_test.rs
Normal file
70
crates/adapters/nats/tests/nats_config_test.rs
Normal file
@@ -0,0 +1,70 @@
|
||||
use nats::{NatsConfig, NatsMode};
|
||||
|
||||
fn section(url: Option<&str>, mode: &str) -> config::NatsConfig {
|
||||
config::NatsConfig {
|
||||
url: url.map(str::to_owned),
|
||||
mode: mode.into(),
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn errors_without_nats_url() {
|
||||
assert!(
|
||||
NatsConfig::from_config(
|
||||
&config::NatsConfig::default(),
|
||||
&config::EventsConfig::default()
|
||||
)
|
||||
.is_err()
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn defaults_with_only_url() {
|
||||
let cfg = NatsConfig::from_config(
|
||||
&config::NatsConfig {
|
||||
url: Some("nats://localhost:4222".into()),
|
||||
..Default::default()
|
||||
},
|
||||
&config::EventsConfig::default(),
|
||||
)
|
||||
.unwrap();
|
||||
assert_eq!(cfg.url, "nats://localhost:4222");
|
||||
assert_eq!(cfg.mode, NatsMode::JetStream);
|
||||
assert_eq!(cfg.subject_prefix, "movies-diary.events");
|
||||
assert_eq!(cfg.stream_name, "MOVIES_DIARY_EVENTS");
|
||||
assert_eq!(cfg.consumer_name, "worker");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn core_mode_parsed() {
|
||||
let cfg = NatsConfig::from_config(
|
||||
§ion(Some("nats://test:4222"), "core"),
|
||||
&config::EventsConfig::default(),
|
||||
)
|
||||
.unwrap();
|
||||
assert_eq!(cfg.url, "nats://test:4222");
|
||||
assert_eq!(cfg.mode, NatsMode::Core);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn invalid_mode_errors() {
|
||||
assert!(
|
||||
NatsConfig::from_config(
|
||||
§ion(Some("nats://test:4222"), "kafka"),
|
||||
&config::EventsConfig::default()
|
||||
)
|
||||
.is_err()
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn max_deliver_follows_the_queue_attempt_limit() {
|
||||
let events = config::EventsConfig {
|
||||
queue_max_attempts: 9,
|
||||
..Default::default()
|
||||
};
|
||||
let cfg =
|
||||
NatsConfig::from_config(§ion(Some("nats://test:4222"), "jetstream"), &events).unwrap();
|
||||
assert_eq!(cfg.max_deliver, 9);
|
||||
}
|
||||
Reference in New Issue
Block a user