2019-12-18 21:46:00 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import database
|
|
|
|
import os
|
|
|
|
import logging
|
|
|
|
import csv
|
|
|
|
|
|
|
|
TESTS_DIR = 'tests'
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
|
|
|
DB = database.Database()
|
|
|
|
log = logging.getLogger('tests')
|
|
|
|
|
|
|
|
for filename in os.listdir(TESTS_DIR):
|
|
|
|
log.info("")
|
|
|
|
log.info("Running tests from %s", filename)
|
|
|
|
path = os.path.join(TESTS_DIR, filename)
|
|
|
|
with open(path, 'rt') as fdesc:
|
|
|
|
reader = csv.DictReader(fdesc)
|
|
|
|
for test in reader:
|
|
|
|
log.info("Testing %s (%s)", test['url'], test['comment'])
|
|
|
|
|
2020-12-06 20:29:48 +00:00
|
|
|
for allow in test['allow'].split(':'):
|
|
|
|
if not allow:
|
2019-12-18 21:46:00 +00:00
|
|
|
continue
|
2020-12-06 20:29:48 +00:00
|
|
|
if any(DB.get_domain(allow)):
|
|
|
|
log.error("False positive: %s", allow)
|
2019-12-18 21:46:00 +00:00
|
|
|
|
2020-12-06 20:29:48 +00:00
|
|
|
for deny in test['deny'].split(':'):
|
|
|
|
if not deny:
|
2019-12-18 21:46:00 +00:00
|
|
|
continue
|
2020-12-06 20:29:48 +00:00
|
|
|
if not any(DB.get_domain(deny)):
|
|
|
|
log.error("False negative: %s", deny)
|