Don't allow negative values in meta doc usage numbers

merge-requests/130/head
Jason Robinson 2018-05-13 23:06:41 +03:00
rodzic 5a5042a97d
commit a42fd1631d
2 zmienionych plików z 11 dodań i 3 usunięć

Wyświetl plik

@ -36,7 +36,10 @@ def int_or_none(value):
if value is None or value == '':
return None
try:
return int(value)
result = int(value)
if result < 0:
return None
return result
except ValueError:
return None

Wyświetl plik

@ -1,10 +1,15 @@
import json
from unittest.mock import patch
from federation.hostmeta.parsers import parse_nodeinfo_document, parse_nodeinfo2_document, parse_statisticsjson_document
from federation.hostmeta.parsers import (
parse_nodeinfo_document, parse_nodeinfo2_document, parse_statisticsjson_document, int_or_none)
from federation.tests.fixtures.hostmeta import NODEINFO2_10_DOC, NODEINFO_10_DOC, NODEINFO_20_DOC, STATISTICS_JSON_DOC
class TestIntOrNone:
def test_returns_negative_values_as_none(self):
assert int_or_none(-1) is None
class TestParseNodeInfoDocument:
def test_parse_nodeinfo_10_document(self):
result = parse_nodeinfo_document(json.loads(NODEINFO_10_DOC), 'iliketoast.net')