smtp.svtest   [plain text]


require "vnd.dovecot.testsuite";
require "envelope";

test_set "message" text:
From: stephan@example.org
To: tss@example.net
Subject: Frop!

Frop!
.
;

test_set "envelope.from" "sirius@example.org";
test_set "envelope.to" "timo@example.net";

test "Redirect" {
	redirect "cras@example.net";

	if not test_result_execute {
		test_fail "failed to execute redirect";
	}

	test_message :smtp 0;

	if not address :is "to" "tss@example.net" {
		test_fail "to address incorrect (strange forward)";
	}

	if not address :is "from" "stephan@example.org" {
		test_fail "from address incorrect (strange forward)";
	}

	if not envelope :is "to" "cras@example.net" {
		test_fail "envelope recipient incorrect";
	}

	if not envelope :is "from" "sirius@example.org" {
		test_fail "envelope sender incorrect";
	}
}

test_result_reset;

test "Redirect from <>" {
	test_set "envelope.from" "<>";

	redirect "cras@example.net";

	if not test_result_execute {
		test_fail "failed to execute redirect";
	}

	if envelope :is "from" "sirius@example.org" {
		test_fail "envelope sender incorrect (not changed)";
	}

	if not envelope :is "from" "" {
		test_fail "envelope sender incorrect";
	}
}