示例#1
0
def test_search3():
    runner = testrunner.TestRunner()
    x = ruleset.Input(dest_addr="example.com", headers={"Host": "example.com"})
    http_ua = http.HttpUA()
    http_ua.send_request(x)
    runner.test_response(http_ua.response_object,
                         re.compile('established to be used for'))
示例#2
0
def test_search2():
    runner = testrunner.TestRunner()
    x = ruleset.Input(dest_addr="example.com", headers={"Host": "example.com"})
    http_ua = http.HttpUA()
    http_ua.send_request(x)
    with pytest.raises(AssertionError):
        runner.test_response(http_ua.response_object, re.compile('dog'))
示例#3
0
def test_modsecurityv2(modsec_logger_obj, ruleset, test, destaddr):
    """
    Modsec specific test
    """
    runner = testrunner.TestRunner() 
    try:
        for stage in test.stages:
            if destaddr is not None:
                stage.input.dest_addr = destaddr
            runner.run_stage(stage, modsec_logger_obj)
    except errors.TestError as e:
        e.args[1]['meta'] = ruleset.meta
        pytest.fail('Failure! Message -> {0}, Context -> {1}'
                        .format(e.args[0],e.args[1]))
示例#4
0
def test_default(ruleset, test, destaddr):
    """
    Default tester with no logger obj. Useful for HTML contains and Status code
    Not useful for testing loggers
    """
    runner = testrunner.TestRunner()
    try:
        for stage in test.stages:
            if destaddr is not None:
                stage.input.dest_addr = destaddr
            runner.run_stage(stage, None)
    except errors.TestError as e:
        e.args[1]['meta'] = ruleset.meta
        pytest.fail('Failure! Message -> {0}, Context -> {1}'.format(
            e.args[0], e.args[1]))
示例#5
0
def test_expecterror(ruleset, test):
    runner = testrunner.TestRunner()
    for stage in test.stages:
        runner.run_stage(stage)
示例#6
0
def test_multipart(ruleset, test):
    runner = testrunner.TestRunner()
    for stage in test.stages:
        runner.run_stage(stage)
示例#7
0
def test_logcontains_nolog(logchecker_obj, ruleset, test):
    logchecker_obj.do_nothing = True
    runner = testrunner.TestRunner()
    for stage in test.stages:
        runner.run_stage(stage, logchecker_obj)
示例#8
0
def test_logcontains_withlog(logchecker_obj, ruleset, test):
    runner = testrunner.TestRunner()
    for stage in test.stages:
        runner.run_stage(stage, logchecker_obj)
示例#9
0
def test_logcontains(ruleset, test):
    runner = testrunner.TestRunner()
    for stage in test.stages:
        runner.run_stage(stage)
示例#10
0
def test_logcontains_nolog(logchecker_obj, ruleset, test):
    logchecker_obj.do_nothing = True
    runner = testrunner.TestRunner()
    with(pytest.raises(AssertionError)):
        for stage in test.stages:
            runner.run_stage(stage, logchecker_obj)