*** test.py.orig Tue Nov 2 11:25:50 2010 --- test.py Tue Nov 2 11:26:16 2010 *************** *** 3444,3458 **** h3 = q.queueDeliveryMessage("Message number three", A1, start) q._repOK() ! m, ds, as = q._inspect(h1) self.assertEquals(m, "Message number one") self.assertEquals(ds.address, A1) ! self.assertEquals(as.address, A1) self.assert_(not ds.isPending()) self.assertEquals(ds.lastAttempt, None) ! self.assertEquals(as.lastSuccess, None) ! self.assertEquals(as.lastFailure, None) ! self.assertEquals(as.firstFailure, None) q.removeExpiredMessages(start) self.assertEquals(q.store.count(), 3) --- 3444,3458 ---- h3 = q.queueDeliveryMessage("Message number three", A1, start) q._repOK() ! m, ds, ass = q._inspect(h1) self.assertEquals(m, "Message number one") self.assertEquals(ds.address, A1) ! self.assertEquals(ass.address, A1) self.assert_(not ds.isPending()) self.assertEquals(ds.lastAttempt, None) ! self.assertEquals(ass.lastSuccess, None) ! self.assertEquals(ass.lastFailure, None) ! self.assertEquals(ass.firstFailure, None) q.removeExpiredMessages(start) self.assertEquals(q.store.count(), 3) *************** *** 3470,3485 **** msgs[h3].failed(now=start+40, retriable=1) self.assert_(not q._inspect(h3)[1].isPending()) ! as = q.addressStateDB[str(A1)] ! self.assertIEquals(as.lastSuccess-start, 30) ! self.assertIEquals(as.firstFailure-start, 10) ! self.assertIEquals(as.lastFailure-start, 10) ! self.assertIEquals(as.nextAttempt-start, 10+HOUR) ! as = q.addressStateDB[str(A2)] ! self.assertIEquals(as.lastSuccess-start, 20) ! self.assertEquals(as.firstFailure, None) ! self.assertEquals(as.lastFailure, None) ! self.assertIEquals(as.nextAttempt-start, 20) # Queue two more messages; the one on A2 gets tried; the ones on # A1 doesn't get tried for a while. --- 3470,3485 ---- msgs[h3].failed(now=start+40, retriable=1) self.assert_(not q._inspect(h3)[1].isPending()) ! ass = q.addressStateDB[str(A1)] ! self.assertIEquals(ass.lastSuccess-start, 30) ! self.assertIEquals(ass.firstFailure-start, 10) ! self.assertIEquals(ass.lastFailure-start, 10) ! self.assertIEquals(ass.nextAttempt-start, 10+HOUR) ! ass = q.addressStateDB[str(A2)] ! self.assertIEquals(ass.lastSuccess-start, 20) ! self.assertEquals(ass.firstFailure, None) ! self.assertEquals(ass.lastFailure, None) ! self.assertIEquals(ass.nextAttempt-start, 20) # Queue two more messages; the one on A2 gets tried; the ones on # A1 doesn't get tried for a while. *************** *** 3495,3507 **** q.sendReadyMessages(start+HOUR+MIN) msgs = self._pendingMsgDict(q._msgs) self.assertUnorderedEq(msgs.keys(), [h3, h4]) ! as = q.addressStateDB[str(A1)] msgs[h3].failed(now=start+HOUR+MIN+5, retriable=1) msgs[h4].failed(now=start+HOUR+MIN+5, retriable=1) ! self.assertIEquals(as.firstFailure-start, 10) ! self.assertIEquals(as.lastFailure-start, HOUR+MIN) ! self.assertIEquals(as.nextAttempt-start, 10+2*HOUR) h6 = q.queueDeliveryMessage("The sixth message", A1, now=start+HOUR*17-MIN) --- 3495,3507 ---- q.sendReadyMessages(start+HOUR+MIN) msgs = self._pendingMsgDict(q._msgs) self.assertUnorderedEq(msgs.keys(), [h3, h4]) ! ass = q.addressStateDB[str(A1)] msgs[h3].failed(now=start+HOUR+MIN+5, retriable=1) msgs[h4].failed(now=start+HOUR+MIN+5, retriable=1) ! self.assertIEquals(ass.firstFailure-start, 10) ! self.assertIEquals(ass.lastFailure-start, HOUR+MIN) ! self.assertIEquals(ass.nextAttempt-start, 10+2*HOUR) h6 = q.queueDeliveryMessage("The sixth message", A1, now=start+HOUR*17-MIN) *************** *** 3525,3537 **** self.assertUnorderedEq(q.addressStateDB.keys(), [str(A1)]) # Make sure that messages keep getting retried... ! as = q.addressStateDB[str(A1)] # (Reset nextDelivery on A1, since not all the delivery attempts # have really happened.) q.sendReadyMessages(now=start+HOUR*17+MIN*15) msgs = self._pendingMsgDict(q._msgs) msgs[h6].failed(now=start+HOUR*17+MIN*16, retriable=0) ! self.assertEquals(as.nextAttempt - start, 25*HOUR+10) self.assertEquals([], q.store.getAllMessages()) # Test reloading. --- 3525,3537 ---- self.assertUnorderedEq(q.addressStateDB.keys(), [str(A1)]) # Make sure that messages keep getting retried... ! ass = q.addressStateDB[str(A1)] # (Reset nextDelivery on A1, since not all the delivery attempts # have really happened.) q.sendReadyMessages(now=start+HOUR*17+MIN*15) msgs = self._pendingMsgDict(q._msgs) msgs[h6].failed(now=start+HOUR*17+MIN*16, retriable=0) ! self.assertEquals(ass.nextAttempt - start, 25*HOUR+10) self.assertEquals([], q.store.getAllMessages()) # Test reloading.