Files
inbuxa-server/tests/src/system/mod.rs
T
jcoffey-dev 2edb552b6b Monitoring: the fork's acceptance suite (MON-1 to MON-31)
system::monitoring::monitoring_tests covers the defaults, metric
sampling, the Prometheus gauges, trace history over SMTP and LMTP
(probe sessions skipped, no raw I/O), trace destroy, indexTelemetry off,
live metrics and live tracing with their tokens and stream limit,
alerts by event and by email, and tenant admins refused. Also removes a
leftover enterprise-only attribute on the Prometheus counters loop,
which would have dropped counters from an enterprise-feature build.
2026-09-19 08:43:45 -07:00

85 lines
2.1 KiB
Rust

/*
* SPDX-FileCopyrightText: 2020 Stalwart Labs LLC <[email protected]>
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL
*/
pub mod antispam;
pub mod authentication;
pub mod ai;
pub mod ai_calibration;
pub mod authorization;
pub mod branding;
pub mod crypto;
pub mod delivery;
pub mod directory;
pub mod masked_email;
pub mod monitoring;
pub mod oidc;
pub mod purge;
pub mod quota;
pub mod security;
pub mod task;
pub mod tenant;
pub mod undelete;
use crate::utils::server::TestServerBuilder;
use registry::schema::structs::{Expression, Imap, MtaStageAuth};
#[tokio::test(flavor = "multi_thread")]
pub async fn system_tests() {
let mut test = TestServerBuilder::new("system_tests")
.await
.with_default_listeners()
.await
.with_object(Imap {
allow_plain_text_auth: true,
..Default::default()
})
.await
.with_object(MtaStageAuth {
require: Expression {
else_: "false".to_string(),
..Default::default()
},
..Default::default()
})
.await
.build()
.await;
// Create admin account
let admin = test
.create_user_account(
"admin",
"[email protected]",
"these_pretzels_are_making_me_thirsty",
&[],
"Admin",
)
.await;
test.account("admin")
.assign_roles_to_account(admin.id(), &["user", "system"])
.await;
test.insert_account(admin);
directory::test(&test).await;
authentication::test(&test).await;
oidc::test(&mut test).await;
authorization::test(&mut test).await;
tenant::test(&mut test).await;
masked_email::test(&mut test).await;
security::test(&mut test).await;
quota::test(&mut test).await;
purge::test(&mut test).await;
delivery::test(&mut test).await;
crypto::test(&mut test).await;
antispam::test(&mut test).await;
undelete::test(&mut test).await;
task::test(&mut test).await;
if test.is_reset() {
test.temp_dir.delete();
}
}