From b88b679dd797b92ad7cfaa365c130ebd8b2b0dd2 Mon Sep 17 00:00:00 2001 From: Andrew Lewis <nerf@judo.za.org> Date: Mon, 6 Mar 2017 16:45:21 +0200 Subject: [Test] Some tests for antivirus module --- test/functional/cases/160_antivirus.robot | 80 +++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 test/functional/cases/160_antivirus.robot (limited to 'test/functional/cases') diff --git a/test/functional/cases/160_antivirus.robot b/test/functional/cases/160_antivirus.robot new file mode 100644 index 000000000..f3604b2fe --- /dev/null +++ b/test/functional/cases/160_antivirus.robot @@ -0,0 +1,80 @@ +*** Settings *** +Suite Setup Antivirus Setup +Suite Teardown Antivirus Teardown +Library Process +Library ${TESTDIR}/lib/rspamd.py +Resource ${TESTDIR}/lib/rspamd.robot +Variables ${TESTDIR}/lib/vars.py + +*** Variables *** +${CONFIG} ${TESTDIR}/configs/plugins.conf +${MESSAGE} ${TESTDIR}/messages/spam_message.eml +${MESSAGE2} ${TESTDIR}/messages/freemail.eml +${REDIS_SCOPE} Suite +${RSPAMD_SCOPE} Suite +${URL_TLD} ${TESTDIR}/../lua/unit/test_tld.dat + +*** Test Cases *** +CLAMAV MISS + Run Dummy Clam ${PORT_CLAM} + ${result} = Scan Message With Rspamc ${MESSAGE} + Check Rspamc ${result} CLAM_VIRUS inverse=1 + +CLAMAV HIT + Run Dummy Clam ${PORT_CLAM} 1 + ${result} = Scan Message With Rspamc ${MESSAGE2} + Check Rspamc ${result} CLAM_VIRUS (1.00)[Eicar-Test-Signature] + Should Not Contain ${result.stdout} FPROT_ + +CLAMAV CACHE HIT + ${result} = Scan Message With Rspamc ${MESSAGE2} + Check Rspamc ${result} CLAM_VIRUS (1.00)[Eicar-Test-Signature] + Should Not Contain ${result.stdout} FPROT_ + +CLAMAV CACHE MISS + ${result} = Scan Message With Rspamc ${MESSAGE} + Check Rspamc ${result} CLAM_VIRUS inverse=1 + Should Not Contain ${result.stdout} FPROT_ + +FPROT MISS + Run Dummy Fprot ${PORT_FPROT} + ${result} = Scan Message With Rspamc ${MESSAGE2} + Check Rspamc ${result} FPROT_VIRUS inverse=1 + Should Not Contain ${result.stdout} FPROT_EICAR + +FPROT HIT - PATTERN + Run Dummy Fprot ${PORT_FPROT} 1 + ${result} = Scan Message With Rspamc ${MESSAGE} + Check Rspamc ${result} FPROT_EICAR (1.00)[EICAR_Test_File] + Should Not Contain ${result.stdout} CLAMAV_VIRUS + +FPROT CACHE HIT + ${result} = Scan Message With Rspamc ${MESSAGE} + Check Rspamc ${result} FPROT_EICAR (1.00)[EICAR_Test_File] + Should Not Contain ${result.stdout} CLAMAV_VIRUS + +FPROT CACHE MISS + ${result} = Scan Message With Rspamc ${MESSAGE2} + Check Rspamc ${result} FPROT_ inverse=1 + +*** Keywords *** +Antivirus Setup + ${PLUGIN_CONFIG} = Get File ${TESTDIR}/configs/antivirus.conf + Set Suite Variable ${PLUGIN_CONFIG} + Generic Setup PLUGIN_CONFIG + Run Redis + +Antivirus Teardown + Normal Teardown + Shutdown Process With Children ${REDIS_PID} + Wait For Port ${SOCK_STREAM} ${LOCAL_ADDR} ${REDIS_PORT} + +Run Dummy Clam + [Arguments] ${port} ${found}= + Wait For Port ${SOCK_STREAM} ${LOCAL_ADDR} ${port} + ${result} = Start Process ${TESTDIR}/util/dummy_clam.py ${port} ${found} + +Run Dummy Fprot + [Arguments] ${port} ${found}= + Wait For Port ${SOCK_STREAM} ${LOCAL_ADDR} ${port} + ${result} = Start Process ${TESTDIR}/util/dummy_fprot.py ${port} ${found} -- cgit v1.2.3