summaryrefslogtreecommitdiffstats
path: root/src/trivial-rewrite/transport.in
blob: 1ed3a5382589b7d8777d5c087787818b3690adfb (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
#!/bin/sh

# Format: address:expected_channel:expected_nexthop
# No expectation means no match is expected.
# Specify "-" to expect an empty string.

echo ==== no wildcard
${VALGRIND} ./transport 'inline:{rcpt1@example1.com=channel1:nexthop1, rcpt2@example2=channel2:, example3=channel3}' <<'EOF'
rcpt1@example1.com:channel1:nexthop1
rcpt1+ext1@example1.com:channel1:nexthop1
rcpt2@example2:channel2:example2
rcpt@example3:channel3:example3
EOF

echo ==== with wildcard channel and nexthop
${VALGRIND} ./transport 'inline:{*=channel0:nexthop0, rcpt1@example1.com=channel1:nexthop1}' <<'EOF'
rcpt1@example1.com:channel1:nexthop1
rcpt2@example2:channel0:nexthop0
EOF

echo ==== with wildcard channel only
${VALGRIND} ./transport 'inline:{*=channel0, rcpt1@example1.com=channel1:nexthop1}' <<'EOF'
rcpt1@example1.com:channel1:nexthop1
rcpt2@example2:channel0:example2
EOF

echo ==== with wildcard nexthop only
${VALGRIND} ./transport 'inline:{*=:nexthop0, rcpt1@example1.com=channel1:nexthop1}' <<'EOF'
rcpt1@example1.com:channel1:nexthop1
rcpt2@example2:DEFAULT:nexthop0
EOF

echo ==== with wildcard empty fields.
${VALGRIND} ./transport 'inline:{*=:, rcpt1@example1.com=channel1:nexthop1}' <<'EOF'
rcpt1@example1.com:channel1:nexthop1
rcpt2@example2:DEFAULT:example2
EOF

echo === subdomain test
${VALGRIND} ./transport 'inline:{example=:example-result,.example=:dot-example-result}'  <<'EOF'
plain1+ext@other-example:
foo@example:DEFAULT:example-result
foo@sub.example:DEFAULT:dot-example-result
foo@sub.sub.example:DEFAULT:dot-example-result
EOF