summaryrefslogtreecommitdiffstats
path: root/pigeonhole/tests/extensions/reject/smtp.svtest
blob: 8cbf77cdc7b7e60a03ce5b5062a30ea9b951e383 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
require "vnd.dovecot.testsuite";
require "envelope";
require "reject";

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 "Basic" {
	reject "I don't want your mail";

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

    test_message :smtp 0;

    if not address :is "to" "sirius@example.org" {
        test_fail "to address incorrect";
    }

    if not header :contains "from" "Postmaster" {
        test_fail "from address incorrect";
    }

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

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

test_result_reset;
test_set "envelope.from" "<>";

test "Null Sender" {
	reject "I don't want your mail";

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

	if test_message :smtp 0 {
		test_fail "reject sent message to NULL sender";
	}
}