diff options
| author | Tristan Zur <tzur@web.web.ccwn.org> | 2014-03-27 22:27:47 +0100 |
|---|---|---|
| committer | Tristan Zur <tzur@web.web.ccwn.org> | 2014-03-27 22:27:47 +0100 |
| commit | b62676ca5d3d6f6ba3f019ea3f99722e165a98d8 (patch) | |
| tree | 86722cb80f07d4569f90088eeaea2fc2f6e2ef94 /webmail/plugins/managesieve/tests/src | |
Diffstat (limited to 'webmail/plugins/managesieve/tests/src')
16 files changed, 258 insertions, 0 deletions
diff --git a/webmail/plugins/managesieve/tests/src/parser b/webmail/plugins/managesieve/tests/src/parser new file mode 100644 index 0000000..9c4717b --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser @@ -0,0 +1,52 @@ +require ["fileinto","reject","envelope"]; +# rule:[spam] +if anyof (header :contains "X-DSPAM-Result" "Spam") +{ + fileinto "Spam"; + stop; +} +# rule:[test1] +if anyof (header :comparator "i;ascii-casemap" :contains ["From","To"] "test@domain.tld") +{ + discard; + stop; +} +# rule:[test2] +if anyof (not header :comparator "i;octet" :contains ["Subject"] "[test]", header :contains "Subject" "[test2]") +{ + fileinto "test"; + stop; +} +# rule:[comments] +if anyof (true) /* comment + * "comment" #comment */ { + /* comment */ stop; +# comment +} +# rule:[reject] +if size :over 5000K { + reject "Message over 5MB size limit. Please contact me before sending this."; +} +# rule:[false] +if false # size :over 5000K +{ + stop; /* rule disabled */ +} +# rule:[true] +if true +{ + stop; +} +fileinto "Test"; +# rule:[address test] +if address :all :is "From" "nagios@domain.tld" +{ + fileinto "domain.tld"; + stop; +} +# rule:[envelope test] +if envelope :domain :is "From" "domain.tld" +{ + fileinto "domain.tld"; + stop; +} diff --git a/webmail/plugins/managesieve/tests/src/parser.out b/webmail/plugins/managesieve/tests/src/parser.out new file mode 100644 index 0000000..385c889 --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser.out @@ -0,0 +1,52 @@ +require ["fileinto","reject","envelope"]; +# rule:[spam] +if header :contains "X-DSPAM-Result" "Spam" +{ + fileinto "Spam"; + stop; +} +# rule:[test1] +if header :contains ["From","To"] "test@domain.tld" +{ + discard; + stop; +} +# rule:[test2] +if anyof (not header :comparator "i;octet" :contains "Subject" "[test]", header :contains "Subject" "[test2]") +{ + fileinto "test"; + stop; +} +# rule:[comments] +if true +{ + stop; +} +# rule:[reject] +if size :over 5000K +{ + reject "Message over 5MB size limit. Please contact me before sending this."; +} +# rule:[false] +if false # size :over 5000K +{ + stop; +} +# rule:[true] +if true +{ + stop; +} +fileinto "Test"; +# rule:[address test] +if address :all :is "From" "nagios@domain.tld" +{ + fileinto "domain.tld"; + stop; +} +# rule:[envelope test] +if envelope :domain :is "From" "domain.tld" +{ + fileinto "domain.tld"; + stop; +} diff --git a/webmail/plugins/managesieve/tests/src/parser_body b/webmail/plugins/managesieve/tests/src/parser_body new file mode 100644 index 0000000..bd142ed --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_body @@ -0,0 +1,17 @@ +require ["body","fileinto"]; +if body :raw :contains "MAKE MONEY FAST" +{ + stop; +} +if body :content "text" :contains ["missile","coordinates"] +{ + fileinto "secrets"; +} +if body :content "audio/mp3" :contains "" +{ + fileinto "jukebox"; +} +if body :text :contains "project schedule" +{ + fileinto "project/schedule"; +} diff --git a/webmail/plugins/managesieve/tests/src/parser_enotify_a b/webmail/plugins/managesieve/tests/src/parser_enotify_a new file mode 100644 index 0000000..68a9ef5 --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_enotify_a @@ -0,0 +1,19 @@ +require ["enotify","variables"]; +# rule:[notify1] +if header :contains "from" "boss@example.org" +{ + notify :importance "1" :message "This is probably very important" "mailto:alm@example.com"; + stop; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify2] +if header :matches "From" "*" +{ + set "from" "${1}"; + notify :importance "3" :message "${from}: ${subject}" "mailto:alm@example.com"; +} + diff --git a/webmail/plugins/managesieve/tests/src/parser_enotify_b b/webmail/plugins/managesieve/tests/src/parser_enotify_b new file mode 100644 index 0000000..8854658 --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_enotify_b @@ -0,0 +1,18 @@ +require ["envelope","variables","enotify"]; +# rule:[from] +if envelope :all :matches "from" "*" +{ + set "env_from" " [really: ${1}]"; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify] +if address :all :matches "from" "*" +{ + set "from_addr" "${1}"; + notify :message "${from_addr}${env_from}: ${subject}" "mailto:alm@example.com"; +} + diff --git a/webmail/plugins/managesieve/tests/src/parser_imapflags b/webmail/plugins/managesieve/tests/src/parser_imapflags new file mode 100644 index 0000000..e67bf7c --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_imapflags @@ -0,0 +1,7 @@ +require ["imap4flags"]; +# rule:[imapflags] +if header :matches "Subject" "^Test$" +{ + setflag "\\Seen"; + addflag ["\\Answered","\\Deleted"]; +} diff --git a/webmail/plugins/managesieve/tests/src/parser_include b/webmail/plugins/managesieve/tests/src/parser_include new file mode 100644 index 0000000..b5585a4 --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_include @@ -0,0 +1,7 @@ +require ["include"]; +include "script.sieve"; +# rule:[two] +if true +{ + include :optional "second.sieve"; +} diff --git a/webmail/plugins/managesieve/tests/src/parser_kep14 b/webmail/plugins/managesieve/tests/src/parser_kep14 new file mode 100644 index 0000000..1ded8d8 --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_kep14 @@ -0,0 +1,2 @@ +# EDITOR Roundcube +# EDITOR_VERSION 123 diff --git a/webmail/plugins/managesieve/tests/src/parser_kep14.out b/webmail/plugins/managesieve/tests/src/parser_kep14.out new file mode 100644 index 0000000..cb7faa7 --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_kep14.out @@ -0,0 +1,3 @@ +require ["variables"]; +set "EDITOR" "Roundcube"; +set "EDITOR_VERSION" "123"; diff --git a/webmail/plugins/managesieve/tests/src/parser_notify_a b/webmail/plugins/managesieve/tests/src/parser_notify_a new file mode 100644 index 0000000..f1a5754 --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_notify_a @@ -0,0 +1,18 @@ +require ["notify","variables"]; +# rule:[notify1] +if header :contains "from" "boss@example.org" +{ + notify :low :message "This is probably very important"; + stop; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify2] +if header :matches "From" "*" +{ + set "from" "${1}"; + notify :high :message "${from}: ${subject}" :method "mailto:test@example.org"; +} diff --git a/webmail/plugins/managesieve/tests/src/parser_notify_b b/webmail/plugins/managesieve/tests/src/parser_notify_b new file mode 100644 index 0000000..cf80a97 --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_notify_b @@ -0,0 +1,17 @@ +require ["envelope","variables","notify"]; +# rule:[from] +if envelope :all :matches "from" "*" +{ + set "env_from" " [really: ${1}]"; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify] +if address :all :matches "from" "*" +{ + set "from_addr" "${1}"; + notify :message "${from_addr}${env_from}: ${subject}" :method "sms:1234567890"; +} diff --git a/webmail/plugins/managesieve/tests/src/parser_prefix b/webmail/plugins/managesieve/tests/src/parser_prefix new file mode 100644 index 0000000..9f6a33a --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_prefix @@ -0,0 +1,5 @@ +# this is a comment +# and the second line + +require ["variables"]; +set "b" "c"; diff --git a/webmail/plugins/managesieve/tests/src/parser_relational b/webmail/plugins/managesieve/tests/src/parser_relational new file mode 100644 index 0000000..0a92fde --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_relational @@ -0,0 +1,6 @@ +require ["relational","comparator-i;ascii-numeric"]; +# rule:[redirect] +if header :value "ge" :comparator "i;ascii-numeric" "X-Spam-score" "14" +{ + redirect "test@test.tld"; +} diff --git a/webmail/plugins/managesieve/tests/src/parser_subaddress b/webmail/plugins/managesieve/tests/src/parser_subaddress new file mode 100644 index 0000000..f106b79 --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_subaddress @@ -0,0 +1,11 @@ +require ["envelope","subaddress","fileinto"]; +if envelope :user "To" "postmaster" +{ + fileinto "postmaster"; + stop; +} +if envelope :detail :is "To" "mta-filters" +{ + fileinto "mta-filters"; + stop; +} diff --git a/webmail/plugins/managesieve/tests/src/parser_vacation b/webmail/plugins/managesieve/tests/src/parser_vacation new file mode 100644 index 0000000..93026db --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_vacation @@ -0,0 +1,12 @@ +require ["vacation"]; +# rule:[test-vacation] +if header :contains "Subject" "vacation" +{ + vacation :days 1 text: +# test +test test /* test */ +test +. +; + stop; +} diff --git a/webmail/plugins/managesieve/tests/src/parser_variables b/webmail/plugins/managesieve/tests/src/parser_variables new file mode 100644 index 0000000..bd5941c --- /dev/null +++ b/webmail/plugins/managesieve/tests/src/parser_variables @@ -0,0 +1,12 @@ +require ["variables"]; +set "honorific" "Mr"; +set "vacation" text: +Dear ${HONORIFIC} ${last_name}, +I am out, please leave a message after the meep. +. +; +set :length "b" "${a}"; +set :lower "b" "${a}"; +set :upperfirst "b" "${a}"; +set :upperfirst :lower "b" "${a}"; +set :quotewildcard "b" "Rock*"; |
