forked from GithubBackups/healthchecks
Require valid "schedule" and "tz" fields for cron checks.
This commit is contained in:
parent
f99c222ebf
commit
810089d183
@ -24,10 +24,9 @@ class TimeoutForm(forms.Form):
|
|||||||
|
|
||||||
|
|
||||||
class CronForm(forms.Form):
|
class CronForm(forms.Form):
|
||||||
schedule = forms.CharField(required=False, max_length=100,
|
schedule = forms.CharField(max_length=100,
|
||||||
validators=[CronExpressionValidator()])
|
validators=[CronExpressionValidator()])
|
||||||
tz = forms.CharField(required=False, max_length=36,
|
tz = forms.CharField(max_length=36, validators=[TimezoneValidator()])
|
||||||
validators=[TimezoneValidator()])
|
|
||||||
grace = forms.IntegerField(min_value=1, max_value=43200)
|
grace = forms.IntegerField(min_value=1, max_value=43200)
|
||||||
|
|
||||||
|
|
||||||
|
@ -84,6 +84,32 @@ class UpdateTimeoutTestCase(BaseTestCase):
|
|||||||
self.check.refresh_from_db()
|
self.check.refresh_from_db()
|
||||||
self.assertEqual(self.check.kind, "simple")
|
self.assertEqual(self.check.kind, "simple")
|
||||||
|
|
||||||
|
def test_it_rejects_missing_schedule(self):
|
||||||
|
url = "/checks/%s/timeout/" % self.check.code
|
||||||
|
# tz field is omitted so this should fail:
|
||||||
|
payload = {
|
||||||
|
"kind": "cron",
|
||||||
|
"grace": 60,
|
||||||
|
"tz": "UTC"
|
||||||
|
}
|
||||||
|
|
||||||
|
self.client.login(username="alice@example.org", password="password")
|
||||||
|
r = self.client.post(url, data=payload)
|
||||||
|
self.assertEqual(r.status_code, 400)
|
||||||
|
|
||||||
|
def test_it_rejects_missing_tz(self):
|
||||||
|
url = "/checks/%s/timeout/" % self.check.code
|
||||||
|
# tz field is omitted so this should fail:
|
||||||
|
payload = {
|
||||||
|
"kind": "cron",
|
||||||
|
"schedule": "* * * * *",
|
||||||
|
"grace": 60
|
||||||
|
}
|
||||||
|
|
||||||
|
self.client.login(username="alice@example.org", password="password")
|
||||||
|
r = self.client.post(url, data=payload)
|
||||||
|
self.assertEqual(r.status_code, 400)
|
||||||
|
|
||||||
def test_team_access_works(self):
|
def test_team_access_works(self):
|
||||||
url = "/checks/%s/timeout/" % self.check.code
|
url = "/checks/%s/timeout/" % self.check.code
|
||||||
payload = {"kind": "simple", "timeout": 7200, "grace": 60}
|
payload = {"kind": "simple", "timeout": 7200, "grace": 60}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user