diff options
-rw-r--r-- | test/functional/cases/flags.lua | 37 | ||||
-rw-r--r-- | test/functional/cases/task_flags.sh | 17 | ||||
-rw-r--r-- | test/functional/configs/lua_test.conf | 10 | ||||
-rw-r--r-- | test/functional/functions.sh | 2 |
4 files changed, 65 insertions, 1 deletions
diff --git a/test/functional/cases/flags.lua b/test/functional/cases/flags.lua new file mode 100644 index 000000000..61f135f1c --- /dev/null +++ b/test/functional/cases/flags.lua @@ -0,0 +1,37 @@ +--[[ +Copyright (c) 2015, Vsevolod Stakhov <vsevolod@highsecure.ru> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +]]-- + +local logger = require "rspamd_logger" + +rspamd_config:register_post_filter(function(task) + task:set_flag('no_stat') + task:set_flag('no_log', false) + task:set_flag('no_log', true) + task:set_flag('skip', true) + task:set_flag('extended_urls') + + task:insert_result('FLAGS_SYM', 1.0, table.concat(task:get_flags(), ',')) +end) diff --git a/test/functional/cases/task_flags.sh b/test/functional/cases/task_flags.sh new file mode 100644 index 000000000..501d242cb --- /dev/null +++ b/test/functional/cases/task_flags.sh @@ -0,0 +1,17 @@ +# Test rspamd_task:get|set_flags functions + +. ${TEST_DIRNAME}/functions.sh + +sed -e 's|@@LUA_SCRIPT@@|${TESTDIR}/cases/flags.lua|' < \ + "$TEST_DIRNAME/configs/lua_test.conf" > \ + "$TMPDIR/rspamd.conf" +export RSPAMD_CONFIG="$TMPDIR/rspamd.conf" \ + STATSDIR=${TMPDIR} +run_rspamd + +run_rspamc symbols \ + "$TEST_DIRNAME/messages/spam_message.eml" +check_output 'skip,extended_urls,no_log,no_stat' + +run_rspamc stat +check_output 'Messages scanned: 0'
\ No newline at end of file diff --git a/test/functional/configs/lua_test.conf b/test/functional/configs/lua_test.conf index bc1377a77..f43ceb49a 100644 --- a/test/functional/configs/lua_test.conf +++ b/test/functional/configs/lua_test.conf @@ -25,5 +25,15 @@ worker { privkey = "oswsyqndpj3swqa4yqm4yzoyih83otqkeoxpo9km95o46ixh6quy"; } } +worker { + type = controller + bind_socket = localhost:56790 + count = 1 + keypair { + pubkey = "y3ms1knmetxf8gdeixkf74b6tbpxqugmxzqksnjodiqei7tksyty"; + privkey = "oswsyqndpj3swqa4yqm4yzoyih83otqkeoxpo9km95o46ixh6quy"; + } + secure_ip = ["127.0.0.1", "::1"]; +} lua = @@LUA_SCRIPT@@; diff --git a/test/functional/functions.sh b/test/functional/functions.sh index 84393d325..7a7ec47fc 100644 --- a/test/functional/functions.sh +++ b/test/functional/functions.sh @@ -96,7 +96,7 @@ run_rspamc() { _rspamc="$TEST_DIRNAME/../../src/client/rspamc" case $_command in - learn_spam|learn_ham|fuzzy_add|fuzzy_del|stats) _host="localhost:56790" ;; + learn_spam|learn_ham|fuzzy_add|fuzzy_del|stat) _host="localhost:56790" ;; *) _host="localhost:56789" ;; esac |