本文整理汇总了Python中collector.lib.util.DotDict类的典型用法代码示例。如果您正苦于以下问题:Python DotDict类的具体用法?Python DotDict怎么用?Python DotDict使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DotDict类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_doing_work_with_one_worker
def test_doing_work_with_one_worker(self):
config = DotDict()
config.logger = self.logger
config.number_of_threads = 1
config.maximum_queue_size = 1
my_list = []
def insert_into_list(anItem):
my_list.append(anItem)
ttm = ThreadedTaskManager(config,
task_func=insert_into_list
)
try:
ttm.start()
time.sleep(0.2)
ok_(len(my_list) == 10,
'expected to do 10 inserts, '
'but %d were done instead' % len(my_list))
ok_(my_list == range(10),
'expected %s, but got %s' % (range(10), my_list))
ttm.stop()
except Exception:
# we got threads to join
ttm.wait_for_completion()
raise
示例2: test_doing_work_with_two_workers_and_generator
def test_doing_work_with_two_workers_and_generator(self):
config = DotDict()
config.logger = self.logger
config.number_of_threads = 2
config.maximum_queue_size = 2
my_list = []
def insert_into_list(anItem):
my_list.append(anItem)
ttm = ThreadedTaskManager(config,
task_func=insert_into_list,
job_source_iterator=(((x,), {}) for x in
xrange(10))
)
try:
ttm.start()
time.sleep(0.2)
ok_(len(ttm.thread_list) == 2,
"expected 2 threads, but found %d"
% len(ttm.thread_list))
ok_(len(my_list) == 10,
'expected to do 10 inserts, '
'but %d were done instead' % len(my_list))
ok_(sorted(my_list) == range(10),
'expected %s, but got %s' % (range(10),
sorted(my_list)))
except Exception:
# we got threads to join
ttm.wait_for_completion()
raise
示例3: setup_mocked_s3_storage
def setup_mocked_s3_storage(
self,
executor=TransactionExecutor,
executor_for_gets=TransactionExecutor,
storage_class='BotoS3CrashStorage',
host='',
port=0,
resource_class=S3ConnectionContext,
**extra
):
config = DotDict({
'resource_class': resource_class,
'logger': mock.Mock(),
'host': host,
'port': port,
'access_key': 'this is the access key',
'secret_access_key': 'secrets',
'bucket_name': 'silliness',
'keybuilder_class': KeyBuilderBase,
'prefix': 'dev',
'calling_format': mock.Mock()
})
config.update(extra)
s3_conn = resource_class(config)
s3_conn._connect_to_endpoint = mock.Mock()
s3_conn._mocked_connection = s3_conn._connect_to_endpoint.return_value
s3_conn._calling_format.return_value = mock.Mock()
s3_conn._CreateError = mock.Mock()
s3_conn.ResponseError = mock.Mock()
s3_conn._open = mock.MagicMock()
return s3_conn
示例4: test_blocking_start
def test_blocking_start(self):
config = DotDict()
config.logger = self.logger
config.idle_delay = 1
config.quit_on_empty_queue = False
class MyTaskManager(TaskManager):
def _responsive_sleep(
self,
seconds,
wait_log_interval=0,
wait_reason=''
):
try:
if self.count >= 2:
self.quit = True
self.count += 1
except AttributeError:
self.count = 0
tm = MyTaskManager(
config,
task_func=Mock()
)
waiting_func = Mock()
tm.blocking_start(waiting_func=waiting_func)
eq_(
tm.task_func.call_count,
10
)
eq_(waiting_func.call_count, 0)
示例5: test_constuctor1
def test_constuctor1(self):
config = DotDict()
config.logger = self.logger
config.quit_on_empty_queue = False
tm = TaskManager(config)
ok_(tm.config == config)
ok_(tm.logger == self.logger)
ok_(tm.task_func == default_task_func)
ok_(tm.quit == False)
示例6: test_executor_identity
def test_executor_identity(self):
config = DotDict()
config.logger = self.logger
tm = TaskManager(
config,
job_source_iterator=range(1),
)
tm._pid = 666
eq_(tm.executor_identity(), '666-MainThread')
示例7: test_transaction_ack_crash
def test_transaction_ack_crash(self):
config = self._setup_config()
connection = Mock()
ack_token = DotDict()
ack_token.delivery_tag = 1
crash_id = 'some-crash-id'
crash_store = RabbitMQCrashStorage(config)
crash_store._transaction_ack_crash(connection, crash_id, ack_token)
connection.channel.basic_ack.assert_called_once_with(delivery_tag=1)
示例8: _fake_processed_crash
def _fake_processed_crash(self):
d = DotDict()
# these keys survive redaction
d.a = DotDict()
d.a.b = DotDict()
d.a.b.c = 11
d.sensitive = DotDict()
d.sensitive.x = 2
d.not_url = 'not a url'
return d
示例9: _setup_config
def _setup_config(self):
config = DotDict()
config.transaction_executor_class = Mock()
config.backoff_delays = (0, 0, 0)
config.logger = Mock()
config.rabbitmq_class = MagicMock()
config.routing_key = 'socorro.normal'
config.filter_on_legacy_processing = True
config.redactor_class = Redactor
config.forbidden_keys = Redactor.required_config.forbidden_keys.default
config.throttle = 100
return config
示例10: test_constuctor1
def test_constuctor1(self):
config = DotDict()
config.logger = self.logger
config.number_of_threads = 1
config.maximum_queue_size = 1
ttm = ThreadedTaskManager(config)
try:
ok_(ttm.config == config)
ok_(ttm.logger == self.logger)
ok_(ttm.task_func == default_task_func)
ok_(ttm.quit == False)
finally:
# we got threads to join
ttm._kill_worker_threads()
示例11: FakeStorageSource
class FakeStorageSource(object):
def __init__(self, config, quit_check_callback):
self.store = DotDict({'1234': DotDict({'ooid': '1234',
'Product': 'FireSquid',
'Version': '1.0'}),
'1235': DotDict({'ooid': '1235',
'Product': 'ThunderRat',
'Version': '1.0'}),
'1236': DotDict({'ooid': '1236',
'Product': 'Caminimal',
'Version': '1.0'}),
'1237': DotDict({'ooid': '1237',
'Product': 'Fennicky',
'Version': '1.0'}),
})
def get_raw_crash(self, ooid):
return self.store[ooid]
def get_raw_dump(self, ooid):
return 'this is a fake dump'
def new_ooids(self):
for k in self.store.keys():
yield k
示例12: FakeStorageSource
class FakeStorageSource(object):
def __init__(self, config, quit_check_callback):
self.store = DotDict({'1234': DotDict({'ooid': '1234',
'Product': 'FireSquid',
'Version': '1.0'}),
'1235': DotDict({'ooid': '1235',
'Product': 'ThunderRat',
'Version': '1.0'}),
'1236': DotDict({'ooid': '1236',
'Product': 'Caminimal',
'Version': '1.0'}),
'1237': DotDict({'ooid': '1237',
'Product': 'Fennicky',
'Version': '1.0'}),
})
self.number_of_close_calls = 0
def close(self):
self.number_of_close_calls += 1
def get_raw_crash(self, ooid):
return self.store[ooid]
def get_raw_dumps(self, ooid):
return {'upload_file_minidump': 'this is a fake dump',
'flash1': 'broken flash dump'}
def new_crashes(self):
for k in self.store.keys():
yield k
示例13: setup_mocked_s3_storage
def setup_mocked_s3_storage(
self,
executor=TransactionExecutor,
executor_for_gets=TransactionExecutor,
storage_class='BotoS3CrashStorage',
host='',
port=0):
config = DotDict({
'source': {
'dump_field': 'dump'
},
'transaction_executor_class': executor,
'transaction_executor_class_for_get': executor_for_gets,
'resource_class': S3ConnectionContext,
'keybuilder_class': KeyBuilderBase,
'backoff_delays': [0, 0, 0],
'redactor_class': Redactor,
'forbidden_keys': Redactor.required_config.forbidden_keys.default,
'logger': mock.Mock(),
'host': host,
'port': port,
'access_key': 'this is the access key',
'secret_access_key': 'secrets',
'temporary_file_system_storage_path': self.TEMPDIR,
'dump_file_suffix': '.dump',
'bucket_name': 'mozilla-support-reason',
'prefix': 'dev',
'calling_format': mock.Mock()
})
if storage_class == 'BotoS3CrashStorage':
config.bucket_name = 'crash_storage'
s3 = BotoS3CrashStorage(config)
elif storage_class == 'SupportReasonAPIStorage':
s3 = SupportReasonAPIStorage(config)
s3_conn = s3.connection_source
s3_conn._connect_to_endpoint = mock.Mock()
s3_conn._mocked_connection = s3_conn._connect_to_endpoint.return_value
s3_conn._calling_format.return_value = mock.Mock()
s3_conn._CreateError = mock.Mock()
## s3_conn.ResponseError = mock.Mock()
s3_conn._open = mock.MagicMock()
return s3
示例14: test_new_crash_duplicate_discovered
def test_new_crash_duplicate_discovered(self):
""" Tests queue with standard queue items only
"""
config = self._setup_config()
config.transaction_executor_class = TransactionExecutor
crash_store = RabbitMQCrashStorage(config)
crash_store.rabbitmq.config.standard_queue_name = 'socorro.normal'
crash_store.rabbitmq.config.reprocessing_queue_name = \
'socorro.reprocessing'
crash_store.rabbitmq.config.priority_queue_name = 'socorro.priority'
faked_methodframe = DotDict()
faked_methodframe.delivery_tag = 'delivery_tag'
test_queue = [
(None, None, None),
(faked_methodframe, '1', 'normal_crash_id'),
(None, None, None),
]
def basic_get(queue='socorro.priority'):
if len(test_queue) == 0:
raise StopIteration
return test_queue.pop()
crash_store.rabbitmq.return_value.__enter__.return_value \
.channel.basic_get = MagicMock(side_effect=basic_get)
transaction_connection = crash_store.transaction.db_conn_context_source \
.return_value.__enter__.return_value
# load the cache as if this crash had alredy been seen
crash_store.acknowledgement_token_cache['normal_crash_id'] = \
faked_methodframe
for result in crash_store.new_crashes():
# new crash should be suppressed
eq_(None, result)
# we should ack the new crash even though we did use it for processing
transaction_connection.channel.basic_ack \
.assert_called_with(
delivery_tag=faked_methodframe.delivery_tag
)
示例15: test_save_raw_crash_no_legacy
def test_save_raw_crash_no_legacy(self):
config = self._setup_config()
config.filter_on_legacy_processing = False
crash_store = RabbitMQCrashStorage(config)
# test for "legacy_processing" missing from crash
crash_store.save_raw_crash(
raw_crash=DotDict(),
dumps=DotDict(),
crash_id='crash_id'
)
crash_store.transaction.assert_called_with(
crash_store._save_raw_crash_transaction,
'crash_id'
)
config.logger.reset_mock()
# test for normal save
raw_crash = DotDict()
raw_crash.legacy_processing = 0
crash_store.save_raw_crash(
raw_crash=raw_crash,
dumps=DotDict,
crash_id='crash_id'
)
crash_store.transaction.assert_called_with(
crash_store._save_raw_crash_transaction,
'crash_id'
)
crash_store.transaction.reset_mock()
# test for save without regard to "legacy_processing" value
raw_crash = DotDict()
raw_crash.legacy_processing = 5
crash_store.save_raw_crash(
raw_crash=raw_crash,
dumps=DotDict,
crash_id='crash_id'
)
crash_store.transaction.assert_called_with(
crash_store._save_raw_crash_transaction,
'crash_id'
)