def test_set_completed_post_send_en_first_2(self): subscription = Subscription.objects.get(pk=1) subscription.next_sequence_number = 2 subscription.save() result = processes_message.delay(subscription.id, self.sender) self.assertTrue(result.successful()) subscriber_updated = Subscription.objects.get(pk=1) self.assertEquals(subscriber_updated.completed, True) self.assertEquals(subscriber_updated.active, False)
def test_send_message_1_en_first(self): subscription = Subscription.objects.get(pk=1) result = processes_message.delay(subscription.id, self.sender) self.assertEqual(result.get(), { "message_id": result.get()["message_id"], "to_addr": "+271234", "content": "Message 1 on first", }) subscriber_updated = Subscription.objects.get(pk=1) self.assertEquals(subscriber_updated.next_sequence_number, 2) self.assertEquals(subscriber_updated.process_status, 0)
def test_no_new_subscription_created_post_send_en_second_2(self): subscription = Subscription.objects.get(pk=2) result = processes_message.delay(subscription.id, self.sender) self.assertTrue(result.successful()) # Check no new subscription added all_subscription = Subscription.objects.all() self.assertEquals(len(all_subscription), 3) # Check old one now inactive and complete subscriber_updated = Subscription.objects.get(pk=2) self.assertEquals(subscriber_updated.completed, True) self.assertEquals(subscriber_updated.active, False) # Check finished_messages metric fired self.assertEquals( True, self.check_logs("Metric: 'sum.finished_messages' [sum] -> 1")) self.assertEquals( True, self.check_logs("Metric: 'sum.2_completed' [sum] -> 1"))
def test_send_3_part_message_1_en_subscription(self): subscription = Subscription.objects.get(pk=6) result = processes_message.delay(subscription.id, self.sender) self.assertEqual(result.get(), [{ "message_id": result.get()[0]["message_id"], "to_addr": "+271113", "content": "Message 1 on subscription PT1", }, { "message_id": result.get()[1]["message_id"], "to_addr": "+271113", "content": "Message 1 on subscription PT2", }, { "message_id": result.get()[2]["message_id"], "to_addr": "+271113", "content": "Message 1 on subscription PT3", }]) subscriber_updated = Subscription.objects.get(pk=6) self.assertEquals(subscriber_updated.next_sequence_number, 2) self.assertEquals(subscriber_updated.process_status, 0)
def test_new_subscription_created_post_send_en_first_2(self): subscription = Subscription.objects.get(pk=1) subscription.next_sequence_number = 2 subscription.save() result = processes_message.delay(subscription.id, self.sender) self.assertTrue(result.successful()) # Check another added and old still there all_subscription = Subscription.objects.all() self.assertEquals(len(all_subscription), 4) # Check new subscription is for second new_subscription = Subscription.objects.last() self.assertEquals(new_subscription.messageset_id, 2) self.assertEquals(new_subscription.to_addr, "+271234") # make sure the new sub is on a different schedule periodictask = PeriodicTask.objects.get(pk=2) self.assertEquals(new_subscription.schedule, periodictask) # Check finished_messages metric not fired self.assertEquals( False, self.check_logs("Metric: 'sum.finished_messages' [sum] -> 1")) self.assertEquals( True, self.check_logs("Metric: 'sum.1_completed' [sum] -> 1"))
def test_next_message_2_post_send_en_first(self): subscription = Subscription.objects.get(pk=1) result = processes_message.delay(subscription.id, self.sender) self.assertTrue(result.successful()) subscriber_updated = Subscription.objects.get(pk=1) self.assertEquals(subscriber_updated.next_sequence_number, 2)