Fix AS retries, but with correct ordering

pull/846/head
Erik Johnston 2016-06-07 10:24:50 +01:00
parent 310197bab5
commit 84379062f9
2 changed files with 6 additions and 6 deletions

View File

@ -320,10 +320,10 @@ class ApplicationServiceTransactionStore(SQLBaseStore):
event_ids = json.loads(entry["event_ids"]) event_ids = json.loads(entry["event_ids"])
event_map = yield self.get_events(event_ids) events = yield self._get_events(event_ids)
defer.returnValue(AppServiceTransaction( defer.returnValue(AppServiceTransaction(
service=service, id=entry["txn_id"], events=event_map.values() service=service, id=entry["txn_id"], events=events
)) ))
def _get_oldest_unsent_txn(self, txn, service): def _get_oldest_unsent_txn(self, txn, service):

View File

@ -353,21 +353,21 @@ class ApplicationServiceTransactionStoreTestCase(unittest.TestCase):
@defer.inlineCallbacks @defer.inlineCallbacks
def test_get_oldest_unsent_txn(self): def test_get_oldest_unsent_txn(self):
service = Mock(id=self.as_list[0]["id"]) service = Mock(id=self.as_list[0]["id"])
events = {"e1": Mock(event_id="e1"), "e2": Mock(event_id="e2")} events = [Mock(event_id="e1"), Mock(event_id="e2")]
other_events = [Mock(event_id="e5"), Mock(event_id="e6")] other_events = [Mock(event_id="e5"), Mock(event_id="e6")]
# we aren't testing store._base stuff here, so mock this out # we aren't testing store._base stuff here, so mock this out
self.store.get_events = Mock(return_value=events) self.store._get_events = Mock(return_value=events)
yield self._insert_txn(self.as_list[1]["id"], 9, other_events) yield self._insert_txn(self.as_list[1]["id"], 9, other_events)
yield self._insert_txn(service.id, 10, events.values()) yield self._insert_txn(service.id, 10, events)
yield self._insert_txn(service.id, 11, other_events) yield self._insert_txn(service.id, 11, other_events)
yield self._insert_txn(service.id, 12, other_events) yield self._insert_txn(service.id, 12, other_events)
txn = yield self.store.get_oldest_unsent_txn(service) txn = yield self.store.get_oldest_unsent_txn(service)
self.assertEquals(service, txn.service) self.assertEquals(service, txn.service)
self.assertEquals(10, txn.id) self.assertEquals(10, txn.id)
self.assertEquals(events.values(), txn.events) self.assertEquals(events, txn.events)
@defer.inlineCallbacks @defer.inlineCallbacks
def test_get_appservices_by_state_single(self): def test_get_appservices_by_state_single(self):