def __init__(self): pronsole.pronsole.__init__(self) EventEmitter.__init__(self) self.settings.sensor_names = {'T': 'extruder', 'B': 'bed'} self.stdout = sys.stdout self.ioloop = tornado.ioloop.IOLoop.instance() self.settings.sensor_poll_rate = 1 # seconds self.sensors = {'extruder': -1, 'bed': -1} self.load_default_rc() self.jobs = PrintJobQueue() self.job_id_incr = 0 self.printing_jobs = False self.current_job = None self.previous_job_progress = 0 self.silent = True services = ({'type': '_construct._tcp', 'port': 8888, 'domain': "local."}) self.mdns = mdns.publisher().save_group({'name': 'pronserve', 'services': services }) self.jobs.listeners.add(self)
def test_publisher(self): # create the group group = servicegroup() group.name = 'Test Service Group' # create the services svc_a = service(type='_jdbc._tcp', port=1521, name='Oracle JDBC', sysname='training', state='SCHEMA-READY') svc_a.txt = { 'foo':'smoke', 'bar':'monster' } svc_b = service(type='_http._tcp', port=8080, name='Virgo', sysname='training', state='RUNNING') group.services = [ svc_a, svc_b ] p = publisher() # publish them (seralize) if os.geteuid() != 0: self.assertRaises(IOError, p.save_group, group) else: p_rtn = p.save_group(group) self.assertTrue(p_rtn >= 0) # load service group (deserialize) sg = p.load_group() self.assertTrue(sg != None) self.assertEquals(sg.services[0].protocol, group.services[0].protocol) self.assertEquals(sg.services[0].type, group.services[0].type) self.assertEquals(sg.services[0].port, group.services[0].port) self.assertEquals(sg.services[0].sysname, group.services[0].sysname) self.assertEquals(sg.services[0].state, group.services[0].state) self.assertEquals(sg.services[0].txt['foo'], group.services[0].txt['foo']) # remove it r_rtn = p.remove_group() self.assertTrue(r_rtn >= 0)