ModSecurity/tests/regression/misc/20-status-engine.t
Felipe Zimmerle cee205b109 Adds Status test case with the SecServerSignature being used
If SecServerSignature is used ModSecurity should send the real data, not the
one informed to SecServerSignature.
Originally reported by: Linas
2014-11-14 11:53:39 -08:00

74 lines
1.7 KiB
Perl

### Test the SecStatusEngine
# On
{
type => "misc",
comment => "Setting SecStatusEngine to On",
conf => qq(
SecRuleEngine On
SecStatusEngine On
),
match_log => {
error => [ qr/ModSecurity: StatusEngine call successfully sent/, 1],
-error => [ qr/Status engine is currently disabled, enable it by set SecStatusEngine to On/, 1],
},
match_response => {
status => qr/^200$/,
},
request => new HTTP::Request(
POST => "http://$ENV{SERVER_NAME}:$ENV{SERVER_PORT}/test.txt",
[
"Content-Type" => "application/x-www-form-urlencoded",
],
"arg1=val1&arg2=val2",
),
},
# Off
{
type => "misc",
comment => "Setting SecStatusEngine to Off",
conf => qq(
SecRuleEngine On
SecStatusEngine Off
),
match_log => {
-error => [ qr/ModSecurity: StatusEngine call successfully sent/, 1],
error => [ qr/Status engine is currently disabled, enable it by set SecStatusEngine to On/, 1],
},
match_response => {
status => qr/^200$/,
},
request => new HTTP::Request(
POST => "http://$ENV{SERVER_NAME}:$ENV{SERVER_PORT}/test.txt",
[
"Content-Type" => "application/x-www-form-urlencoded",
],
"arg1=val1&arg2=val2",
),
},
# On and SecServerSignature
{
type => "misc",
comment => "SecStatusEngine On using SecServerSignature",
conf => qq(
SecRuleEngine On
SecServerSignature "SpiderServer v0.1a"
SecStatusEngine On
),
match_log => {
error => [ qr/ModSecurity: StatusEngine call successfully sent/, 1],
-error => [ qr/StatusEngine call: .*SpiderServer v0.1a.*/, 1],
},
match_response => {
status => qr/^200$/,
},
request => new HTTP::Request(
POST => "http://$ENV{SERVER_NAME}:$ENV{SERVER_PORT}/test.txt",
[
"Content-Type" => "application/x-www-form-urlencoded",
],
"arg1=val1&arg2=val2",
),
},