def test_entire_stack(self): self.startRouter() self.router.logger.setLevel(logging.DEBUG) 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) self.stopRouter()
def test_entire_stack(self): contact = self.create_contact() backend = self.create_backend(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='ready', groups=[g1]) # non-ready broadcast g2 = self.create_group() contact.groups.add(g2) b2 = self.create_broadcast(when='future', groups=[g2]) # run cronjob scheduler_callback() # one sent message (future broadcast isn't ready) self.assertEquals(contact.broadcast_messages.count(), 1) message = contact.broadcast_messages.get() self.assertEquals(message.status, 'sent') self.assertTrue(message.date_sent is not None)
def run(self): scheduler_callback()