def test_legacy_new_crash_source_basics(self): m_transaction_executor_class = mock.Mock() config = DotDict() database = mock.Mock() config.database_class = mock.Mock(return_value=database) config.transaction_executor_class = m_transaction_executor_class config.batchJobLimit = 10 LegacyNewCrashSource(config, processor_name='dwight-1234') eq_(m_transaction_executor_class.call_count, 1) m_transaction_executor_class.assert_called_with(config, database, None)
def test_normal_jobs_iter_simple(self): m_transaction = mock.Mock() m_transaction_executor_class = mock.Mock(return_value=m_transaction) config = DotDict() config.database_class = mock.Mock() config.transaction_executor_class = m_transaction_executor_class config.batchJobLimit = 10 config.logger = mock.Mock() config.pollingInterval = timedelta(0, 0, 0, 0) transaction_returns = ( 'priority_jobs_17', [ # fetchall (1, '1234', 1), (2, '2345', 1), (3, '3456', 1), ], [ # nothing to do ], [ (4, '4567', 1), (5, '5678', 1), ], None, # drop table ) m_transaction.side_effect = sequencer(*transaction_returns) exepected_sequence = ( (1, '1234', 1), (2, '2345', 1), (3, '3456', 1), None, (4, '4567', 1), (5, '5678', 1), ) new_crash_source = LegacyNewCrashSource(config, processor_name='dwight') new_crash_source.processor_id = 17 for x, y in zip(new_crash_source._normal_jobs_iter(), exepected_sequence): self.assertEqual(x, y) expected_get_normal_sql = ( "select" " j.id," " j.uuid," " priority " "from" " jobs j " "where" " j.owner = 17" " and j.starteddatetime is null " "order by queueddatetime" " limit 10" ) expected_transactions = ( ((new_crash_source._create_priority_jobs,),), ((execute_query_fetchall, expected_get_normal_sql,),), ((execute_query_fetchall, expected_get_normal_sql,),), ((execute_query_fetchall, expected_get_normal_sql,),), ((execute_query_fetchall, expected_get_normal_sql,),), ((execute_no_results, "drop table priority_jobs_17"),), ) for actual, expected in zip(m_transaction.call_args_list, expected_transactions): self.assertEqual(actual, expected)
def test_priority_jobs_iter_simple(self): m_transaction = mock.Mock() m_transaction_executor_class = mock.Mock(return_value=m_transaction) config = DotDict() config.database_class = mock.Mock() config.transaction_executor_class = m_transaction_executor_class config.batchJobLimit = 10 config.logger = mock.Mock() transaction_returns = ( 'priority_jobs_17', [ # fetchall (1, '1234', 1, None), (2, '2345', 1, None), (3, '3456', 1, None), ], None, # delete None, # delete None, # delete [ # nothing to do ], [ (4, '4567', 1, None), (5, '5678', 1, None), ], None, # delete None, # delete [ # nothing to do ], None, # drop table ) m_transaction.side_effect = sequencer(*transaction_returns) expected_sequence = ( (1, '1234', 1), (2, '2345', 1), (3, '3456', 1), None, (4, '4567', 1), (5, '5678', 1), ) new_crash_source = LegacyNewCrashSource(config, processor_name='dwight') for x, y in zip(new_crash_source._priority_jobs_iter(), expected_sequence): self.assertEqual(x, y) expected_get_priority_jobs_sql = ( "select" " j.id," " pj.uuid," " 1," " j.starteddatetime " "from" " jobs j right join priority_jobs_17 pj on j.uuid = pj.uuid" ) expected_delete_one_priority_job_sql = ( "delete from priority_jobs_17 where uuid = %s" ) expected_transactions = ( ((new_crash_source._create_priority_jobs,),), ((execute_query_fetchall, expected_get_priority_jobs_sql,),), ((execute_no_results, expected_delete_one_priority_job_sql, ('1234',)),), ((execute_no_results, expected_delete_one_priority_job_sql, ('2345',)),), ((execute_no_results, expected_delete_one_priority_job_sql, ('3456',)),), ((execute_query_fetchall, expected_get_priority_jobs_sql,),), ((execute_query_fetchall, expected_get_priority_jobs_sql,),), ((execute_no_results, expected_delete_one_priority_job_sql, ('4567',)),), ((execute_no_results, expected_delete_one_priority_job_sql, ('5678',)),), ((execute_query_fetchall, expected_get_priority_jobs_sql,),), ((execute_no_results, "drop table priority_jobs_17"),), ) for actual, expected in zip(m_transaction.call_args_list, expected_transactions): self.assertEqual(actual, expected)
def test_normal_jobs_iter_simple(self): m_transaction = mock.Mock() m_transaction_executor_class = mock.Mock(return_value=m_transaction) config = DotDict() config.database_class = mock.Mock() config.transaction_executor_class = m_transaction_executor_class config.batchJobLimit = 10 config.logger = mock.Mock() config.pollingInterval = timedelta(0, 0, 0, 0) transaction_returns = ( 'priority_jobs_17', [ # fetchall (1, '1234', 1), (2, '2345', 1), (3, '3456', 1), ], [ # nothing to do ], [ (4, '4567', 1), (5, '5678', 1), ], None, # drop table ) m_transaction.side_effect = sequencer(*transaction_returns) exepected_sequence = ( (1, '1234', 1), (2, '2345', 1), (3, '3456', 1), None, (4, '4567', 1), (5, '5678', 1), ) new_crash_source = LegacyNewCrashSource(config, processor_name='dwight') new_crash_source.processor_id = 17 for x, y in zip(new_crash_source._normal_jobs_iter(), exepected_sequence): eq_(x, y) expected_get_normal_sql = ("select" " j.id," " j.uuid," " priority " "from" " jobs j " "where" " j.owner = 17" " and j.starteddatetime is null " "order by queueddatetime" " limit 10") expected_transactions = ( ((new_crash_source._create_priority_jobs, ), ), (( execute_query_fetchall, expected_get_normal_sql, ), ), (( execute_query_fetchall, expected_get_normal_sql, ), ), (( execute_query_fetchall, expected_get_normal_sql, ), ), (( execute_query_fetchall, expected_get_normal_sql, ), ), ((execute_no_results, "drop table priority_jobs_17"), ), ) for actual, expected in zip(m_transaction.call_args_list, expected_transactions): eq_(actual, expected)
def test_priority_jobs_iter_simple(self): m_transaction = mock.Mock() m_transaction_executor_class = mock.Mock(return_value=m_transaction) config = DotDict() config.database_class = mock.Mock() config.transaction_executor_class = m_transaction_executor_class config.batchJobLimit = 10 config.logger = mock.Mock() transaction_returns = ( 'priority_jobs_17', [ # fetchall (1, '1234', 1, None), (2, '2345', 1, None), (3, '3456', 1, None), ], None, # delete None, # delete None, # delete [ # nothing to do ], [ (4, '4567', 1, None), (5, '5678', 1, None), ], None, # delete None, # delete [ # nothing to do ], None, # drop table ) m_transaction.side_effect = sequencer(*transaction_returns) expected_sequence = ( (1, '1234', 1), (2, '2345', 1), (3, '3456', 1), None, (4, '4567', 1), (5, '5678', 1), ) new_crash_source = LegacyNewCrashSource(config, processor_name='dwight') for x, y in zip(new_crash_source._priority_jobs_iter(), expected_sequence): eq_(x, y) expected_get_priority_jobs_sql = ( "select" " j.id," " pj.uuid," " 1," " j.starteddatetime " "from" " jobs j right join priority_jobs_17 pj on j.uuid = pj.uuid") expected_delete_one_priority_job_sql = ( "delete from priority_jobs_17 where uuid = %s") expected_transactions = ( ((new_crash_source._create_priority_jobs, ), ), (( execute_query_fetchall, expected_get_priority_jobs_sql, ), ), ((execute_no_results, expected_delete_one_priority_job_sql, ('1234', )), ), ((execute_no_results, expected_delete_one_priority_job_sql, ('2345', )), ), ((execute_no_results, expected_delete_one_priority_job_sql, ('3456', )), ), (( execute_query_fetchall, expected_get_priority_jobs_sql, ), ), (( execute_query_fetchall, expected_get_priority_jobs_sql, ), ), ((execute_no_results, expected_delete_one_priority_job_sql, ('4567', )), ), ((execute_no_results, expected_delete_one_priority_job_sql, ('5678', )), ), (( execute_query_fetchall, expected_get_priority_jobs_sql, ), ), ((execute_no_results, "drop table priority_jobs_17"), ), ) for actual, expected in zip(m_transaction.call_args_list, expected_transactions): eq_(actual, expected)