def get_form(form_data): """Return an instance of flask_wtf.FlaskForm. It receives a dictionary of everything which needs to be fed to the form. """ bug_form = IssueForm() ua_header = form_data['user_agent'] # Populate the form bug_form.browser.data = get_browser(ua_header) bug_form.extra_labels = form_data.get('extra_labels', None) bug_form.os.data = get_os(ua_header) bug_form.reported_with.data = form_data.get('src', 'web') bug_form.ua_header.data = ua_header bug_form.url.data = form_data.get('url', None) return bug_form
def get_form(form_data, form=IssueForm): """Return an instance of flask_wtf.FlaskForm. It receives a dictionary of everything which needs to be fed to the form. """ bug_form = form() ua_header = form_data['user_agent'] # Populate the form bug_form.browser.data = get_browser(ua_header) # Note: The details JSON that was POSTed to the new issue endpoint is at # this point a Python dict. We need to re-serialize to JSON when we store # its value in the hidden details form element, otherwise when we attempt # to decode it as JSON on form submission, it will throw (because Python # dicts are not valid JSON) bug_form.details.data = json.dumps(form_data.get('details'), indent=2) bug_form.extra_labels = form_data.get('extra_labels', None) bug_form.os.data = get_os(ua_header) bug_form.reported_with.data = form_data.get('src', 'web') bug_form.ua_header.data = ua_header bug_form.url.data = form_data.get('url', None) return bug_form
def get_form(form_data): """Return an instance of flask_wtf.FlaskForm. It receives a dictionary of everything which needs to be fed to the form. """ bug_form = IssueForm() ua_header = form_data['user_agent'] # Populate the form bug_form.browser.data = get_browser(ua_header) # Note: The details JSON that was POSTed to the new issue endpoint is at # this point a Python dict. We need to re-serialize to JSON when we store # its value in the hidden details form element, otherwise when we attempt # to decode it as JSON on form submission, it will throw (because Python # dicts are not valid JSON) bug_form.details.data = json.dumps(form_data.get('details'), indent=2) bug_form.extra_labels = form_data.get('extra_labels', None) bug_form.os.data = get_os(ua_header) bug_form.reported_with.data = form_data.get('src', 'web') bug_form.ua_header.data = ua_header bug_form.url.data = form_data.get('url', None) return bug_form
def test_get_os(self): """Test OS parsing via get_os helper method.""" self.assertEqual(get_os(FIREFOX_UA), 'Mac OS X 10.11') self.assertEqual(get_os(FIREFOX_MOBILE_UA), 'Android 6.0.1') self.assertEqual(get_os(FIREFOX_MOBILE_UA_OLD), 'Android') self.assertEqual(get_os(FIREFOX_TABLET_UA), 'Android 4.4') self.assertEqual(get_os(SAFARI_UA), 'Mac OS X 10.11') self.assertEqual(get_os(SAFARI_MOBILE_UA), 'iOS 6.1.4') self.assertEqual(get_os(SAFARI_TABLET_UA), 'iOS 5.1.1') self.assertEqual(get_os(CHROME_UA), 'Mac OS X 10.11.4') self.assertEqual(get_os(CHROME_MOBILE_UA), 'Android 4.0.4') self.assertEqual(get_os(CHROME_TABLET_UA), 'Android 4.0.4') self.assertEqual(get_os(''), 'Unknown') self.assertEqual(get_os(), 'Unknown') self.assertEqual(get_os('💀'), 'Unknown') self.assertEqual(get_os('<script>lol()</script>'), 'Unknown') self.assertEqual(get_os(True), 'Unknown') self.assertEqual(get_os(False), 'Unknown') self.assertEqual(get_os(None), 'Unknown')
def test_get_os(self): '''Test OS parsing via get_os helper method.''' self.assertEqual(get_os(FIREFOX_UA), 'Mac OS X 10.11') self.assertEqual(get_os(FIREFOX_MOBILE_UA), 'Android 6.0.1') self.assertEqual(get_os(FIREFOX_MOBILE_UA_OLD), 'Android') self.assertEqual(get_os(FIREFOX_TABLET_UA), 'Android 4.4') self.assertEqual(get_os(SAFARI_UA), 'Mac OS X 10.11') self.assertEqual(get_os(SAFARI_MOBILE_UA), 'iOS 6.1.4') self.assertEqual(get_os(SAFARI_TABLET_UA), 'iOS 5.1.1') self.assertEqual(get_os(CHROME_UA), 'Mac OS X 10.11.4') self.assertEqual(get_os(CHROME_MOBILE_UA), 'Android 4.0.4') self.assertEqual(get_os(CHROME_TABLET_UA), 'Android 4.0.4') self.assertEqual(get_os(''), 'Unknown') self.assertEqual(get_os(), 'Unknown') self.assertEqual(get_os(u'💀'), 'Unknown') self.assertEqual(get_os('<script>lol()</script>'), 'Unknown') self.assertEqual(get_os(True), 'Unknown') self.assertEqual(get_os(False), 'Unknown') self.assertEqual(get_os(None), 'Unknown')