mirror of
https://blitiri.com.ar/repos/chasquid
synced 2026-01-08 17:51:57 +00:00
test: Add a new local end-to-end test
This patch introduces a new directory, test/, which contains a simple local end-to-end test which runs a chasquid binary and uses msmtp to send an email, which is delivered locally. As it's the first one, it adds a bunch of common infrastructure to simplify writing these kinds of tests. More end-to-end tests will follow, and it's expected that the common infrastructure will also change significantly to accomodate their needs.
This commit is contained in:
5
test/t-simple_local/config/chasquid.conf
Normal file
5
test/t-simple_local/config/chasquid.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
address: ":1025"
|
||||
monitoring_address: ":1099"
|
||||
|
||||
mail_delivery_agent_bin: "test-mda"
|
||||
mail_delivery_agent_args: "%user%@%domain%"
|
||||
2
test/t-simple_local/config/domains/testserver/users
Normal file
2
test/t-simple_local/config/domains/testserver/users
Normal file
@@ -0,0 +1,2 @@
|
||||
#chasquid-userdb-v1
|
||||
user SCRYPT@n:14,r:8,p:1,l:32,r00XqNmRkV505R2X6KT8+Q== aAiBBIVNNzmDXwxLLdJezFuxGtc2/wcHsy3FiOMAH4c=
|
||||
4
test/t-simple_local/content
Normal file
4
test/t-simple_local/content
Normal file
@@ -0,0 +1,4 @@
|
||||
Subject: Prueba desde el test
|
||||
|
||||
Crece desde el test el futuro
|
||||
Crece desde el test
|
||||
1
test/t-simple_local/hosts
Normal file
1
test/t-simple_local/hosts
Normal file
@@ -0,0 +1 @@
|
||||
testserver localhost
|
||||
21
test/t-simple_local/msmtprc
Normal file
21
test/t-simple_local/msmtprc
Normal file
@@ -0,0 +1,21 @@
|
||||
account default
|
||||
|
||||
host testserver
|
||||
port 1025
|
||||
|
||||
tls on
|
||||
tls_trust_file config/domains/testserver/cert.pem
|
||||
|
||||
from user@testserver
|
||||
|
||||
auth on
|
||||
user user@testserver
|
||||
password secretpassword
|
||||
|
||||
account baduser : default
|
||||
user unknownuser@testserver
|
||||
password secretpassword
|
||||
|
||||
account badpasswd : default
|
||||
user user@testserver
|
||||
password badsecretpassword
|
||||
29
test/t-simple_local/run.sh
Executable file
29
test/t-simple_local/run.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
. $(dirname ${0})/../util/lib.sh
|
||||
|
||||
init
|
||||
|
||||
generate_certs_for testserver
|
||||
|
||||
chasquid -v=2 --log_dir=.logs --config_dir=config &
|
||||
wait_until_ready 1025
|
||||
|
||||
run_msmtp someone@testserver < content
|
||||
|
||||
wait_for_file .mail/someone@testserver
|
||||
|
||||
mail_diff content .mail/someone@testserver
|
||||
|
||||
if run_msmtp -a baduser someone@testserver < content 2> /dev/null; then
|
||||
echo "ERROR: successfully sent an email with a bad password"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if run_msmtp -a badpasswd someone@testserver < content 2> /dev/null; then
|
||||
echo "ERROR: successfully sent an email with a bad password"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
success
|
||||
Reference in New Issue
Block a user