def test_collate_worker_error(self): def get_object_data(*a,**kw): raise log_processor.BadFileDownload() orig_get_object_data = log_processor.LogProcessor.get_object_data try: log_processor.LogProcessor.get_object_data = get_object_data proxy_config = self.proxy_config.copy() proxy_config.update({ 'log-processor-access': { 'source_filename_format':'%Y%m%d%H*', 'class_path': 'swift.stats.access_processor.AccessLogProcessor' }}) processor_args = (proxy_config, DumbLogger()) q_in = Queue.Queue() q_out = Queue.Queue() work_request = ('access', 'a','c','o') q_in.put(work_request) q_in.put(None) log_processor.collate_worker(processor_args, q_in, q_out) item, ret = q_out.get() self.assertEquals(item, work_request) # these only work for Py2.7+ #self.assertIsInstance(ret, log_processor.BadFileDownload) self.assertTrue(isinstance(ret, log_processor.BadFileDownload), type(ret)) finally: log_processor.LogProcessor.get_object_data = orig_get_object_data
def test_collate_worker_error(self): def get_object_data(*a, **kw): raise log_processor.BadFileDownload() orig_get_object_data = log_processor.LogProcessor.get_object_data try: log_processor.LogProcessor.get_object_data = get_object_data proxy_config = self.proxy_config.copy() proxy_config.update({ 'log-processor-access': { 'source_filename_format': '%Y%m%d%H*', 'class_path': 'swift.stats.access_processor.AccessLogProcessor' } }) processor_args = (proxy_config, DumbLogger()) q_in = Queue.Queue() q_out = Queue.Queue() work_request = ('access', 'a', 'c', 'o') q_in.put(work_request) q_in.put(None) log_processor.collate_worker(processor_args, q_in, q_out) item, ret = q_out.get() self.assertEquals(item, work_request) # these only work for Py2.7+ #self.assertIsInstance(ret, log_processor.BadFileDownload) self.assertTrue(isinstance(ret, log_processor.BadFileDownload), type(ret)) finally: log_processor.LogProcessor.get_object_data = orig_get_object_data
def test_collate_worker(self): try: log_processor.LogProcessor._internal_proxy = DumbInternalProxy() def get_object_data(*a, **kw): return [self.access_test_line] orig_get_object_data = log_processor.LogProcessor.get_object_data log_processor.LogProcessor.get_object_data = get_object_data proxy_config = self.proxy_config.copy() proxy_config.update({ 'log-processor-access': { 'source_filename_format': '%Y%m%d%H*', 'class_path': 'swift.stats.access_processor.AccessLogProcessor' } }) processor_args = (proxy_config, DumbLogger()) q_in = Queue.Queue() q_out = Queue.Queue() work_request = ('access', 'a', 'c', 'o') q_in.put(work_request) q_in.put(None) log_processor.collate_worker(processor_args, q_in, q_out) item, ret = q_out.get() self.assertEquals(item, work_request) expected = { ('acct', '2010', '07', '09', '04'): { ('public', 'object', 'GET', '2xx'): 1, ('public', 'bytes_out'): 95, 'marker_query': 0, 'format_query': 1, 'delimiter_query': 0, 'path_query': 0, ('public', 'bytes_in'): 6, 'prefix_query': 0 } } self.assertEquals(ret, expected) finally: log_processor.LogProcessor._internal_proxy = None log_processor.LogProcessor.get_object_data = orig_get_object_data
def test_collate_worker(self): try: log_processor.LogProcessor._internal_proxy = DumbInternalProxy() def get_object_data(*a,**kw): return [self.access_test_line] orig_get_object_data = log_processor.LogProcessor.get_object_data log_processor.LogProcessor.get_object_data = get_object_data proxy_config = self.proxy_config.copy() proxy_config.update({ 'log-processor-access': { 'source_filename_format':'%Y%m%d%H*', 'class_path': 'swift.stats.access_processor.AccessLogProcessor' }}) processor_args = (proxy_config, DumbLogger()) q_in = Queue.Queue() q_out = Queue.Queue() work_request = ('access', 'a','c','o') q_in.put(work_request) q_in.put(None) log_processor.collate_worker(processor_args, q_in, q_out) item, ret = q_out.get() self.assertEquals(item, work_request) expected = {('acct', '2010', '07', '09', '04'): {('public', 'object', 'GET', '2xx'): 1, ('public', 'bytes_out'): 95, 'marker_query': 0, 'format_query': 1, 'delimiter_query': 0, 'path_query': 0, ('public', 'bytes_in'): 6, 'prefix_query': 0}} self.assertEquals(ret, expected) finally: log_processor.LogProcessor._internal_proxy = None log_processor.LogProcessor.get_object_data = orig_get_object_data