summaryrefslogtreecommitdiff
path: root/tests/src/jmap/enterprise.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/jmap/enterprise.rs')
-rw-r--r--tests/src/jmap/enterprise.rs51
1 files changed, 45 insertions, 6 deletions
diff --git a/tests/src/jmap/enterprise.rs b/tests/src/jmap/enterprise.rs
index 2135a84e..fc6fc491 100644
--- a/tests/src/jmap/enterprise.rs
+++ b/tests/src/jmap/enterprise.rs
@@ -35,6 +35,7 @@ use trc::{
use utils::config::{cron::SimpleCron, Config};
use crate::{
+ directory::internal::TestInternalDirectory,
imap::{ImapConnection, Type},
jmap::delivery::SmtpConnection,
AssertConfig,
@@ -112,8 +113,17 @@ pub async fn test(params: &mut JMAPTest) {
// Create test account
params
- .directory
- .create_test_user_with_email("jdoe@example.com", "secret", "John Doe")
+ .server
+ .shared_core
+ .load()
+ .storage
+ .data
+ .create_test_user(
+ "jdoe@example.com",
+ "secret",
+ "John Doe",
+ &["jdoe@example.com"],
+ )
.await;
alerts(&params.server.shared_core.load()).await;
@@ -121,10 +131,39 @@ pub async fn test(params: &mut JMAPTest) {
tracing(params).await;
metrics(params).await;
- // Disable Enterprise
- let mut core = params.server.shared_core.load_full().as_ref().clone();
- core.enterprise = None;
- params.server.shared_core.store(core.into());
+ params.server.shared_core.store(
+ params
+ .server
+ .shared_core
+ .load_full()
+ .as_ref()
+ .clone()
+ .enable_enterprise()
+ .into(),
+ );
+}
+
+pub trait EnterpriseCore {
+ fn enable_enterprise(self) -> Self;
+}
+
+impl EnterpriseCore for Core {
+ fn enable_enterprise(mut self) -> Self {
+ self.enterprise = Enterprise {
+ license: LicenseKey {
+ valid_to: now() + 3600,
+ valid_from: now() - 3600,
+ hostname: String::new(),
+ accounts: 100,
+ },
+ undelete: None,
+ trace_store: None,
+ metrics_store: None,
+ metrics_alerts: vec![],
+ }
+ .into();
+ self
+ }
}
async fn alerts(core: &Core) {