aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/functional/cases/001_merged/101_lua.robot7
-rw-r--r--test/functional/configs/merged.conf1
-rw-r--r--test/functional/lua/inject_url.lua17
3 files changed, 24 insertions, 1 deletions
diff --git a/test/functional/cases/001_merged/101_lua.robot b/test/functional/cases/001_merged/101_lua.robot
index d1a771cb3..2cfc03677 100644
--- a/test/functional/cases/001_merged/101_lua.robot
+++ b/test/functional/cases/001_merged/101_lua.robot
@@ -8,6 +8,7 @@ ${MESSAGE} ${RSPAMD_TESTDIR}/messages/spam_message.eml
${RSPAMD_MAP_MAP} ${RSPAMD_TESTDIR}/configs/maps/map.list
${RSPAMD_RADIX_MAP} ${RSPAMD_TESTDIR}/configs/maps/ip2.list
${RSPAMD_REGEXP_MAP} ${RSPAMD_TESTDIR}/configs/maps/regexp.list
+${URL_ICS} ${RSPAMD_TESTDIR}/messages/ics.eml
*** Test Cases ***
Recipient Parsing Sanity
@@ -47,4 +48,8 @@ Rule conditions
External Maps Simple
Scan File ${MESSAGE} Settings={symbols_enabled = [EXTERNAL_MAP]}
- Expect Symbol With Exact Options EXTERNAL_MAP +hello map \ No newline at end of file
+ Expect Symbol With Exact Options EXTERNAL_MAP +hello map
+
+Task Inject Url
+ Scan File ${URL_ICS} Settings={symbols_enabled = [TEST_INJECT_URL]}
+ Expect Symbol TEST_INJECT_URL \ No newline at end of file
diff --git a/test/functional/configs/merged.conf b/test/functional/configs/merged.conf
index 2b3640048..0ee224ceb 100644
--- a/test/functional/configs/merged.conf
+++ b/test/functional/configs/merged.conf
@@ -10,6 +10,7 @@ lua = "{= env.TESTDIR =}/lua/option_order.lua"
lua = "{= env.TESTDIR =}/lua/recipients.lua"
lua = "{= env.TESTDIR =}/lua/remove_result.lua"
lua = "{= env.TESTDIR =}/lua/tlds.lua"
+lua = "{= env.TESTDIR =}/lua/inject_url.lua"
# 104_get_from
lua = "{= env.TESTDIR =}/lua/get_from.lua"
diff --git a/test/functional/lua/inject_url.lua b/test/functional/lua/inject_url.lua
new file mode 100644
index 000000000..f8764b213
--- /dev/null
+++ b/test/functional/lua/inject_url.lua
@@ -0,0 +1,17 @@
+local url = require('rspamd_url')
+
+local function task_inject_cb (task)
+ local url_text = 'http://example.com?redir=https://another.com'
+ local url_to_inject = url.create(task:get_mempool(), url_text)
+ task:inject_url(url_to_inject)
+ if #(task:get_urls()) == 2 then
+ return true
+ end
+ return false
+end
+
+rspamd_config:register_symbol({
+ name = 'TEST_INJECT_URL',
+ score = 1.0,
+ callback = task_inject_cb
+})