Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
 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')
Esempio n. 5
0
 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')