summaryrefslogtreecommitdiffstats
path: root/omaha_server/crash/tests/test_forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'omaha_server/crash/tests/test_forms.py')
-rw-r--r--omaha_server/crash/tests/test_forms.py37
1 files changed, 36 insertions, 1 deletions
diff --git a/omaha_server/crash/tests/test_forms.py b/omaha_server/crash/tests/test_forms.py
index 9e41e82..9ddf202 100644
--- a/omaha_server/crash/tests/test_forms.py
+++ b/omaha_server/crash/tests/test_forms.py
@@ -19,6 +19,8 @@ the License.
"""
import os
+import string
+import random
from django.test import TestCase
from django.core.files.uploadedfile import SimpleUploadedFile
@@ -32,6 +34,10 @@ SYM_FILE = os.path.join(TEST_DATA_DIR, 'BreakpadTestApp.sym')
TAR_FILE = os.path.join(TEST_DATA_DIR, 'foo.tar')
+def string_generator(size, chars=string.ascii_uppercase + string.ascii_lowercase + string.digits):
+ return ''.join(random.choice(chars) for _ in range(size))
+
+
class SymbolsAdminFormTest(TestCase):
def test_form(self):
form_data = {}
@@ -78,4 +84,33 @@ class CrashFormTest(TestCase):
self.assertEqual(form.cleaned_data['upload_file_minidump'].name, '7b05e196-7e23-416b-bd13-99287924e214.dmp')
self.assertEqual(form.cleaned_data['archive'].name, 'foo.tar')
self.assertEqual(form.cleaned_data['archive_size'], 85504)
- self.assertEqual(form.cleaned_data['minidump_size'], 14606) \ No newline at end of file
+ self.assertEqual(form.cleaned_data['minidump_size'], 14606)
+
+ def test_invalid_data(self):
+ with open(TAR_FILE, 'rb') as f:
+ form_file_data = dict(upload_file_minidump=SimpleUploadedFile(
+ "foo.tar", f.read(100)))
+ form_data = dict(
+ appid=string_generator(40),
+ userid=string_generator(40),
+ meta=string_generator(40),
+ stacktrace=string_generator(40),
+ stacktrace_json=string_generator(40),
+ signature=string_generator(256),
+ ip=string_generator(40),
+ groupid=string_generator(40),
+ eventid=string_generator(40),
+ )
+
+ form = CrashFrom(form_data, form_file_data)
+ self.assertFalse(form.is_valid())
+ self.assertIn('upload_file_minidump', form.errors)
+ self.assertIn('appid', form.errors)
+ self.assertIn('userid', form.errors)
+ self.assertIn('meta', form.errors)
+ self.assertNotIn('stacktrace', form.errors)
+ self.assertIn('stacktrace_json', form.errors)
+ self.assertIn('signature', form.errors)
+ self.assertIn('ip', form.errors)
+ self.assertIn('groupid', form.errors)
+ self.assertIn('eventid', form.errors)