This commit is contained in:
@@ -29,7 +29,7 @@ use ::managesieve::core::ManageSieveSessionManager;
|
||||
use common::{
|
||||
config::{
|
||||
server::{ServerProtocol, Servers},
|
||||
tracers::Tracer,
|
||||
tracers::Tracers,
|
||||
},
|
||||
Core, Ipc, IPC_CHANNEL_BUFFER,
|
||||
};
|
||||
@@ -47,7 +47,6 @@ use tokio::{
|
||||
net::TcpStream,
|
||||
sync::{mpsc, watch},
|
||||
};
|
||||
use trc::collector::Collector;
|
||||
use utils::config::Config;
|
||||
|
||||
use crate::{add_test_certs, directory::DirectoryStore, store::TempDir, AssertConfig};
|
||||
@@ -313,7 +312,13 @@ async fn init_imap_tests(store_id: &str, delete_if_exists: bool) -> IMAPTest {
|
||||
let ipc = Ipc { delivery_tx };
|
||||
|
||||
// Init servers
|
||||
let smtp = SMTP::init(&mut config, shared_core.clone(), ipc).await;
|
||||
let smtp = SMTP::init(
|
||||
&mut config,
|
||||
shared_core.clone(),
|
||||
ipc,
|
||||
servers.span_id_gen.clone(),
|
||||
)
|
||||
.await;
|
||||
let jmap = JMAP::init(
|
||||
&mut config,
|
||||
delivery_rx,
|
||||
@@ -411,14 +416,7 @@ async fn init_imap_tests(store_id: &str, delete_if_exists: bool) -> IMAPTest {
|
||||
#[tokio::test]
|
||||
pub async fn imap_tests() {
|
||||
if let Ok(level) = std::env::var("LOG") {
|
||||
let level = level.parse().unwrap();
|
||||
Collector::set_level(level);
|
||||
Tracer::Stdout {
|
||||
id: "stdout".to_string(),
|
||||
level,
|
||||
ansi: true,
|
||||
}
|
||||
.spawn();
|
||||
Tracers::test_tracer(level.parse().unwrap());
|
||||
}
|
||||
|
||||
// Prepare settings
|
||||
|
||||
@@ -13,7 +13,7 @@ use base64::{
|
||||
use common::{
|
||||
config::{
|
||||
server::{ServerProtocol, Servers},
|
||||
tracers::Tracer,
|
||||
tracers::Tracers,
|
||||
},
|
||||
manager::config::{ConfigManager, Patterns},
|
||||
Core, Ipc, IPC_CHANNEL_BUFFER,
|
||||
@@ -35,7 +35,6 @@ use store::{
|
||||
IterateParams, Stores, SUBSPACE_PROPERTY,
|
||||
};
|
||||
use tokio::sync::{mpsc, watch};
|
||||
use trc::collector::Collector;
|
||||
use utils::config::Config;
|
||||
use webhooks::{spawn_mock_webhook_endpoint, MockWebhookEndpoint};
|
||||
|
||||
@@ -289,14 +288,7 @@ throttle = "100ms"
|
||||
#[tokio::test(flavor = "multi_thread")]
|
||||
pub async fn jmap_tests() {
|
||||
if let Ok(level) = std::env::var("LOG") {
|
||||
let level = level.parse().unwrap();
|
||||
Collector::set_level(level);
|
||||
Tracer::Stdout {
|
||||
id: "stdout".to_string(),
|
||||
level,
|
||||
ansi: true,
|
||||
}
|
||||
.spawn();
|
||||
Tracers::test_tracer(level.parse().unwrap());
|
||||
}
|
||||
|
||||
let delete = true;
|
||||
@@ -343,14 +335,7 @@ pub async fn jmap_tests() {
|
||||
#[ignore]
|
||||
pub async fn jmap_stress_tests() {
|
||||
if let Ok(level) = std::env::var("LOG") {
|
||||
let level = level.parse().unwrap();
|
||||
Collector::set_level(level);
|
||||
Tracer::Stdout {
|
||||
id: "stdout".to_string(),
|
||||
level,
|
||||
ansi: true,
|
||||
}
|
||||
.spawn();
|
||||
Tracers::test_tracer(level.parse().unwrap());
|
||||
}
|
||||
|
||||
let params = init_jmap_tests(
|
||||
@@ -481,7 +466,13 @@ async fn init_jmap_tests(store_id: &str, delete_if_exists: bool) -> JMAPTest {
|
||||
let ipc = Ipc { delivery_tx };
|
||||
|
||||
// Init servers
|
||||
let smtp = SMTP::init(&mut config, shared_core.clone(), ipc).await;
|
||||
let smtp = SMTP::init(
|
||||
&mut config,
|
||||
shared_core.clone(),
|
||||
ipc,
|
||||
servers.span_id_gen.clone(),
|
||||
)
|
||||
.await;
|
||||
let jmap = JMAP::init(
|
||||
&mut config,
|
||||
delivery_rx,
|
||||
|
||||
@@ -317,7 +317,7 @@ fn parse_servers() {
|
||||
}],
|
||||
max_connections: 8192,
|
||||
proxy_networks: vec![],
|
||||
id_generator: id_generator.clone(),
|
||||
span_id_gen: id_generator.clone(),
|
||||
},
|
||||
Server {
|
||||
id: "smtps".to_string(),
|
||||
@@ -342,7 +342,7 @@ fn parse_servers() {
|
||||
],
|
||||
max_connections: 1024,
|
||||
proxy_networks: vec![],
|
||||
id_generator: id_generator.clone(),
|
||||
span_id_gen: id_generator.clone(),
|
||||
},
|
||||
Server {
|
||||
id: "submission".to_string(),
|
||||
@@ -357,7 +357,7 @@ fn parse_servers() {
|
||||
}],
|
||||
max_connections: 8192,
|
||||
proxy_networks: vec![],
|
||||
id_generator: id_generator.clone(),
|
||||
span_id_gen: id_generator.clone(),
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ impl QueueReceiver {
|
||||
pub async fn expect_message_then_deliver(&mut self) -> DeliveryAttempt {
|
||||
let message = self.expect_message().await;
|
||||
|
||||
self.delivery_attempt(message.id).await
|
||||
self.delivery_attempt(message.queue_id).await
|
||||
}
|
||||
|
||||
pub async fn delivery_attempt(&mut self, queue_id: u64) -> DeliveryAttempt {
|
||||
@@ -183,7 +183,7 @@ impl QueueReceiver {
|
||||
IterateParams::new(from_key, to_key).descending(),
|
||||
|key, value| {
|
||||
let value = Bincode::<Message>::deserialize(value)?;
|
||||
assert_eq!(key.deserialize_be_u64(0)?, value.inner.id);
|
||||
assert_eq!(key.deserialize_be_u64(0)?, value.inner.queue_id);
|
||||
messages.push(value.inner);
|
||||
Ok(true)
|
||||
},
|
||||
@@ -243,7 +243,8 @@ impl QueueReceiver {
|
||||
}
|
||||
|
||||
pub async fn last_queued_due(&self) -> u64 {
|
||||
self.message_due(self.last_queued_message().await.id).await
|
||||
self.message_due(self.last_queued_message().await.queue_id)
|
||||
.await
|
||||
}
|
||||
|
||||
pub async fn message_due(&self, queue_id: QueueId) -> u64 {
|
||||
@@ -262,7 +263,7 @@ impl QueueReceiver {
|
||||
|
||||
pub async fn clear_queue(&self, core: &SMTP) {
|
||||
for message in self.read_queued_messages().await {
|
||||
let due = self.message_due(message.id).await;
|
||||
let due = self.message_due(message.queue_id).await;
|
||||
message.remove(core, due).await;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ async fn fallback_relay() {
|
||||
let mut retry = local.qr.expect_message().await;
|
||||
let prev_due = retry.domains[0].retry.due;
|
||||
let next_due = now();
|
||||
let queue_id = retry.id;
|
||||
let queue_id = retry.queue_id;
|
||||
retry.domains[0].retry.due = next_due;
|
||||
retry
|
||||
.save_changes(&core, prev_due.into(), next_due.into())
|
||||
|
||||
@@ -133,7 +133,7 @@ async fn smtp_delivery() {
|
||||
assert_eq!(num_domains, 3);
|
||||
local
|
||||
.qr
|
||||
.delivery_attempt(message.id)
|
||||
.delivery_attempt(message.queue_id)
|
||||
.await
|
||||
.try_deliver(core.clone())
|
||||
.await;
|
||||
|
||||
@@ -90,7 +90,7 @@ async fn starttls_optional() {
|
||||
let mut retry = local.qr.expect_message().await;
|
||||
let prev_due = retry.domains[0].retry.due;
|
||||
let next_due = now();
|
||||
let queue_id = retry.id;
|
||||
let queue_id = retry.queue_id;
|
||||
retry.domains[0].retry.due = next_due;
|
||||
retry
|
||||
.save_changes(&core, prev_due.into(), next_due.into())
|
||||
|
||||
@@ -45,7 +45,8 @@ async fn generate_dsn() {
|
||||
let flags = RCPT_NOTIFY_FAILURE | RCPT_NOTIFY_DELAY | RCPT_NOTIFY_SUCCESS;
|
||||
let mut message = Message {
|
||||
size,
|
||||
id: 0,
|
||||
queue_id: 0,
|
||||
span_id: 0,
|
||||
created: SystemTime::now()
|
||||
.duration_since(SystemTime::UNIX_EPOCH)
|
||||
.map_or(0, |d| d.as_secs()),
|
||||
|
||||
@@ -123,10 +123,11 @@ fn delivery_events() {
|
||||
assert!(message.next_event().is_none());
|
||||
}
|
||||
|
||||
pub fn new_message(id: u64) -> Message {
|
||||
pub fn new_message(queue_id: u64) -> Message {
|
||||
Message {
|
||||
size: 0,
|
||||
id,
|
||||
queue_id,
|
||||
span_id: 0,
|
||||
created: 0,
|
||||
return_path: "sender@foobar.org".to_string(),
|
||||
return_path_lcase: "".to_string(),
|
||||
|
||||
@@ -165,7 +165,7 @@ async fn queue_retry() {
|
||||
.await;
|
||||
let now_ = now();
|
||||
let message = qr.expect_message().await;
|
||||
assert!([59, 60].contains(&(qr.message_due(message.id).await - now_)));
|
||||
assert!([59, 60].contains(&(qr.message_due(message.queue_id).await - now_)));
|
||||
assert!([59, 60].contains(&(message.next_delivery_event() - now_)));
|
||||
assert!([3599, 3600].contains(&(message.domains.first().unwrap().expires - now_)));
|
||||
assert!([54059, 54060].contains(&(message.domains.first().unwrap().notify.due - now_)));
|
||||
|
||||
@@ -258,7 +258,8 @@ impl TestSession for Session<DummyIo> {
|
||||
dsn_info: None,
|
||||
},
|
||||
],
|
||||
self.core.inner.snowflake_id.generate().unwrap(),
|
||||
self.core.inner.queue_id_gen.generate().unwrap(),
|
||||
0,
|
||||
)
|
||||
.await;
|
||||
assert_eq!(
|
||||
@@ -360,7 +361,7 @@ impl TestServerInstance for ServerInstance {
|
||||
limiter: ConcurrencyLimiter::new(100),
|
||||
shutdown_rx,
|
||||
proxy_networks: vec![],
|
||||
id_generator: Arc::new(SnowflakeIdGenerator::new()),
|
||||
span_id_gen: Arc::new(SnowflakeIdGenerator::new()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user