def test_as_has_result(self): result = events.status.SUCCESS name, desc = 'test_name', 'test_desc' event = events.FinishReportingEvent(name, desc, result) ret = event.as_dict() self.assertTrue('result' in ret) self.assertEqual(ret['result'], result)
def test_as_has_result(self): result = events.status.SUCCESS name, desc = "test_name", "test_desc" event = events.FinishReportingEvent(name, desc, result) ret = event.as_dict() self.assertTrue("result" in ret) self.assertEqual(ret["result"], result)
def test_file_operation_issue(self): os.remove(self.tmp_file_path) reporter = HyperVKvpReportingHandler(kvp_file_path=self.tmp_file_path) reporter.publish_event( events.FinishReportingEvent('name2', 'description1', result=events.status.FAIL)) reporter.q.join()
def test_finish_event_result_is_logged(self): reporter = HyperVKvpReportingHandler(kvp_file_path=self.tmp_file_path) reporter.publish_event( events.FinishReportingEvent('name2', 'description1', result=events.status.FAIL)) reporter.q.join() self.assertIn('FAIL', list(reporter._iterate_kvps(0))[0]['value'])
def test_event_very_long(self): reporter = HyperVKvpReportingHandler(kvp_file_path=self.tmp_file_path) description = 'ab' * reporter.HV_KVP_EXCHANGE_MAX_VALUE_SIZE long_event = events.FinishReportingEvent('event_name', description, result=events.status.FAIL) reporter.publish_event(long_event) reporter.q.join() kvps = list(reporter._iterate_kvps(0)) self.assertEqual(3, len(kvps)) # restore from the kvp to see the content are all there full_description = '' for i in range(len(kvps)): msg_slice = json.loads(kvps[i]['value']) self.assertEqual(msg_slice['msg_i'], i) full_description += msg_slice['msg'] self.assertEqual(description, full_description)
def test_has_result_with_optional_post_files(self): result = events.status.SUCCESS name, desc, files = 'test_name', 'test_desc', [ '/really/fake/path/install.log' ] event = events.FinishReportingEvent(name, desc, result, post_files=files) ret = event.as_dict() self.assertTrue('result' in ret) self.assertTrue('files' in ret) self.assertEqual(ret['result'], result) posted_install_log = ret['files'][0] self.assertTrue('path' in posted_install_log) self.assertTrue('content' in posted_install_log) self.assertTrue('encoding' in posted_install_log) self.assertEqual(posted_install_log['path'], files[0]) self.assertEqual(posted_install_log['encoding'], 'base64')
def test_has_result_with_optional_post_files(self): result = events.status.SUCCESS name, desc, files = ( "test_name", "test_desc", ["/really/fake/path/install.log"], ) event = events.FinishReportingEvent(name, desc, result, post_files=files) ret = event.as_dict() self.assertTrue("result" in ret) self.assertTrue("files" in ret) self.assertEqual(ret["result"], result) posted_install_log = ret["files"][0] self.assertTrue("path" in posted_install_log) self.assertTrue("content" in posted_install_log) self.assertTrue("encoding" in posted_install_log) self.assertEqual(posted_install_log["path"], files[0]) self.assertEqual(posted_install_log["encoding"], "base64")