def test_connection_monitor(self):
        flexmock(self.mock_connect).should_receive("close").times(3)
        flexmock(self.mock_connect).should_receive("connect").twice()
        flexmock(self.mock_connect).should_receive("ensure_connection").twice()
        flexmock(self.mock_connect).should_receive("channel").twice()
        flexmock(self.db_client_mgr).should_receive("wait_for_resync_done"). \
            with_args().once()
        flexmock(self.mock_consumer).should_receive("consume").twice()
        flexmock(self.mock_consumer).should_receive("close").once()
        flexmock(self.mock_producer).should_receive("close").once()

        _lock = gevent.lock.Semaphore()
        _lock.acquire()
        def _drain_events():
            if _lock.locked():
                _lock.release()
                raise Exception()
            else:
                gevent.sleep(5)
            return

        flexmock(self.mock_connect).should_receive("drain_events").replace_with(_drain_events).twice()
        servers = "a.a.a.a"
        kc = VncServerKombuClient(self.db_client_mgr,servers, self.port,None,
                                  self.username, self.password, self.vhost, 0,
                                  False)
        _lock.wait()
        kc.shutdown()
Esempio n. 2
0
    def test_connection_monitor(self):
        flexmock(self.mock_connect).should_receive("close").times(3)
        flexmock(self.mock_connect).should_receive("connect").twice()
        flexmock(self.mock_connect).should_receive("ensure_connection").twice()
        flexmock(self.mock_connect).should_receive("channel").twice()
        flexmock(self.db_client_mgr).should_receive("wait_for_resync_done"). \
            with_args().once()
        flexmock(self.mock_consumer).should_receive("consume").twice()
        flexmock(self.mock_consumer).should_receive("close").once()
        flexmock(self.mock_producer).should_receive("close").once()

        _lock = gevent.lock.Semaphore()
        _lock.acquire()
        def _drain_events():
            if _lock.locked():
                _lock.release()
                raise Exception()
            else:
                gevent.sleep(5)
            return

        flexmock(self.mock_connect).should_receive("drain_events").replace_with(_drain_events).twice()
        servers = "a.a.a.a"
        kc = VncServerKombuClient(self.db_client_mgr,servers, self.port,None,
                                  self.username, self.password, self.vhost, 0,
                                  False)
        _lock.wait()
        kc.shutdown()