コード例 #1
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_spam_value_success(data, value, score, threshold):
    p = Parser(data)
    result = p.spam_value()

    assert result['value'] is value
    assert result['score'] == pytest.approx(score)
    assert result['threshold'] == pytest.approx(threshold)
コード例 #2
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_skip(func):
    p = Parser(b'data')

    p.test = func
    p.skip(p.test)

    assert p.test.called
コード例 #3
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_headers():
    p = Parser(
        b'Content-length : 42\r\nUser : username\r\nCustom : header\r\nInvalidHeader\r\n'
    )

    result = p.headers()
    expected = (ContentLength, User, XHeader)

    for parsed_header, expected_header in zip(result, expected):
        assert isinstance(parsed_header, expected_header)
コード例 #4
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_request(data):
    p = Parser(data)

    assert isinstance(p.request(), Request)
コード例 #5
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_spamd_protocol():
    p = Parser(b'SPAMD')

    assert p.spamd_protocol() == 'SPAMD'
コード例 #6
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_consume_fail():
    p = Parser(b'data')

    with pytest.raises(ParseError):
        p.consume(rb'invalid')
コード例 #7
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_compress_value_fail():
    p = Parser(b'invalid')

    with pytest.raises(ParseError):
        p.compress_value()
コード例 #8
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_advance():
    p = Parser(b'data')
    p.advance(3)

    assert p.index == 3
コード例 #9
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_message_class_value_success(data, expected):
    p = Parser(data)
    result = p.message_class_value()

    assert result == expected
コード例 #10
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_user_value_success():
    p = Parser(b' user-name_123 ')

    assert p.user_value() == "user-name_123"
コード例 #11
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_response(data):
    p = Parser(data)

    assert isinstance(p.response(), Response)
コード例 #12
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_content_length_value_success(data, expected):
    p = Parser(data)
    result = p.content_length_value()

    assert result == expected
コード例 #13
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_spam_value_fail():
    p = Parser(b'invalid')

    with pytest.raises(ParseError):
        p.spam_value()
コード例 #14
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_set_remove_value_fail():
    p = Parser(b'invalid')

    with pytest.raises(ParseError):
        p.set_remove_value()
コード例 #15
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_set_remove_value_success(data, expected):
    p = Parser(data)
    result = p.set_remove_value()

    assert isinstance(result, ActionOption)
    assert result == expected
コード例 #16
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_message_class_value_fail():
    p = Parser(b'invalid')

    with pytest.raises(ParseError):
        p.message_class_value()
コード例 #17
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_status_code(data, expected):
    p = Parser(data)

    assert p.status_code() == expected
コード例 #18
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_header(data, expected):
    p = Parser(data)
    result = p.header()

    assert isinstance(result, expected)
コード例 #19
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_message():
    p = Parser(b'This is a message\r\n')

    assert p.message() == 'This is a message'
コード例 #20
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_end(index, expected):
    p = Parser(b'data')
    p.index = index

    assert p.end() == expected
コード例 #21
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_instantiates_with_string():
    p = Parser(b'data')

    assert 'p' in locals()
    assert p.string == b'data'
    assert p.index == 0
コード例 #22
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_match_fail():
    p = Parser(b'data')

    assert p.match(rb'invalid') is None
コード例 #23
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_current():
    p = Parser(b'data')

    assert p.current() == b'data'
コード例 #24
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_content_length_value_fail():
    p = Parser(b'abcdef')

    with pytest.raises(ParseError):
        p.content_length_value()
コード例 #25
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_match_success():
    p = Parser(b'data')

    assert p.match(rb'data').group() == b'data'
コード例 #26
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_spamc_protocol():
    p = Parser(b'SPAMC')

    assert p.spamc_protocol() == "SPAMC"
コード例 #27
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_consume_success():
    p = Parser(b'data')
    result = p.consume(rb'data')

    assert result
    assert p.index == 4
コード例 #28
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_instantiates():
    p = Parser()

    assert 'p' in locals()
    assert p.string == b''
    assert p.index == 0
コード例 #29
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_method(data, expected):
    p = Parser(data)

    assert p.method() == expected
コード例 #30
0
ファイル: test_parser.py プロジェクト: pjcunningham/aiospamc
def test_parser_compress_value_success(data):
    p = Parser(data)
    result = p.compress_value()

    assert result == "zlib"