Skip to content

Commit

Permalink
fix failing unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
chosak committed Apr 11, 2017
1 parent 8473486 commit 7b2e780
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 28 deletions.
12 changes: 6 additions & 6 deletions ratechecker/management/commands/load_daily_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,14 +84,14 @@ def handle(self, **options):

self.load_archive_data(archive)

if validation_file:
if verbosity:
print('Validating loaded data with', validation_file.name)
if verbosity:
print('Validating loaded data with', validation_file.name)

validator = ScenarioValidator(verbose=verbosity)
validator.validate_file(validation_file, archive)
validator = ScenarioValidator(verbose=verbosity)
validator.validate_file(validation_file, archive)
except Exception:
traceback.print_exc()
if verbosity:
traceback.print_exc()

if not validate_only:
if verbosity:
Expand Down
35 changes: 25 additions & 10 deletions ratechecker/tests/test_load_daily_data_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,21 +61,36 @@ def test_run_command_invalid_scenario_file(self):
call_command(
'load_daily_data',
self.tempdir,
validation_scenario_file='invalid.jsonl',
'--validation-scenario-file',
'invalid.jsonl',
verbosity=0
)

def test_run_command_load_called(self):
@patch('ratechecker.validation.ScenarioValidator.validate_file')
@patch(
'ratechecker.management.commands.load_daily_data.'
'Command.load_archive_data'
)
def test_run_command_calls_load_and_validate(self, load, validate):
archive_filename = os.path.join(self.tempdir, '20170101.zip')
self.touch_file(archive_filename)
with patch(
(
'ratechecker.management.commands.load_daily_data.'
'Command.load_archive_data'
)
) as load:
call_command('load_daily_data', self.tempdir, verbosity=0)
load.assert_called_once_with(archive_filename)

validation_filename = os.path.join(self.tempdir, 'scenarios.jsonl')
self.touch_file(validation_filename)

call_command(
'load_daily_data',
self.tempdir,
'--validation-scenario-file',
validation_filename,
verbosity=0
)

load.assert_called_once_with(archive_filename)

self.assertEqual(validate.call_count, 1)
self.assertEqual(validate.call_args[0][0].name, validation_filename)
self.assertEqual(validate.call_args[0][1], archive_filename)

def test_string_to_boolean_text(self):
self.assertIsNone(Command.string_to_boolean('abc'))
Expand Down
16 changes: 4 additions & 12 deletions ratechecker/tests/test_validation.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from collections import OrderedDict
from decimal import Decimal
from django.core.files.base import ContentFile
from unittest import TestCase

Expand All @@ -10,13 +9,6 @@ class TestExpectedResultsLoader(TestCase):
def setUp(self):
self.loader = ExpectedResultsLoader()

def test_decimal_or_none_decimal(self):
d = Decimal('3.25')
self.assertEqual(self.loader.decimal_or_none(d), d)

def test_decimal_or_none_none(self):
self.assertIsNone(self.loader.decimal_or_none(None))

def test_load_from_file_empty(self):
f = ContentFile('<data></data>')
self.assertEqual(self.loader.load_from_file(f), OrderedDict())
Expand All @@ -31,7 +23,7 @@ def test_load_from_file_no_results(self):
))
results = self.loader.load_from_file(f)
self.assertEqual(len(results), 1)
self.assertEqual(results['99'], (None, None))
self.assertEqual(results[99], (None, None))

def test_load_from_file_results(self):
f = ContentFile((
Expand All @@ -43,7 +35,7 @@ def test_load_from_file_results(self):
))
results = self.loader.load_from_file(f)
self.assertEqual(len(results), 1)
self.assertEqual(results['1'], (Decimal('3.125'), Decimal('0.05')))
self.assertEqual(results[1], ('3.125', '0.05'))

def test_load_from_file_multiple_results(self):
f = ContentFile((
Expand All @@ -62,5 +54,5 @@ def test_load_from_file_multiple_results(self):
))
results = self.loader.load_from_file(f)
self.assertEqual(len(results), 2)
self.assertEqual(results['6'], (Decimal('2.5'), Decimal('0.25')))
self.assertEqual(results['7'], (Decimal('9.99'), Decimal('-1.5')))
self.assertEqual(results[6], ('2.5', '0.25'))
self.assertEqual(results[7], ('9.99', '-1.5'))

0 comments on commit 7b2e780

Please sign in to comment.