def __init__(self): MultiService.__init__(self) self.clear_shared_storage() # Place to store some of server confs values -------------------------- self.confs = {} # Init pilots service ------------------------------------------------- from commander.service.pilots import PilotsService pilots = PilotsService() pilots.setServiceParent(self) # Init objects service ------------------------------------------------ from commander.service.objects import ObjectsService objects = ObjectsService() objects.setServiceParent(self) # Init missions service with log watcher ------------------------------ from commander.service.missions import MissionsService log_watcher = LogWatchingService(settings.IL2_EVENTS_LOG_PATH) missions = MissionsService(log_watcher) log_parser = EventLogParser((pilots, objects, missions, )) log_watcher.set_parser(log_parser) missions.setServiceParent(self) # Init console and DeviceLink parsers --------------------------------- console_parser = ConsoleParser((pilots, missions, )) device_link_parser = DeviceLinkParser() # Group parsers and services ------------------------------------------ self.parsers = namedtuple('commander_parsers', field_names=['console', 'device_link', 'log'])( console_parser, device_link_parser, log_parser) self.services = namedtuple('commander_services', field_names=['pilots', 'objects', 'missions'])( pilots, objects, missions)
def setUp(self): self.parser = DeviceLinkParser()
class DeviceLinkParserTestCase(TestCase): def setUp(self): self.parser = DeviceLinkParser() def tearDown(self): self.parser = None def test_pilot_count(self): result = self.parser.pilot_count('0') self.assertEqual(result, 0) def test_pilot_pos(self): result = self.parser.pilot_pos('0:user0;100;200;300') self.assertIsInstance(result, dict) self.assertEqual(result.get('idx'), 0) self.assertEqual(result.get('callsign'), "user0") self.assertIsInstance(result.get('pos'), dict) self.assertEqual(result['pos'].get('x'), 100) self.assertEqual(result['pos'].get('y'), 200) self.assertEqual(result['pos'].get('z'), 300) def test_all_pilots_pos(self): datas = ["{0}:user{0};{1};{2};{3}".format( i, i*100, i*200, i*300) for i in xrange(10)] results = self.parser.all_pilots_pos(datas) self.assertIsInstance(results, list) self.assertEqual(len(datas), len(results)) for i in xrange(len(results)): result = results[i] self.assertIsInstance(result, dict) self.assertEqual(result.get('idx'), i) self.assertEqual(result.get('callsign'), "user{0}".format(i)) self.assertIsInstance(result.get('pos'), dict) self.assertEqual(result['pos'].get('x'), i*100) self.assertEqual(result['pos'].get('y'), i*200) self.assertEqual(result['pos'].get('z'), i*300) def test_static_count(self): result = self.parser.static_count('0') self.assertEqual(result, 0) def test_static_pos(self): result = self.parser.static_pos('0:0_Static;100;200;300') self.assertIsInstance(result, dict) self.assertEqual(result.get('idx'), 0) self.assertEqual(result.get('name'), "0_Static") self.assertIsInstance(result.get('pos'), dict) self.assertEqual(result['pos'].get('x'), 100) self.assertEqual(result['pos'].get('y'), 200) self.assertEqual(result['pos'].get('z'), 300) def test_all_static_pos(self): datas = ["{0}:{0}_Static;{1};{2};{3}".format( i, i*100, i*200, i*300) for i in xrange(10)] results = self.parser.all_static_pos(datas) self.assertIsInstance(results, list) self.assertEqual(len(datas), len(results)) for i in xrange(len(results)): result = results[i] self.assertIsInstance(result, dict) self.assertEqual(result.get('idx'), i) self.assertEqual(result.get('name'), "{0}_Static".format(i)) self.assertIsInstance(result.get('pos'), dict) self.assertEqual(result['pos'].get('x'), i*100) self.assertEqual(result['pos'].get('y'), i*200) self.assertEqual(result['pos'].get('z'), i*300)
class DeviceLinkParserTestCase(TestCase): def setUp(self): self.parser = DeviceLinkParser() def tearDown(self): self.parser = None def test_pilot_count(self): result = self.parser.pilot_count('0') self.assertEqual(result, 0) def test_pilot_pos(self): result = self.parser.pilot_pos('0:user0;100;200;300') self.assertIsInstance(result, dict) self.assertEqual(result.get('idx'), 0) self.assertEqual(result.get('callsign'), "user0") self.assertIsInstance(result.get('pos'), dict) self.assertEqual(result['pos'].get('x'), 100) self.assertEqual(result['pos'].get('y'), 200) self.assertEqual(result['pos'].get('z'), 300) def test_all_pilots_pos(self): datas = [ "{0}:user{0};{1};{2};{3}".format(i, i * 100, i * 200, i * 300) for i in xrange(10) ] results = self.parser.all_pilots_pos(datas) self.assertIsInstance(results, list) self.assertEqual(len(datas), len(results)) for i in xrange(len(results)): result = results[i] self.assertIsInstance(result, dict) self.assertEqual(result.get('idx'), i) self.assertEqual(result.get('callsign'), "user{0}".format(i)) self.assertIsInstance(result.get('pos'), dict) self.assertEqual(result['pos'].get('x'), i * 100) self.assertEqual(result['pos'].get('y'), i * 200) self.assertEqual(result['pos'].get('z'), i * 300) def test_static_count(self): result = self.parser.static_count('0') self.assertEqual(result, 0) def test_static_pos(self): result = self.parser.static_pos('0:0_Static;100;200;300') self.assertIsInstance(result, dict) self.assertEqual(result.get('idx'), 0) self.assertEqual(result.get('name'), "0_Static") self.assertIsInstance(result.get('pos'), dict) self.assertEqual(result['pos'].get('x'), 100) self.assertEqual(result['pos'].get('y'), 200) self.assertEqual(result['pos'].get('z'), 300) def test_all_static_pos(self): datas = [ "{0}:{0}_Static;{1};{2};{3}".format(i, i * 100, i * 200, i * 300) for i in xrange(10) ] results = self.parser.all_static_pos(datas) self.assertIsInstance(results, list) self.assertEqual(len(datas), len(results)) for i in xrange(len(results)): result = results[i] self.assertIsInstance(result, dict) self.assertEqual(result.get('idx'), i) self.assertEqual(result.get('name'), "{0}_Static".format(i)) self.assertIsInstance(result.get('pos'), dict) self.assertEqual(result['pos'].get('x'), i * 100) self.assertEqual(result['pos'].get('y'), i * 200) self.assertEqual(result['pos'].get('z'), i * 300)