summaryrefslogtreecommitdiffstats
path: root/test/functional/cases/330_neural.robot
blob: 6681de14b6f82d3c59858c8061a20aa008b27a42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
*** Settings ***
Suite Setup      Neural Setup
Suite Teardown   Neural Teardown
Library         Process
Library         ${TESTDIR}/lib/rspamd.py
Resource        ${TESTDIR}/lib/rspamd.robot
Variables       ${TESTDIR}/lib/vars.py

*** Variables ***
${URL_TLD}      ${TESTDIR}/../lua/unit/test_tld.dat
${CONFIG}       ${TESTDIR}/configs/plugins.conf
${MESSAGE}      ${TESTDIR}/messages/spam_message.eml
${LUA_SCRIPT}   ${TESTDIR}/lua/neural.lua
${REDIS_SCOPE}  Suite
${RSPAMD_SCOPE}  Suite

*** Test Cases ***
Train Spam
  : FOR    ${INDEX}    IN RANGE    0    10
  \  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings={symbols_enabled = ["SPAM_SYMBOL"]}
  \  Check Rspamc  ${result}  SPAM_SYMBOL (1.00)

Train Ham
  : FOR    ${INDEX}    IN RANGE    0    10
  \  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings={symbols_enabled = ["HAM_SYMBOL"]}
  \  Check Rspamc  ${result}  HAM_SYMBOL (-1.00)

Check Neural HAM
  Sleep  2s  Wait for neural to be loaded
  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings={symbols_enabled = ["HAM_SYMBOL"];groups_enabled=["neural"];symbols_disabled = ["NEURAL_LEARN"]}
  Check Rspamc  ${result}  NEURAL_HAM_SHORT
  Check Rspamc  ${result}  NEURAL_SPAM_SHORT  inverse=1

Check Neural SPAM
  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings={symbols_enabled = ["SPAM_SYMBOL"];groups_enabled=["neural"];symbols_disabled = ["NEURAL_LEARN"]}
  Check Rspamc  ${result}  NEURAL_SPAM_SHORT
  Check Rspamc  ${result}  NEURAL_HAM_SHORT  inverse=1


Train Spam INVERSE
  : FOR    ${INDEX}    IN RANGE    0    10
  \  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings={symbols_enabled = ["SPAM_SYMBOL"]; SPAM_SYMBOL = -1}
  \  Check Rspamc  ${result}  SPAM_SYMBOL (-1.00)

Train Ham INVERSE
  : FOR    ${INDEX}    IN RANGE    0    10
  \  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings={symbols_enabled = ["HAM_SYMBOL"]; HAM_SYMBOL = 1;}
  \  Check Rspamc  ${result}  HAM_SYMBOL (1.00)


Check Neural HAM INVERSE
  Sleep  2s  Wait for neural to be loaded
  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings={symbols_enabled = ["HAM_SYMBOL"];groups_enabled=["neural"]}
  Check Rspamc  ${result}  NEURAL_SPAM_SHORT
  Check Rspamc  ${result}  NEURAL_HAM_SHORT  inverse=1

Check Neural SPAM INVERSE
  ${result} =  Scan Message With Rspamc  ${MESSAGE}  --header  Settings={symbols_enabled = ["SPAM_SYMBOL"];groups_enabled=["neural"]}
  Check Rspamc  ${result}  NEURAL_HAM_SHORT
  Check Rspamc  ${result}  NEURAL_SPAM_SHORT  inverse=1

*** Keywords ***
Neural Setup
  ${PLUGIN_CONFIG} =  Get File  ${TESTDIR}/configs/neural.conf
  Set Suite Variable  ${PLUGIN_CONFIG}
  Set Suite Variable  ${LUA_SCRIPT}
  Generic Setup  PLUGIN_CONFIG
  Run Redis

Neural Teardown
  Normal Teardown
  Shutdown Process With Children  ${REDIS_PID}