rendered paste body def test_each_shard_runs_only_one_query_at_a_time(self): events = [] def queryAsync(shardHost, shardDatabase, sql, onComplete): events.append(("start", shardHost)) def onCompleteWrapper(result, error=None, onComplete=onComplete, shardHost=shardHost): events.append(("stop", shardHost)) onComplete(result, error=error) self.real_imvu_db.runInThread(time.sleep(0.01), onCompleteWrapper) imvu_db.queryAsync = queryAsync executeOnAllShards("sqlstring") hosts = {} for event, host in events: if event == "start": assert not hosts.get(host, False), events hosts[host] = True elif event == "stop": assert hosts.get(host, False), events hosts[host] = False assert not any(hosts.keys())