Exemplo n.º 1
0
    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())
Exemplo n.º 2
0
    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())
Exemplo n.º 3
0
    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())
Exemplo n.º 4
0
    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())