ACL: "seen" condition
[exim.git] / test / scripts / 0000-Basic / 0626
1 # ACL 'seen' condition
2 #
3 exim -DOPT='-1s' -bh 127.0.0.1
4 HELO test
5 MAIL FROM:<tester@test.ex>
6 RCPT TO:<a1@test.ex>
7 QUIT
8 ****
9 # Check that a hints DB was created.
10 # Only the key is useful thanks to munging; should match the IP used above.
11 dump seen
12 #
13 sleep 1
14 # should now see old-enough record
15 exim -DOPT='-1s' -bh 127.0.0.1
16 HELO test
17 MAIL FROM:<tester@test.ex>
18 RCPT TO:<a1@test.ex>
19 QUIT
20 ****
21 # force an update (visible via debug output in stdout for -bh)
22 exim -DOPT='-1s / write' -bh 127.0.0.1
23 HELO test
24 MAIL FROM:<tester@test.ex>
25 RCPT TO:<a1@test.ex>
26 QUIT
27 ****
28 # default key should change with ip
29 exim -DOPT='-1s' -bh HOSTIPV4
30 HELO test
31 MAIL FROM:<tester@test.ex>
32 RCPT TO:<a1@test.ex>
33 QUIT
34 ****
35 dump seen
36 # explicit key (also checking expansion)
37 exim -DOPT='-1s / key=${sender_host_address}_foo' -bh 127.0.0.1
38 HELO test
39 MAIL FROM:<tester@test.ex>
40 RCPT TO:<a1@test.ex>
41 QUIT
42 ****
43 dump seen
44 # check refresh
45 sleep 1
46 exim -DOPT='-1s / refresh=1s' -bh 127.0.0.1
47 HELO test
48 MAIL FROM:<tester@test.ex>
49 RCPT TO:<a1@test.ex>
50 QUIT
51 ****
52 #
53 #
54 #
55 #
56 #
57 # test for seen-more-recently-than
58 # that previous one should be no older than 5s, so this should pass
59 # do not update
60 # check list-parsing spaceless while we're here
61 exim -DOPT='5s/key=${sender_host_address}_foo/readonly' -bh 127.0.0.1
62 HELO test
63 MAIL FROM:<tester@test.ex>
64 RCPT TO:<a1@test.ex>
65 QUIT
66 ****
67 # check the above no-update by waiting longer than the later-than interval; should fail
68 # should update
69 sleep 2
70 exim -DOPT='1s / key=${sender_host_address}_foo' -bh 127.0.0.1
71 HELO test
72 MAIL FROM:<tester@test.ex>
73 RCPT TO:<a1@test.ex>
74 QUIT
75 ****
76 # having updated, should pass
77 exim -DOPT='1s / key=${sender_host_address}_foo' -bh 127.0.0.1
78 HELO test
79 MAIL FROM:<tester@test.ex>
80 RCPT TO:<a1@test.ex>
81 QUIT
82 ****