def test_entire_stack(self): contact = self.create_contact() backend = self.create_backend(data={"name": "mockbackend"}) connection = self.create_connection({"contact": contact, "backend": backend}) # ready broadcast g1 = self.create_group() contact.groups.add(g1) b1 = self.create_broadcast(when="past", data={"groups": [g1]}) # non-ready broadcast g2 = self.create_group() contact.groups.add(g2) b2 = self.create_broadcast(when="future", data={"groups": [g2]}) # run cronjob scheduler_callback(self.router) queued = contact.broadcast_messages.filter(status="queued").count() sent = contact.broadcast_messages.filter(status="sent").count() # nothing should be queued (future broadcast isn't ready) self.assertEqual(queued, 0) # only one message should be sent self.assertEqual(sent, 1) message = contact.broadcast_messages.filter(status="sent")[0] self.assertTrue(message.date_sent is not None)
def test_entire_stack(self): contact = self.create_contact() backend = self.create_backend(data={'name': 'mockbackend'}) connection = self.create_connection({'contact': contact, 'backend': backend}) # ready broadcast g1 = self.create_group() contact.groups.add(g1) b1 = self.create_broadcast(when='past', data={'groups': [g1]}) # non-ready broadcast g2 = self.create_group() contact.groups.add(g2) b2 = self.create_broadcast(when='future', data={'groups': [g2]}) # run cronjob scheduler_callback(self.router) queued = contact.broadcast_messages.filter(status='queued').count() sent = contact.broadcast_messages.filter(status='sent').count() # nothing should be queued (future broadcast isn't ready) self.assertEqual(queued, 0) # only one message should be sent self.assertEqual(sent, 1) message = contact.broadcast_messages.filter(status='sent')[0] self.assertTrue(message.date_sent is not None)
def run(self): router = Router() scheduler_callback(router)