def test_get_raw_crash(self): config = self.get_standard_config() db_sampling = DBSamplingCrashSource(config) crash_id = '86b58ff2-9708-487d-bfc4-9dac32121214' raw = ('{"name":"Gabi", ' '"submitted_timestamp":"%d"}' % time.time()) fake_raw_crash = DotDict(json.loads(raw)) mocked_get_raw_crash = mock.Mock(return_value=fake_raw_crash) db_sampling._implementation = mock.Mock() db_sampling._implementation.get_raw_crash = mocked_get_raw_crash raw_crash = db_sampling._implementation.get_raw_crash(crash_id) ok_(isinstance(raw_crash, DotDict)) eq_(raw_crash['name'], 'Gabi') db_sampling._implementation.get_raw_crash.assert_called_with(crash_id)
def test_new_crashes(self): config = self.get_standard_config() db_sampling = DBSamplingCrashSource(config) m_execute = mock.Mock() expected = sequencer('114559a5-d8e6-428c-8b88-1c1f22120314', 'c44245f4-c93b-49b8-86a2-c15dc3a695cb') db_sampling.new_crashes = mock.Mock(side_effect=expected) m_cursor = mock.Mock() m_cursor.execute = m_execute m_cursor.fetchone = db_sampling.new_crashes conn = mock.Mock() conn.cursor.return_value = m_cursor r = dbapi2_util.execute_query_iter(conn, config.sql) eq_(r.next().next(), '114559a5-d8e6-428c-8b88-1c1f22120314') eq_(conn.cursor.call_count, 1) eq_(m_cursor.execute.call_count, 1) m_cursor.execute.assert_called_once_with(config.sql, None)
def test_get_raw_dumps_as_files(self): config = self.get_standard_config() db_sampling = DBSamplingCrashSource(config) crash_id = '86b58ff2-9708-487d-bfc4-9dac32121214' fake_dumps_as_files = {'upload_file_minidump': '86b58ff2-9708-487d-bfc4-9dac32121214.' \ 'upload_file_minidump.TEMPORARY.dump' } mocked_as_files = mock.Mock(return_value=fake_dumps_as_files) db_sampling._implementation = mock.Mock() db_sampling._implementation.get_raw_dumps_as_files = mocked_as_files raw_dumps_as_files = \ db_sampling._implementation.get_raw_dumps_as_files(crash_id) ok_(isinstance(raw_dumps_as_files, dict)) eq_(raw_dumps_as_files['upload_file_minidump'], '86b58ff2-9708-487d-bfc4-9dac32121214.' \ 'upload_file_minidump.TEMPORARY.dump' ) db_sampling._implementation.get_raw_dumps_as_files \ .assert_called_with(crash_id)
def test_new_crashes(self): config = self.get_standard_config() db_sampling = DBSamplingCrashSource(config) m_execute = mock.MagicMock() sequence = [ '114559a5-d8e6-428c-8b88-1c1f22120314', 'c44245f4-c93b-49b8-86a2-c15dc3a695cb' ] expected = sequencer(*tuple(sequence)) conn = mock.MagicMock() conn.cursor.return_value.__enter__().fetchone = expected for a_row in dbapi2_util.execute_query_iter(conn, config.sql): eq_(a_row, sequence.pop()) conn.cursor.assert_called_once_with() conn.cursor.return_value.__enter__.return_value.execute \ .assert_called_once_with( config.sql, None )
def test_setup(self): config = self.get_standard_config() db_sampling = DBSamplingCrashSource(config) eq_(db_sampling.config, config) eq_(db_sampling.config.logger, config.logger)