本文整理汇总了Python中socorro.external.postgresql.crashstorage.PostgreSQLCrashStorage.save_raw_crash方法的典型用法代码示例。如果您正苦于以下问题:Python PostgreSQLCrashStorage.save_raw_crash方法的具体用法?Python PostgreSQLCrashStorage.save_raw_crash怎么用?Python PostgreSQLCrashStorage.save_raw_crash使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类socorro.external.postgresql.crashstorage.PostgreSQLCrashStorage
的用法示例。
在下文中一共展示了PostgreSQLCrashStorage.save_raw_crash方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_basic_postgres_save_raw_crash
# 需要导入模块: from socorro.external.postgresql.crashstorage import PostgreSQLCrashStorage [as 别名]
# 或者: from socorro.external.postgresql.crashstorage.PostgreSQLCrashStorage import save_raw_crash [as 别名]
def test_basic_postgres_save_raw_crash(self):
mock_logging = mock.Mock()
mock_postgres = mock.Mock()
required_config = PostgreSQLCrashStorage.get_required_config()
required_config.add_option('logger', default=mock_logging)
config_manager = ConfigurationManager(
[required_config],
app_name='testapp',
app_version='1.0',
app_description='app description',
values_source_list=[{
'logger': mock_logging,
'database_class': mock_postgres
}],
argv_source=[]
)
with config_manager.context() as config:
crashstorage = PostgreSQLCrashStorage(config)
database = crashstorage.database.return_value = mock.MagicMock()
self.assertTrue(isinstance(database, mock.Mock))
self.assertTrue('submitted_timestamp' in a_raw_crash)
m = mock.MagicMock()
m.__enter__.return_value = m
database = crashstorage.database.return_value = m
crashstorage.save_raw_crash(
a_raw_crash,
'',
"936ce666-ff3b-4c7a-9674-367fe2120408"
)
self.assertEqual(m.cursor.call_count, 3)
self.assertEqual(m.cursor().execute.call_count, 3)
expected_execute_args = (
(('savepoint MainThread', None),),
(('insert into raw_crashes_20120402 (uuid, raw_crash, date_processed) values (%s, %s, %s)',
(
'936ce666-ff3b-4c7a-9674-367fe2120408',
'{"submitted_timestamp": "2012-04-08 10:52:42.0", "Version": "6.02E23", "ProductName": "Fennicky"}',
"2012-04-08 10:52:42.0"
)),),
(('release savepoint MainThread', None),),
)
actual_execute_args = m.cursor().execute.call_args_list
for expected, actual in zip(expected_execute_args,
actual_execute_args):
expeceted_sql, expected_params = expected[0]
expeceted_sql = expeceted_sql.replace('\n', '')
expeceted_sql = expeceted_sql.replace(' ', '')
actual_sql, actual_params = actual[0]
actual_sql = actual_sql.replace('\n', '')
actual_sql = actual_sql.replace(' ', '')
self.assertEqual(expeceted_sql, actual_sql)
self.assertEqual(expected_params, actual_params)
示例2: test_basic_postgres_save_raw_crash
# 需要导入模块: from socorro.external.postgresql.crashstorage import PostgreSQLCrashStorage [as 别名]
# 或者: from socorro.external.postgresql.crashstorage.PostgreSQLCrashStorage import save_raw_crash [as 别名]
def test_basic_postgres_save_raw_crash(self):
mock_logging = mock.Mock()
mock_postgres = mock.Mock()
required_config = PostgreSQLCrashStorage.get_required_config()
required_config.add_option('logger', default=mock_logging)
config_manager = ConfigurationManager(
[required_config],
app_name='testapp',
app_version='1.0',
app_description='app description',
values_source_list=[{
'logger': mock_logging,
'database_class': mock_postgres
}],
argv_source=[]
)
with config_manager.context() as config:
crashstorage = PostgreSQLCrashStorage(config)
database = crashstorage.database.return_value = mock.MagicMock()
ok_(isinstance(database, mock.Mock))
ok_('submitted_timestamp' in a_raw_crash)
m = mock.MagicMock()
m.__enter__.return_value = m
database = crashstorage.database.return_value = m
crashstorage.save_raw_crash(
a_raw_crash,
'',
"936ce666-ff3b-4c7a-9674-367fe2120408"
)
eq_(m.cursor.call_count, 1)
eq_(m.cursor().execute.call_count, 1)
expected_execute_args = ((("""
WITH update_raw_crash AS (
UPDATE raw_crashes_20120402 SET
raw_crash = %(raw_crash)s,
date_processed = %(date_processed)s
WHERE uuid = %(crash_id)s
RETURNING 1
),
insert_raw_crash AS (
INSERT into raw_crashes_20120402
(uuid, raw_crash, date_processed)
( SELECT
%(crash_id)s as uuid,
%(raw_crash)s as raw_crash,
%(date_processed)s as date_processed
WHERE NOT EXISTS (
SELECT uuid from raw_crashes_20120402
WHERE
uuid = %(crash_id)s
LIMIT 1
)
)
RETURNING 2
)
SELECT * from update_raw_crash
UNION ALL
SELECT * from insert_raw_crash
""", {
'crash_id': '936ce666-ff3b-4c7a-9674-367fe2120408',
'raw_crash': '{"submitted_timestamp": "2012-04-08 10:52:42.0", "Version": "6.02E23", "ProductName": "Fennicky"}',
'date_processed': "2012-04-08 10:52:42.0"
}),),)
actual_execute_args = m.cursor().execute.call_args_list
for expected, actual in zip(expected_execute_args,
actual_execute_args):
expeceted_sql, expected_params = expected[0]
expeceted_sql = remove_whitespace(expeceted_sql)
actual_sql, actual_params = actual[0]
actual_sql = remove_whitespace(actual_sql)
eq_(expeceted_sql, actual_sql)
eq_(expected_params, actual_params)