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.
85 lines
2.1 KiB
Rust
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();
|
|
}
|
|
}
|