def test_test_run_from_test_record(self, user_mock): user_mock.prompt.return_value = 'SomeWidget' record = yield self._test test_run_proto = test_runs_converter.test_run_from_test_record(record) # Assert test status self.assertEqual(test_runs_pb2.FAIL, test_run_proto.test_status) # Verify all expected phases included. expected_phase_names = [ 'trigger_phase', 'hello_world', 'dimensions', 'attachments' ] actual_phase_names = [phase.name for phase in test_run_proto.phases] self.assertEqual(expected_phase_names, actual_phase_names) # Spot check a measurement (widget_size) measurement_name = 'widget_size' for parameter in test_run_proto.test_parameters: if parameter.name == measurement_name: self.assertEqual(3.0, parameter.numeric_value) # Spot check an attachment (example_attachment.txt) attachment_name = 'example_attachment.txt' for parameter in test_run_proto.info_parameters: if parameter.name == attachment_name: self.assertEqual( b'This is a text file attachment.\n', parameter.value_binary, )
def test_save_only(self, user_mock): user_mock.prompt.return_value = 'SomeWidget' record = yield self._test testrun_output = io.BytesIO() callback = mfg_inspector.MfgInspector() callback.set_converter( converter=test_runs_converter.test_run_from_test_record,) save_to_disk_callback = callback.save_to_disk( filename_pattern=testrun_output) save_to_disk_callback(record) # Parse what was written to BytesIO back into a proto and compare testrun_output.seek(0) testrun = test_runs_pb2.TestRun() testrun.ParseFromString(testrun_output.read()) expected_test_run_proto = test_runs_converter.test_run_from_test_record( record) self.assertEqual(expected_test_run_proto, testrun) self.assertFalse(self.mock_send_mfg_inspector_data.called)
def test_test_run_from_test_record(self, user_mock): user_mock.prompt.return_value = 'SomeWidget' record = yield self._test test_run_proto = test_runs_converter.test_run_from_test_record(record) # Assert test status self.assertEqual(test_runs_pb2.PASS, test_run_proto.test_status) # Verify all expected phases included. expected_phase_names = [ 'trigger_phase', 'hello_world', 'dimensions', 'attachments' ] actual_phase_names = [phase.name for phase in test_run_proto.phases] self.assertEqual(expected_phase_names, actual_phase_names) # Spot check a measurement (widget_size) measurement_name = 'widget_size' for parameter in test_run_proto.test_parameters: if parameter.name == measurement_name: self.assertEqual(3.0, parameter.numeric_value) break else: raise AssertionError('No measurement named %s' % measurement_name) # Spot check an attachment (example_attachment.txt) attachment_name = 'example_attachment.txt' for parameter in test_run_proto.info_parameters: if parameter.name == attachment_name: self.assertEqual( b'This is a text file attachment.\n', parameter.value_binary, ) break else: raise AssertionError('No attachment named %s' % attachment_name)
def test_save_only(self, user_mock): user_mock.prompt.return_value = 'SomeWidget' record = yield self._test testrun_output = io.BytesIO() callback = mfg_inspector.MfgInspector() callback.set_converter( converter=test_runs_converter.test_run_from_test_record, ) save_to_disk_callback = callback.save_to_disk( filename_pattern=testrun_output) save_to_disk_callback(record) # Parse what was written to BytesIO back into a proto and compare testrun_output.seek(0) testrun = test_runs_pb2.TestRun() testrun.ParseFromString(testrun_output.read()) expected_test_run_proto = test_runs_converter.test_run_from_test_record( record) self.assertEqual(expected_test_run_proto, testrun) self.assertFalse(self.mock_send_mfg_inspector_data.called)
def _converter(test_record_obj): return test_runs_converter.test_run_from_test_record(test_record_obj)