def test_process_from_row(self): row_string = "1405011331,1405065581,30726,7733,30726,0,(sge_shepherd)," \ "sge_shepherd-4165419,1,1,1,,,,,0,,,exit" row_header = "tme,exit_tme,pid,ppid,gpid,uid,name,cmd,error_code,signal,valid," \ "int_in_volume,int_out_volume,ext_in_volume,ext_out_volume,tree_depth," \ "process_type,color,state" process = Process.from_dict( dict(zip(row_header.split(","), row_string.split(",")))) self.assertIsNotNone(process) self.assertEqual(process.getDuration(), 54250) self.assertEqual(process.getHeader(), row_header) self.assertEqual(process.getRow(), row_string) self.assertEqual(process.error_code, 1) self.assertEqual(process.signal, 1) self.assertEqual(process.exit_code, 257) row_string = "1405011331,,30726,7733,30726,0,(sge_shepherd)," \ "sge_shepherd-4165419,0,0,1,,,,,0,,,exit" process = Process.from_dict( dict(zip(row_header.split(","), row_string.split(",")))) self.assertIsNotNone(process) self.assertEqual(process.getDuration(), 0) self.assertEqual(process.getHeader(), row_header) self.assertEqual( process.getRow(), '1405011331,0,30726,7733,30726,0,(sge_shepherd),sge_shepherd-4165419,0,0,1,,,,,0,,,exit' ) row_string = "1405011331,1405065581,30726,7733,30726,0,(sge_shepherd)," \ "sge_shepherd-4165419,,,1,,,,,0,,,exit" process = Process.from_dict( dict(zip(row_header.split(","), row_string.split(",")))) self.assertEqual(process.signal, 0) self.assertEqual(process.error_code, 0) row_string = "1405011331,1405065581,30726,7733,30726,0,(sge_shepherd)," \ "sge_shepherd-4165419,sth,,1,,,,,0,,,exit" self.assertRaises( ValueError, Process.from_dict, dict(zip(row_header.split(","), row_string.split(",")))) row_string = "1405011331,1405065581,30726,7733,30726,0,(sge_shepherd)," \ "sge_shepherd-4165419,,,1,,,,,0,,,exit" row_header = "tme,exit_tme,pid,ppid,gpid,uid,name,cmd,error_code,signal,valid," \ "int_in_volume,int_out_volume,ext_in_volume,ext_out_volume,tree_depth," \ "process_type,color,states" self.assertRaises( ArgumentNotDefinedException, Process.from_dict, dict(zip(row_header.split(","), row_string.split(","))))
def _create_process(self, row=None, header_cache=None): process = Process.from_dict(row=dict(zip(header_cache, row))) self._process_cache.add_data(data=process) return process