def test_POST_reject_browser_with_hangid(self, mocked_web, mocked_webapi, mocked_utc_now, mocked_time): config = self.get_standard_config() c = BreakpadCollector2015(config) rawform = DotDict() rawform[u'\u0000ProductName'] = 'FireSquid' rawform.Version = '99' rawform.dump = DotDict({'value': 'fake dump', 'file': 'faked file'}) rawform.some_field = '23' rawform.some_other_field = ObjectWithValue('XYZ') rawform.HangID = 'xyz' rawform.ProcessType = 'browser' form = DotDict(rawform) form.dump = rawform.dump.value erc = DotDict() erc.ProductName = 'FireSquid' erc.Version = '99' erc.some_field = '23' erc.some_other_field = 'XYZ' erc.legacy_processing = ACCEPT erc.throttle_rate = None erc.timestamp = 3.0 erc.submitted_timestamp = '2012-05-04T15:10:00' erc.type_tag = 'bp' erc = dict(erc) mocked_webapi.rawinput.return_value = rawform mocked_utc_now.return_value = datetime(2012, 5, 4, 15, 10) mocked_time.time.return_value = 3.0 c.throttler.throttle.return_value = (IGNORE, None) r = c.POST() eq_(r, "Unsupported=1\n") ok_(not c.crash_storage.save_raw_crash.call_count)
def test_POST_reject_browser_with_hangid( self, mocked_web, mocked_webapi, mocked_utc_now, mocked_time ): config = self.get_standard_config() c = BreakpadCollector(config) rawform = DotDict() rawform[u'\u0000ProductName'] = 'FireSquid' rawform.Version = '99' rawform.dump = DotDict({'value': 'fake dump', 'file': 'faked file'}) rawform.some_field = '23' rawform.some_other_field = ObjectWithValue('XYZ') rawform.HangID = 'xyz' rawform.ProcessType = 'browser' form = DotDict(rawform) form.dump = rawform.dump.value erc = DotDict() erc.ProductName = 'FireSquid' erc.Version = '99' erc.some_field = '23' erc.some_other_field = 'XYZ' erc.legacy_processing = ACCEPT erc.throttle_rate = None erc.timestamp = 3.0 erc.submitted_timestamp = '2012-05-04T15:10:00' erc.type_tag = 'bp' erc = dict(erc) mocked_web.ctx.configure_mock( env={ 'CONTENT_LENGTH': 1000 } ) mocked_webapi.rawinput.return_value = rawform mocked_utc_now.return_value = datetime(2012, 5, 4, 15, 10) mocked_time.time.return_value = 3.0 c.throttler.throttle.return_value = (IGNORE, None) r = c.POST() eq_(r, "Unsupported=1\n") ok_(not c.crash_storage.save_raw_crash.call_count ) # Verify metrics were captured and .capture_stats() was called. config.metrics.capture_stats.assert_called_with( {'crash_report_size_rejected_uncompressed': 1000} )
def test_POST_reject_browser_with_hangid(self): config = self.get_standard_config() c = BreakpadCollector(config) rawform = DotDict() rawform.ProductName = 'FireSquid' rawform.Version = '99' rawform.dump = DotDict({'value': 'fake dump', 'file': 'faked file'}) rawform.some_field = '23' rawform.some_other_field = ObjectWithValue('XYZ') rawform.HangID = 'xyz' rawform.ProcessType = 'browser' form = DotDict(rawform) form.dump = rawform.dump.value erc = DotDict() erc.ProductName = 'FireSquid' erc.Version = '99' erc.some_field = '23' erc.some_other_field = 'XYZ' erc.legacy_processing = ACCEPT erc.throttle_rate = None erc.timestamp = 3.0 erc.submitted_timestamp = '2012-05-04T15:10:00' erc = dict(erc) with mock.patch('socorro.collector.wsgi_breakpad_collector.web') as mocked_web: mocked_web.input.return_value = form with mock.patch('socorro.collector.wsgi_breakpad_collector.web.webapi') \ as mocked_webapi: mocked_webapi.rawinput.return_value = rawform with mock.patch('socorro.collector.wsgi_breakpad_collector.utc_now') \ as mocked_utc_now: mocked_utc_now.return_value = datetime( 2012, 5, 4, 15, 10 ) with mock.patch('socorro.collector.wsgi_breakpad_collector.time') \ as mocked_time: mocked_time.time.return_value = 3.0 c.throttler.throttle.return_value = (IGNORE, None) r = c.POST() self.assertEqual(r, "Unsupported=1\n") self.assertFalse( c.crash_storage.save_raw_crash.call_count )