34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
"""Test parsing the RapidBlock JSON format
|
|
"""
|
|
from fediblockhole.blocklist_parser import parse_blocklist
|
|
|
|
from fediblockhole.const import SeverityLevel
|
|
|
|
rapidblockjson = "data-rapidblock.json"
|
|
|
|
def test_parse_rapidblock_json():
|
|
with open(rapidblockjson) as fp:
|
|
data = fp.read()
|
|
bl = parse_blocklist(data, 'rapidblock.json')
|
|
|
|
assert bl[0].domain == '101010.pl'
|
|
assert bl[0].severity.level == SeverityLevel.SUSPEND
|
|
assert bl[0].public_comment == ''
|
|
|
|
assert bl[10].domain == 'berserker.town'
|
|
assert bl[10].severity.level == SeverityLevel.SUSPEND
|
|
assert bl[10].public_comment == ''
|
|
assert bl[10].private_comment == ''
|
|
|
|
def test_parse_with_comments():
|
|
with open(rapidblockjson) as fp:
|
|
data = fp.read()
|
|
bl = parse_blocklist(data, 'rapidblock.json', ['domain', 'severity', 'public_comment', 'private_comment'])
|
|
|
|
assert bl[0].domain == '101010.pl'
|
|
assert bl[0].severity.level == SeverityLevel.SUSPEND
|
|
assert bl[0].public_comment == 'cryptomining javascript, white supremacy'
|
|
|
|
assert bl[10].domain == 'berserker.town'
|
|
assert bl[10].severity.level == SeverityLevel.SUSPEND
|
|
assert bl[10].public_comment == 'freeze peach' |