54 lines
1.5 KiB
Plaintext
54 lines
1.5 KiB
Plaintext
(* Tests for the Postfix Access module *)
|
|
|
|
module Test_postfix_access =
|
|
|
|
let three_entries = "127.0.0.1 DISCARD You totally suck
|
|
Really
|
|
#ok no more comments
|
|
user@ REJECT
|
|
"
|
|
|
|
test Postfix_access.record get "127.0.0.1 REJECT\n" =
|
|
{ "1" { "pattern" = "127.0.0.1" }
|
|
{ "action" = "REJECT" } }
|
|
|
|
test Postfix_access.lns get three_entries =
|
|
{ "1" { "pattern" = "127.0.0.1" }
|
|
{ "action" = "DISCARD" }
|
|
{ "parameters" = "You totally suck\n Really" } }
|
|
{"#comment" = "ok no more comments" }
|
|
{ "2" { "pattern" = "user@" }
|
|
{ "action" = "REJECT" } }
|
|
|
|
test Postfix_access.record put "127.0.0.1 OK\n" after
|
|
set "/1/action" "REJECT"
|
|
= "127.0.0.1 REJECT\n"
|
|
|
|
test Postfix_access.lns put three_entries after
|
|
set "/2/parameters" "Rejected you loser" ;
|
|
rm "/1/parameters"
|
|
= "127.0.0.1 DISCARD
|
|
#ok no more comments
|
|
user@ REJECT Rejected you loser
|
|
"
|
|
|
|
(* Deleting the 'action' node violates the schema; each postfix access *)
|
|
(* entry must have one *)
|
|
test Postfix_access.lns put three_entries after
|
|
rm "/1/action"
|
|
= *
|
|
|
|
(* Make sure blank lines get through *)
|
|
test Postfix_access.lns get "127.0.0.1\tREJECT \n \n\n
|
|
user@*\tOK\tI 'll let you in \n\tseriously\n" =
|
|
{ "1" { "pattern" = "127.0.0.1" }
|
|
{ "action" = "REJECT" } }
|
|
{} {} {}
|
|
{ "2" { "pattern" = "user@*" }
|
|
{ "action" = "OK" }
|
|
{ "parameters" = "I 'll let you in \n\tseriously" } }
|
|
|
|
(* Local Variables: *)
|
|
(* mode: caml *)
|
|
(* End: *)
|