From 001ff7286137f6d375455b81c94e41c66446b0f7 Mon Sep 17 00:00:00 2001 From: Wyatt Hoodes Date: Mon, 12 Aug 2019 16:10:09 -1000 Subject: [PATCH] data exports: Add upload and message limit test. --- zerver/tests/test_realm_export.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/zerver/tests/test_realm_export.py b/zerver/tests/test_realm_export.py index 44ce4f1d49..9469f09137 100644 --- a/zerver/tests/test_realm_export.py +++ b/zerver/tests/test_realm_export.py @@ -1,5 +1,7 @@ from mock import patch +from analytics.models import RealmCount + from django.utils.timezone import now as timezone_now from django.conf import settings @@ -164,3 +166,26 @@ class RealmExportTest(ZulipTestCase): result = export_realm(self.client_post, admin) self.assert_json_error(result, 'Exceeded rate limit.') + + def test_upload_and_message_limit(self) -> None: + admin = self.example_user('iago') + self.login(admin.email) + realm_count = RealmCount.objects.create(realm_id=admin.realm.id, + end_time=timezone_now(), + subgroup=1, + value=0, + property='messages_sent:client:day') + + # Space limit is set as 10 GiB + with patch('zerver.models.Realm.currently_used_upload_space_bytes', + return_value=11 * 1024 * 1024 * 1024): + result = self.client_post('/json/export/realm') + self.assert_json_error(result, 'Please request a manual export from %s.' % + settings.ZULIP_ADMINISTRATOR) + + # Message limit is set as 250000 + realm_count.value = 250001 + realm_count.save(update_fields=['value']) + result = self.client_post('/json/export/realm') + self.assert_json_error(result, 'Please request a manual export from %s.' % + settings.ZULIP_ADMINISTRATOR)