Added some initial tests, fixed a few minor issues.

This commit is contained in:
2014-08-04 17:55:35 +01:00
parent f40727a61e
commit feadde428e
2 changed files with 48 additions and 7 deletions

View File

@@ -58,6 +58,7 @@ class ZKillboard(object):
('no-items', False),
('no-attackers', False),
('api-only', False),
('xml', False),
)
_MODIFIERS = [x for x, y in _MODIFIER_DATA]
@@ -79,11 +80,11 @@ class ZKillboard(object):
raise InvalidModifier('%s is a unknown modifier' % mod_name)
if args is None and mod_name.lower() in ZKillboard._MODIFIERS_ARGUMENT:
raise InvalidModifier('%s requires a argument' % mod_name)
if args and isinstance(args, list) and len(list) > 10:
if args and isinstance(args, list) and len(args) > 10:
raise ValueError('No more than 10 IDs are allowed at a time')
x = copy.deepcopy(self)
x._modifiers.append((mod_name, args))
if mod_name == 'xml':
if mod_name.lower() == 'xml':
x._xml_format = True
return x
return modifier_func

View File

@@ -10,16 +10,56 @@ Tests for `pyzkb` module.
import unittest
from pyzkb import pyzkb
from pyzkb import ZKillboard, InvalidModifier
class TestPyzkb(unittest.TestCase):
class TestZKillboard(unittest.TestCase):
def setUp(self):
pass
self.kb = ZKillboard()
self.kb_noverification = ZKillboard(modifier_validation=False)
def test_something(self):
pass
def test_single_kill(self):
headers, data = self.kb.get(killID=40403014)
self.assertIsNotNone(data)
self.assertTrue(isinstance(data, list))
self.assertTrue(isinstance(data[0], dict))
self.assertTrue(len(data) == 1)
self.assertIn('killID', data[0])
def test_invalid_modifier(self):
self.assertRaises(InvalidModifier, self.kb.blah)
def test_invalid_parameter_modifier(self):
self.assertRaises(InvalidModifier, self.kb.solo, 1)
def test_no_parameter_modifier(self):
self.assertRaises(InvalidModifier, self.kb.killID)
def test_too_many_ids(self):
self.assertRaises(ValueError, self.kb.solarSystemID, [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 11])
def test_disabled_modifier_validation(self):
try:
self.kb_noverification.blah()
except InvalidModifier:
self.fail('Raise InvalidModifier unexpectedly.')
def test_disabled_modifier_validation_parameter(self):
try:
self.kb_noverification.blah(213123)
except InvalidModifier:
self.fail('Raise InvalidModifier unexpectedly.')
def test_no_writeback(self):
x = self.kb.killID(40403014)
self.assertTrue(len(self.kb._modifiers) == 0)
self.assertTrue(len(x._modifiers) == 1)
def test_xml_format_set(self):
self.kb.xml()
self.assertTrue(len(self.kb._modifiers), 1)
self.assertTrue(self.kb._xml_format)
def tearDown(self):
pass