require "vnd.stalwart.testsuite"; require "variables"; require "fileinto"; require "mailbox"; require "body"; require "editheader"; set "message" text: From: stephan@example.com To: timo@example.com Subject: Frop! Frop! . ; test_set "message" "${message}"; test "Alternating - add; delete" { addheader "X-Some-Header" "Header content"; if not exists "x-some-header" { test_fail "header not added"; } if not header :is "x-some-header" "Header content" { test_fail "wrong content added"; } redirect "frop@example.com"; deleteheader "X-Some-Header"; if exists "x-some-header" { test_fail "header not deleted"; } fileinto :create "folder1"; if not test_result_execute { test_fail "failed to execute result"; } /* redirected message */ /*if not test_message :smtp 0 { test_fail "message not redirected"; } if not exists "x-some-header" { test_fail "added header not in redirected mail"; } if not header :is "x-some-header" "Header content" { test_fail "wrong content in redirected mail "; }*/ /* stored message message */ /*if not test_message :folder "folder1" 0 { test_fail "message not stored"; } if exists "x-some-header" { test_fail "added header still present stored mail"; }*/ } test_result_reset; test_set "message" "${message}"; test_set "message" "${message}"; set "expected_message" text: Subject: Friep! From: stephan@example.com To: timo@example.com Frop! . ; test "Alternating - delete; add" { deleteheader "Subject"; if exists "subject" { test_fail "header not deleted"; } redirect "frop@example.com"; addheader "Subject" "Friep!"; if not exists "subject" { test_fail "header not added"; } if not header :is "subject" "Friep!" { test_fail "wrong content added"; } test_assert_message "${expected_message}"; fileinto :create "folder2"; if not test_result_execute { test_fail "failed to execute result"; } /* redirected message */ if not test_message :smtp 0 { test_fail "message not redirected"; } /*if exists "subject" { test_fail "deleted header still present redirected mail"; }*/ /* stored message message */ /*if not test_message :folder "folder2" 0 { test_fail "message not stored"; } if not exists "subject" { test_fail "added header not in stored mail"; } if not header :is "subject" "Friep!" { test_fail "wrong content in redirected mail "; }*/ } test_result_reset; test_set "message" "${message}"; test "Alternating - add :last; delete any" { addheader :last "X-Some-Header" "Header content"; if not exists "x-some-header" { test_fail "header not added"; } if not header :is "x-some-header" "Header content" { test_fail "wrong content added"; } redirect "frop@example.com"; deleteheader "X-Some-Other-Header"; if not exists "x-some-header" { test_fail "header somehow deleted"; } fileinto :create "folder3"; if not test_result_execute { test_fail "failed to execute result"; } /* redirected message */ if not test_message :smtp 0 { test_fail "message not redirected"; } if not exists "x-some-header" { test_fail "added header not in redirected mail"; } if not header :is "x-some-header" "Header content" { test_fail "wrong content in redirected mail "; } /* stored message message */ if not test_message :folder "folder3" 0 { test_fail "message not stored"; } if not exists "x-some-header" { test_fail "added header lost in stored mail"; } if not header :is "x-some-header" "Header content" { test_fail "wrong content in stored mail "; } }