Don't make tests convert to and from bytes. Instead, just use a StreamResult double. Update test code.

This commit is contained in:
Thomi Richards 2013-12-10 09:52:07 +13:00
parent db6c2795d8
commit 4a4f7ffda0
2 changed files with 49 additions and 17 deletions

View File

@ -169,7 +169,7 @@ def generate_stream_results(args, output_writer):
if args.mimetype:
write_status = partial(write_status, mime_type=args.mimetype)
if args.tags:
write_status = partial(write_status, test_tags=args.tags)
write_status = partial(write_status, test_tags=set(args.tags))
write_status = partial(write_status, timestamp=create_timestamp())
if args.action not in _FINAL_ACTIONS:
write_status = partial(write_status, test_status=args.action)

View File

@ -180,17 +180,9 @@ def get_result_for(commands):
resulting bytestream is then converted back into a result object and
returned.
"""
stream = BytesIO()
args = safe_parse_arguments(commands)
output_writer = StreamResultToBytes(output_stream=stream)
generate_stream_results(args, output_writer)
stream.seek(0)
case = ByteStreamToStreamResult(source=stream)
result = StreamResult()
case.run(result)
args = safe_parse_arguments(commands)
generate_stream_results(args, result)
return result
@ -220,21 +212,21 @@ class StatusStreamResultTests(TestCase):
result = get_result_for([self.option, self.test_id])
self.assertThat(
len(result._events),
Equals(1)
Equals(3) # startTestRun and stopTestRun are also called, making 3 total.
)
def test_correct_status_is_generated(self):
result = get_result_for([self.option, self.test_id])
self.assertThat(
result._events[0],
result._events[1],
MatchesStatusCall(test_status=self.status)
)
def test_all_commands_generate_tags(self):
result = get_result_for([self.option, self.test_id, '--tag', 'hello', '--tag', 'world'])
self.assertThat(
result._events[0],
result._events[1],
MatchesStatusCall(test_tags=set(['hello', 'world']))
)
@ -242,7 +234,7 @@ class StatusStreamResultTests(TestCase):
result = get_result_for([self.option, self.test_id])
self.assertThat(
result._events[0],
result._events[1],
MatchesStatusCall(timestamp=self._dummy_timestamp)
)
@ -250,7 +242,7 @@ class StatusStreamResultTests(TestCase):
result = get_result_for([self.option, self.test_id])
self.assertThat(
result._events[0],
result._events[1],
MatchesStatusCall(test_id=self.test_id)
)
@ -261,7 +253,9 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(file_bytes=b'Hello', eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -272,7 +266,9 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(file_bytes=b"\xDE\xAD\xBE\xEF", eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -283,7 +279,9 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(file_bytes=b"", file_name=f.name, eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -294,7 +292,9 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(file_bytes=b"\xFE\xED\xFA\xCE", file_name='stdin', eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -305,7 +305,9 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(test_id=self.test_id, file_bytes=b'Hello', eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -316,7 +318,9 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(test_status=self.status, file_bytes=b'Hello', eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -328,11 +332,13 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(test_id=self.test_id, file_bytes=b'H', eof=False),
MatchesStatusCall(test_id=self.test_id, file_bytes=b'e', eof=False),
MatchesStatusCall(test_id=self.test_id, file_bytes=b'l', eof=False),
MatchesStatusCall(test_id=self.test_id, file_bytes=b'l', eof=False),
MatchesStatusCall(test_id=self.test_id, file_bytes=b'o', eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -351,8 +357,10 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(test_id=self.test_id, mime_type='text/plain', file_bytes=b'H', eof=False),
MatchesStatusCall(test_id=self.test_id, mime_type=None, file_bytes=b'i', eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -373,8 +381,10 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(test_id=self.test_id, test_tags=set(['foo', 'bar'])),
MatchesStatusCall(test_id=self.test_id, test_tags=None),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -391,8 +401,10 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(test_id=self.test_id, timestamp=self._dummy_timestamp),
MatchesStatusCall(test_id=self.test_id, timestamp=None),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -416,7 +428,12 @@ class StatusStreamResultTests(TestCase):
last_call = MatchesStatusCall(test_id=self.test_id, test_status=None)
self.assertThat(
result._events,
MatchesListwise([first_call, last_call])
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
first_call,
last_call,
MatchesStatusCall(call='stopTestRun'),
])
)
def test_filename_can_be_overridden(self):
@ -433,7 +450,9 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(file_name=specified_file_name, file_bytes=b'Hello'),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -444,7 +463,9 @@ class StatusStreamResultTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(file_name=f.name, file_bytes=b'Hello', eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -458,7 +479,9 @@ class FileDataTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(test_id=None, file_bytes=b'Hello', eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -469,7 +492,9 @@ class FileDataTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(file_name=f.name, file_bytes=b'Hello', eof=True),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -486,7 +511,9 @@ class FileDataTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(file_name=specified_file_name, file_bytes=b'Hello'),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -504,7 +531,9 @@ class FileDataTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(file_bytes=b'Hello', timestamp=_dummy_timestamp),
MatchesStatusCall(call='stopTestRun'),
])
)
@ -517,10 +546,13 @@ class FileDataTests(TestCase):
self.assertThat(
result._events,
MatchesListwise([
MatchesStatusCall(call='startTestRun'),
MatchesStatusCall(test_tags=set(['foo'])),
MatchesStatusCall(call='stopTestRun'),
])
)
class MatchesStatusCall(Matcher):
_position_lookup = {