Settings hot reloading - Part 1
This commit is contained in:
@@ -489,7 +489,7 @@ async fn eval_if() {
|
||||
..Default::default()
|
||||
},
|
||||
];
|
||||
let mut context = ConfigContext::new(&servers);
|
||||
let mut context = ConfigContext::new();
|
||||
context.stores = config.parse_stores().await.unwrap();
|
||||
|
||||
let envelope = TestEnvelope::from_config(&config);
|
||||
@@ -548,7 +548,7 @@ async fn eval_dynvalue() {
|
||||
file.push("rules-dynvalue.toml");
|
||||
|
||||
let config = Config::new(&fs::read_to_string(file).unwrap()).unwrap();
|
||||
let mut context = ConfigContext::new(&[]);
|
||||
let mut context = ConfigContext::new();
|
||||
context.stores = config.parse_stores().await.unwrap();
|
||||
|
||||
let envelope = TestEnvelope::from_config(&config);
|
||||
|
||||
@@ -226,7 +226,7 @@ async fn antispam() {
|
||||
|
||||
// Parse config
|
||||
let config = Config::new(&config).unwrap();
|
||||
let mut ctx = ConfigContext::new(&[]);
|
||||
let mut ctx = ConfigContext::new();
|
||||
ctx.stores = config.parse_stores().await.unwrap();
|
||||
core.sieve = config.parse_sieve(&mut ctx).unwrap();
|
||||
core.shared.lookup_stores = ctx.stores.lookup_stores.clone();
|
||||
|
||||
@@ -65,7 +65,7 @@ email = ["jdoe@example.com"]
|
||||
#[tokio::test]
|
||||
async fn dmarc() {
|
||||
let mut core = SMTP::test();
|
||||
core.shared.signers = ConfigContext::new(&[]).parse_signatures().signers;
|
||||
core.shared.signers = ConfigContext::new().parse_signatures().signers;
|
||||
|
||||
// Create temp dir for queue
|
||||
let mut qr = core.init_test_queue("smtp_dmarc_test");
|
||||
|
||||
@@ -100,7 +100,7 @@ async fn address_rewrite() {
|
||||
// Prepare config
|
||||
let available_keys = &[V_SENDER, V_SENDER_DOMAIN, V_RECIPIENT, V_RECIPIENT_DOMAIN];
|
||||
let mut core = SMTP::test();
|
||||
let mut ctx = ConfigContext::new(&[]).parse_signatures();
|
||||
let mut ctx = ConfigContext::new().parse_signatures();
|
||||
let settings = Config::new(CONFIG).unwrap();
|
||||
ctx.directory = settings
|
||||
.parse_directory(&dummy_stores(), Store::default())
|
||||
|
||||
@@ -119,7 +119,7 @@ async fn sieve_scripts() {
|
||||
// Prepare config
|
||||
let mut core = SMTP::test();
|
||||
let mut qr = core.init_test_queue("smtp_sieve_test");
|
||||
let mut ctx = ConfigContext::new(&[]).parse_signatures();
|
||||
let mut ctx = ConfigContext::new().parse_signatures();
|
||||
let config = Config::new(
|
||||
&config
|
||||
.replace("%PATH%", qr._temp_dir.temp_dir.as_path().to_str().unwrap())
|
||||
|
||||
@@ -171,7 +171,7 @@ async fn sign_and_seal() {
|
||||
config.data.add_received_spf = IfBlock::new(true);
|
||||
|
||||
let config = &mut core.mail_auth;
|
||||
let ctx = ConfigContext::new(&[]).parse_signatures();
|
||||
let ctx = ConfigContext::new().parse_signatures();
|
||||
core.shared.signers = ctx.signers;
|
||||
core.shared.sealers = ctx.sealers;
|
||||
config.spf.verify_ehlo = IfBlock::new(VerifyStrategy::Relaxed);
|
||||
@@ -218,10 +218,10 @@ async fn sign_and_seal() {
|
||||
}
|
||||
|
||||
pub trait TextConfigContext<'x> {
|
||||
fn parse_signatures(self) -> ConfigContext<'x>;
|
||||
fn parse_signatures(self) -> ConfigContext;
|
||||
}
|
||||
|
||||
impl<'x> TextConfigContext<'x> for ConfigContext<'x> {
|
||||
impl<'x> TextConfigContext<'x> for ConfigContext {
|
||||
fn parse_signatures(mut self) -> Self {
|
||||
Config::new(SIGNATURES)
|
||||
.unwrap()
|
||||
|
||||
@@ -93,7 +93,7 @@ async fn lookup_sql() {
|
||||
let temp_dir = TempDir::new("smtp_lookup_tests", true);
|
||||
let config_file = CONFIG.replace("{TMP}", &temp_dir.path.to_string_lossy());
|
||||
let mut core = SMTP::test();
|
||||
let mut ctx = ConfigContext::new(&[]);
|
||||
let mut ctx = ConfigContext::new();
|
||||
let config = Config::new(&config_file).unwrap();
|
||||
ctx.stores = config.parse_stores().await.unwrap();
|
||||
core.shared.lookup_stores = ctx.stores.lookup_stores.clone();
|
||||
|
||||
@@ -95,7 +95,7 @@ async fn generate_dsn() {
|
||||
|
||||
// Load config
|
||||
let mut core = SMTP::test();
|
||||
core.shared.signers = ConfigContext::new(&[]).parse_signatures().signers;
|
||||
core.shared.signers = ConfigContext::new().parse_signatures().signers;
|
||||
let config = &mut core.queue.config.dsn;
|
||||
config.sign = "\"['rsa']\"".parse_if();
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ async fn report_dmarc() {
|
||||
|
||||
// Create scheduler
|
||||
let mut core = SMTP::test();
|
||||
core.shared.signers = ConfigContext::new(&[]).parse_signatures().signers;
|
||||
core.shared.signers = ConfigContext::new().parse_signatures().signers;
|
||||
let config = &mut core.report.config;
|
||||
config.dmarc_aggregate.sign = "\"['rsa']\"".parse_if();
|
||||
config.dmarc_aggregate.max_size = IfBlock::new(4096);
|
||||
|
||||
@@ -55,7 +55,7 @@ async fn report_tls() {
|
||||
|
||||
// Create scheduler
|
||||
let mut core = SMTP::test();
|
||||
core.shared.signers = ConfigContext::new(&[]).parse_signatures().signers;
|
||||
core.shared.signers = ConfigContext::new().parse_signatures().signers;
|
||||
let config = &mut core.report.config;
|
||||
config.tls.sign = "\"['rsa']\"".parse_if();
|
||||
config.tls.max_size = IfBlock::new(1532);
|
||||
|
||||
Reference in New Issue
Block a user