spamassassin-milter/tests/ham_message.lua

77 lines
2.6 KiB
Lua
Raw Normal View History

2020-02-12 08:35:32 +00:00
-- Happy path processing of an ordinary ham (not spam) message.
conn = mt.connect("inet:3333@localhost")
2020-02-08 09:43:52 +00:00
assert(conn, "could not open connection")
2020-02-12 08:35:32 +00:00
local err = mt.conninfo(conn, "client.gluet.ch", "123.123.123.123")
2020-02-08 09:43:52 +00:00
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
2020-02-12 08:35:32 +00:00
local err = mt.helo(conn, "mail.gluet.ch")
2020-02-08 09:43:52 +00:00
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
2020-02-12 08:35:32 +00:00
local err = mt.mailfrom(conn, "from@gluet.ch")
2020-02-08 09:43:52 +00:00
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
2020-02-12 08:35:32 +00:00
local err = mt.rcptto(conn, "to@gluet.ch")
2020-02-08 09:43:52 +00:00
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
2020-02-12 08:35:32 +00:00
SMFIC_DATA = string.byte("T") -- SMFIC_DATA not exported by miltertest
2020-02-08 09:43:52 +00:00
local err = mt.macro(conn, SMFIC_DATA,
2020-02-12 08:35:32 +00:00
"i", "1234567ABC",
2020-02-08 09:43:52 +00:00
"j", "localhost",
2020-02-12 08:35:32 +00:00
"_", "client.gluet.ch [123.123.123.123]",
2020-02-08 09:43:52 +00:00
"{tls_version}", "TLSv1.2",
"v", "Postfix 3.3.0")
assert(err == nil, err)
local err = mt.data(conn)
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
2020-02-12 08:35:32 +00:00
local err = mt.header(conn, "From", "from@gluet.ch")
2020-02-08 09:43:52 +00:00
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
2020-02-12 08:35:32 +00:00
local err = mt.header(conn, "To", "to@gluet.ch")
2020-02-08 09:43:52 +00:00
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
local err = mt.header(conn, "Subject", "Test message")
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
2020-02-12 08:35:32 +00:00
local err = mt.header(conn, "Message-ID", string.format("<%06d@gluet.ch>", math.random(999999)))
2020-02-08 09:43:52 +00:00
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
2020-02-12 08:35:32 +00:00
local err = mt.header(conn, "Date", os.date("%a, %d %b %Y %H:%M:%S %Z"))
2020-02-08 09:43:52 +00:00
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
-- Incoming foreign SpamAssassin headers, to be replaced or deleted.
local err = mt.header(conn, "X-Spam-Checker-Version", "BogusChecker 1.0.0")
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
local err = mt.header(conn, "X-Spam-Report", "Bogus report")
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
2020-02-08 09:43:52 +00:00
local err = mt.eoh(conn)
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
local err = mt.bodystring(conn, "Hello, we would like to invite you to ...")
2020-02-08 09:43:52 +00:00
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_CONTINUE)
local err = mt.eom(conn)
assert(err == nil, err)
assert(mt.getreply(conn) == SMFIR_ACCEPT)
assert(mt.eom_check(conn, MT_HDRINSERT, "X-Spam-Custom", " Custom-Value"))
assert(mt.eom_check(conn, MT_HDRDELETE, "X-Spam-Checker-Version"))
assert(mt.eom_check(conn, MT_HDRINSERT, "X-Spam-Checker-Version", " MyChecker 1.0.0"))
assert(mt.eom_check(conn, MT_HDRDELETE, "X-Spam-Report"))
2020-02-08 09:43:52 +00:00
local err = mt.disconnect(conn)
assert(err == nil, err)