def test_trim_events_and_results(self): five_hours_ago = timezone.now() - timedelta(hours=5) # create some events resthook = Resthook.get_or_create(org=self.org, slug="registration", user=self.admin) WebHookEvent.objects.create(org=self.org, resthook=resthook, data={}, created_on=five_hours_ago) with override_settings(RETENTION_PERIODS={"webhookevent": None}): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) with override_settings(RETENTION_PERIODS={"webhookevent": timedelta(hours=12)}): # older than our event trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) with override_settings(RETENTION_PERIODS={"webhookevent": timedelta(hours=2)}): trim_webhook_event_task() self.assertFalse(WebHookEvent.objects.all())
def test_webhook_event_trim_task(self): sms = self.create_msg(contact=self.joe, direction='I', status='H', text="I'm gonna pop some tags") self.setupChannel() now = timezone.now() with patch('requests.Session.send') as mock: mock.return_value = MockResponse(200, "Hello World") # trigger an event WebHookEvent.trigger_sms_event(WebHookEvent.TYPE_SMS_RECEIVED, sms, now) event = WebHookEvent.objects.get() five_hours_ago = timezone.now() - timedelta(hours=5) event.created_on = five_hours_ago event.save() with override_settings(SUCCESS_LOGS_TRIM_TIME=0): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(SUCCESS_LOGS_TRIM_TIME=12): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(SUCCESS_LOGS_TRIM_TIME=2): trim_webhook_event_task() self.assertFalse(WebHookEvent.objects.all()) self.assertFalse(WebHookResult.objects.all()) WebHookEvent.trigger_sms_event(WebHookEvent.TYPE_SMS_RECEIVED, sms, now) event = WebHookEvent.objects.get() five_hours_ago = timezone.now() - timedelta(hours=5) event.created_on = five_hours_ago event.status = FAILED event.save() with override_settings(ALL_LOGS_TRIM_TIME=0): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(ALL_LOGS_TRIM_TIME=12): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(ALL_LOGS_TRIM_TIME=2): trim_webhook_event_task() self.assertFalse(WebHookEvent.objects.all()) self.assertFalse(WebHookResult.objects.all())
def test_trim_events_and_results(self): five_hours_ago = timezone.now() - timedelta(hours=5) # create some events and results resthook = Resthook.get_or_create(org=self.org, slug="registration", user=self.admin) WebHookEvent.objects.create(org=self.org, resthook=resthook, data={}, created_on=five_hours_ago) WebHookResult.objects.create(org=self.org, status_code=200, created_on=five_hours_ago) with override_settings(SUCCESS_LOGS_TRIM_TIME=0): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(SUCCESS_LOGS_TRIM_TIME=12): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(SUCCESS_LOGS_TRIM_TIME=2): trim_webhook_event_task() self.assertFalse(WebHookEvent.objects.all()) self.assertFalse(WebHookResult.objects.all()) WebHookEvent.objects.create(org=self.org, resthook=resthook, data={}, created_on=five_hours_ago) WebHookResult.objects.create(org=self.org, status_code=200, created_on=five_hours_ago) WebHookResult.objects.create(org=self.org, status_code=401, created_on=five_hours_ago) with override_settings(ALL_LOGS_TRIM_TIME=0): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(ALL_LOGS_TRIM_TIME=12): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(ALL_LOGS_TRIM_TIME=2): trim_webhook_event_task() self.assertFalse(WebHookEvent.objects.all()) self.assertFalse(WebHookResult.objects.all())
def test_webhook_event_trim_task(self): sms = self.create_msg(contact=self.joe, direction="I", status="H", text="I'm gonna pop some tags") self.setupChannel() now = timezone.now() with patch("requests.Session.send") as mock: mock.return_value = MockResponse(200, "Hello World") # trigger an event WebHookEvent.trigger_sms_event(WebHookEvent.TYPE_SMS_RECEIVED, sms, now) event = WebHookEvent.objects.get() five_hours_ago = timezone.now() - timedelta(hours=5) event.created_on = five_hours_ago event.save() with override_settings(SUCCESS_LOGS_TRIM_TIME=0): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(SUCCESS_LOGS_TRIM_TIME=12): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(SUCCESS_LOGS_TRIM_TIME=2): trim_webhook_event_task() self.assertFalse(WebHookEvent.objects.all()) self.assertFalse(WebHookResult.objects.all()) WebHookEvent.trigger_sms_event(WebHookEvent.TYPE_SMS_RECEIVED, sms, now) event = WebHookEvent.objects.get() five_hours_ago = timezone.now() - timedelta(hours=5) event.created_on = five_hours_ago event.status = FAILED event.save() with override_settings(ALL_LOGS_TRIM_TIME=0): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(ALL_LOGS_TRIM_TIME=12): trim_webhook_event_task() self.assertTrue(WebHookEvent.objects.all()) self.assertTrue(WebHookResult.objects.all()) with override_settings(ALL_LOGS_TRIM_TIME=2): trim_webhook_event_task() self.assertFalse(WebHookEvent.objects.all()) self.assertFalse(WebHookResult.objects.all())