mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-19 05:58:34 +02:00
Improved coverage.
This commit is contained in:
@@ -564,17 +564,6 @@ class GeneralParametersForm(param_forms.AdminParametersForm):
|
||||
"""
|
||||
super().clean()
|
||||
cleaned_data = self.cleaned_data
|
||||
if cleaned_data["authentication_type"] != "ldap":
|
||||
return cleaned_data
|
||||
|
||||
if cleaned_data["ldap_auth_method"] == "searchbind":
|
||||
required_fields = ["ldap_search_base", "ldap_search_filter"]
|
||||
else:
|
||||
required_fields = ["ldap_user_dn_template"]
|
||||
|
||||
for f in required_fields:
|
||||
if f not in cleaned_data or cleaned_data[f] == u'':
|
||||
self.add_error(f, _("This field is required"))
|
||||
|
||||
if cleaned_data["sms_password_recovery"]:
|
||||
provider = cleaned_data.get("sms_provider")
|
||||
@@ -586,6 +575,17 @@ class GeneralParametersForm(param_forms.AdminParametersForm):
|
||||
self.add_error(name, _("This field is required"))
|
||||
else:
|
||||
self.add_error("sms_provider", _("This field is required"))
|
||||
if cleaned_data["authentication_type"] != "ldap":
|
||||
return cleaned_data
|
||||
|
||||
if cleaned_data["ldap_auth_method"] == "searchbind":
|
||||
required_fields = ["ldap_search_base", "ldap_search_filter"]
|
||||
else:
|
||||
required_fields = ["ldap_user_dn_template"]
|
||||
|
||||
for f in required_fields:
|
||||
if f not in cleaned_data or cleaned_data[f] == u'':
|
||||
self.add_error(f, _("This field is required"))
|
||||
|
||||
return cleaned_data
|
||||
|
||||
|
||||
@@ -221,6 +221,15 @@ class PasswordResetTestCase(ModoTestCase):
|
||||
"We've emailed you instructions for setting your password")
|
||||
self.assertEqual(len(mail.outbox), 0)
|
||||
|
||||
def test_reset_password_announcement(self):
|
||||
"""Check if announcement is showing."""
|
||||
self.client.logout()
|
||||
url = reverse("password_reset")
|
||||
msg = "Announcement"
|
||||
self.set_global_parameter("password_recovery_msg", msg)
|
||||
response = self.client.get(url)
|
||||
self.assertContains(response, msg)
|
||||
|
||||
@mock.patch("oath.accept_totp")
|
||||
@mock.patch("ovh.Client.get")
|
||||
@mock.patch("ovh.Client.post")
|
||||
|
||||
@@ -226,6 +226,21 @@ sha512crypt is not one of the available choices."]},
|
||||
"prefix": "core"
|
||||
})
|
||||
|
||||
def test_sms_settings_clean(self):
|
||||
"""Check sms settings validation."""
|
||||
url = reverse("core:parameters")
|
||||
settings = SETTINGS_SAMPLE.copy()
|
||||
settings["core-sms_password_recovery"] = True
|
||||
settings["core-sms_provider"] = ""
|
||||
response = self.client.post(url, settings, format="json")
|
||||
self.assertEqual(response.status_code, 400)
|
||||
settings["core-sms_provider"] = "ovh"
|
||||
response = self.client.post(url, settings, format="json")
|
||||
self.assertEqual(response.status_code, 400)
|
||||
errors = response.json()
|
||||
self.assertIn(
|
||||
"sms_ovh_application_secret", errors["form_errors"])
|
||||
|
||||
|
||||
class UserSettings(param_forms.UserParametersForm):
|
||||
"""Stupid user settings form."""
|
||||
|
||||
Reference in New Issue
Block a user