def __init__(self, url, count): super(Recv, self).__init__(auto_accept=False) self.url = url self.delay = 0 self.last_id = None self.expected = count self.received = 0 self.accepted = 0 self.db = Db("dst_db", EventInjector())
def __init__(self, aInOAmqpClient): super(Recv, self).__init__() self.oAmqpClient = aInOAmqpClient self.received = 0 self.ForceDeploy = ForceDeploy(self.oAmqpClient.vsdUserName, self.oAmqpClient.vsdPassword, self.oAmqpClient.vsdOrg, self.oAmqpClient.vsdUrl, LOG, EventInjector())
def __init__(self, url, count): super(Send, self).__init__() self.url = url self.delay = 0 self.sent = 0 self.confirmed = 0 self.load_count = 0 self.records = Queue.Queue(maxsize=50) self.target = count self.db = Db("src_db", EventInjector())
def __init__(self, gui, sender_address, receiver_address): super(ChatMesssenger, self).__init__() self.gui = gui self.sender_address = sender_address self.receiver_address = receiver_address self.events = EventInjector() self.sender = None self.ready_to_send = False self.outgoing_queue = Queue()
def setUp(self): import os if not hasattr(os, 'pipe'): # KAG: seems like Jython doesn't have an os.pipe() method raise SkipTest() if os.name=="nt": # Correct implementation on Windows is complicated raise SkipTest("PROTON-1071") self.server = ApplicationEventTest.MyTestServer() self.server.reactor.handler.add(ApplicationEventTest.MyHandler(self)) self.event_injector = EventInjector() self.hello_event = ApplicationEvent("hello") self.goodbye_event = ApplicationEvent("goodbye") self.server.reactor.selectable(self.event_injector) self.hello_rcvd = None self.goodbye_rcvd = None self.server.start()
def test_application_event_no_object_leaks(self): event_types_count = len(proton.EventType.TYPES) injector = EventInjector() p = Program(injector) c = Container(p) t = threading.Thread(target=c.run) t.start() p.on_start_.wait() object_counts = [] gc.collect() object_counts.append(len(gc.get_objects())) for i in range(100): injector.trigger(ApplicationEvent("count_up")) gc.collect() object_counts.append(len(gc.get_objects())) self.assertEqual(len(proton.EventType.TYPES), event_types_count + 1) injector.trigger(ApplicationEvent("done", subject=c)) self.assertEqual(len(proton.EventType.TYPES), event_types_count + 2) t.join() gc.collect() object_counts.append(len(gc.get_objects())) self.assertEqual(p.counter, 100) self.assertTrue( object_counts[1] - object_counts[0] <= 220, "Object counts should not be increasing too fast: {0}".format( object_counts)) self.assertTrue( object_counts[2] - object_counts[0] <= 10, "No objects should be leaking at the end: {0}".format( object_counts))
def on_abort(self, event): self.transaction.abort() def on_fetch(self, event): self.receiver.flow(1) def on_quit(self, event): c = self.receiver.connection self.receiver.close() c.close() try: reactor = Container(TxRecv()) events = EventInjector() reactor.selectable(events) thread = threading.Thread(target=reactor.run) thread.daemon = True thread.start() print("Enter 'fetch', 'commit' or 'abort'") while True: line = sys.stdin.readline() if line: events.trigger(ApplicationEvent(line.strip())) else: break except KeyboardInterrupt: pass