]> source.dussan.org Git - rspamd.git/commitdiff
Add functional test for task flags API.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 25 Sep 2015 14:59:56 +0000 (15:59 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 25 Sep 2015 14:59:56 +0000 (15:59 +0100)
test/functional/cases/flags.lua [new file with mode: 0644]
test/functional/cases/task_flags.sh [new file with mode: 0644]
test/functional/configs/lua_test.conf
test/functional/functions.sh

diff --git a/test/functional/cases/flags.lua b/test/functional/cases/flags.lua
new file mode 100644 (file)
index 0000000..61f135f
--- /dev/null
@@ -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 (file)
index 0000000..501d242
--- /dev/null
@@ -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
index bc1377a775158d41f41aee132ef81e7295fb6d6b..f43ceb49ac44e85752dc7dc135bb0805a8cf287e 100644 (file)
@@ -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@@;
index 84393d32595938ecb29d4ae0d64b4075109d3887..7a7ec47fccd1a3f696763c3179f0dd614e638302 100644 (file)
@@ -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