def delete_realm_domain(request, user_profile, domain): # type: (HttpRequest, UserProfile, Text) -> (HttpResponse) try: realm_domain = RealmDomain.objects.get(realm=user_profile.realm, domain=domain) do_remove_realm_domain(realm_domain) except RealmDomain.DoesNotExist: return json_error(_('No entry found for domain %(domain)s.' % {'domain': domain})) return json_success()
def delete_realm_domain(request: HttpRequest, user_profile: UserProfile, domain: Text) -> HttpResponse: try: realm_domain = RealmDomain.objects.get(realm=user_profile.realm, domain=domain) do_remove_realm_domain(realm_domain) except RealmDomain.DoesNotExist: return json_error(_('No entry found for domain %(domain)s.' % {'domain': domain})) return json_success()
def delete_realm_domain(request: HttpRequest, user_profile: UserProfile, domain: str) -> HttpResponse: try: realm_domain = RealmDomain.objects.get(realm=user_profile.realm, domain=domain) do_remove_realm_domain(realm_domain) except RealmDomain.DoesNotExist: return json_error(_('No entry found for domain {domain}.').format(domain=domain)) return json_success()
def test_delete_all_realm_domains(self) -> None: self.login(self.example_email("iago")) realm = get_realm('zulip') query = RealmDomain.objects.filter(realm=realm) self.assertTrue(realm.restricted_to_domain) for realm_domain in query.all(): do_remove_realm_domain(realm_domain) self.assertEqual(query.count(), 0) # Deleting last realm_domain should set `restricted_to_domain` to False. # This should be tested on a fresh instance, since the cached objects # would not be updated. self.assertFalse(get_realm('zulip').restricted_to_domain)
def test_delete_all_realm_domains(self) -> None: self.login(self.example_email("iago")) realm = get_realm('zulip') query = RealmDomain.objects.filter(realm=realm) self.assertTrue(realm.restricted_to_domain) for realm_domain in query.all(): do_remove_realm_domain(realm_domain) self.assertEqual(query.count(), 0) # Deleting last realm_domain should set `restricted_to_domain` to False. # This should be tested on a fresh instance, since the cached objects # would not be updated. self.assertFalse(get_realm('zulip').restricted_to_domain)
def test_delete_all_realm_domains(self) -> None: self.login("iago") realm = get_realm("zulip") query = RealmDomain.objects.filter(realm=realm) self.assertTrue(realm.emails_restricted_to_domains) for realm_domain in query.all(): do_remove_realm_domain(realm_domain, acting_user=None) self.assertEqual(query.count(), 0) # Deleting last realm_domain should set `emails_restricted_to_domains` to False. # This should be tested on a fresh instance, since the cached objects # would not be updated. self.assertFalse(get_realm("zulip").emails_restricted_to_domains)
def test_realm_domain_entries(self) -> None: user = self.example_user("iago") initial_domains = get_realm_domains(user.realm) now = timezone_now() realm_domain = do_add_realm_domain(user.realm, "zulip.org", False, acting_user=user) added_domain: Dict[str, Union[str, bool]] = { "domain": "zulip.org", "allow_subdomains": False, } expected_extra_data = { "realm_domains": initial_domains + [added_domain], "added_domain": added_domain, } self.assertEqual( RealmAuditLog.objects.filter( realm=user.realm, event_type=RealmAuditLog.REALM_DOMAIN_ADDED, event_time__gte=now, acting_user=user, extra_data=orjson.dumps(expected_extra_data).decode(), ).count(), 1, ) now = timezone_now() do_change_realm_domain(realm_domain, True, acting_user=user) changed_domain: Dict[str, Union[str, bool]] = { "domain": "zulip.org", "allow_subdomains": True, } expected_extra_data = { "realm_domains": initial_domains + [changed_domain], "changed_domain": changed_domain, } self.assertEqual( RealmAuditLog.objects.filter( realm=user.realm, event_type=RealmAuditLog.REALM_DOMAIN_CHANGED, event_time__gte=now, acting_user=user, extra_data=orjson.dumps(expected_extra_data).decode(), ).count(), 1, ) now = timezone_now() do_remove_realm_domain(realm_domain, acting_user=user) removed_domain = { "domain": "zulip.org", "allow_subdomains": True, } expected_extra_data = { "realm_domains": initial_domains, "removed_domain": removed_domain, } self.assertEqual( RealmAuditLog.objects.filter( realm=user.realm, event_type=RealmAuditLog.REALM_DOMAIN_REMOVED, event_time__gte=now, acting_user=user, extra_data=orjson.dumps(expected_extra_data).decode(), ).count(), 1, )