def test_get_debug(self): client = get_tempstoreclient() opbeat = Opbeat(self.app, client=client) self.app.config['DEBUG'] = True self.app.config['TESTING'] = False self.assertRaises(ValueError, self.app.test_client().get, '/an-error/?foo=bar') self.assertEquals(len(client.events), 0)
def test_post(self): client = get_tempstoreclient() opbeat = Opbeat(self.app, client=client) response = self.client.post('/an-error/?biz=baz', data={'foo': 'bar'}) self.assertEquals(response.status_code, 500) self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertTrue('http' in event) http = event['http'] self.assertEquals(http['url'], 'http://localhost/an-error/') self.assertEquals(http['query_string'], 'biz=baz') self.assertEquals(http['method'], 'POST') self.assertEquals(http['data'], {'foo': 'bar'}) self.assertTrue('headers' in http) headers = http['headers'] self.assertTrue('Content-Length' in headers, headers.keys()) self.assertEquals(headers['Content-Length'], '7') self.assertTrue('Content-Type' in headers, headers.keys()) self.assertEquals(headers['Content-Type'], 'application/x-www-form-urlencoded') self.assertTrue('Host' in headers, headers.keys()) self.assertEquals(headers['Host'], 'localhost') env = http['env'] self.assertTrue('SERVER_NAME' in env, env.keys()) self.assertEquals(env['SERVER_NAME'], 'localhost') self.assertTrue('SERVER_PORT' in env, env.keys()) self.assertEquals(env['SERVER_PORT'], '80')
def setUp(self): self.client = get_tempstoreclient( include_paths=['tests', 'elasticapm']) self.handler = LoggingHandler(self.client) self.logger = logging.getLogger(__name__) self.logger.handlers = [] self.logger.addHandler(self.handler)
def test_get(self): client = get_tempstoreclient() opbeat = Opbeat(self.app, client=client) response = self.client.get('/an-error/?foo=bar') self.assertEquals(response.status_code, 500) self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertTrue('http' in event) http = event['http'] self.assertEquals(http['url'], 'http://localhost/an-error/') self.assertEquals(http['query_string'], 'foo=bar') self.assertEquals(http['method'], 'GET') self.assertEquals(http['data'], {}) self.assertTrue('headers' in http) headers = http['headers'] self.assertTrue('Content-Length' in headers, headers.keys()) self.assertEquals(headers['Content-Length'], '0') self.assertTrue('Content-Type' in headers, headers.keys()) self.assertEquals(headers['Content-Type'], '') self.assertTrue('Host' in headers, headers.keys()) self.assertEquals(headers['Host'], 'localhost') env = http['env'] self.assertTrue('SERVER_NAME' in env, env.keys()) self.assertEquals(env['SERVER_NAME'], 'localhost') self.assertTrue('SERVER_PORT' in env, env.keys()) self.assertEquals(env['SERVER_PORT'], '80')
def setUp(self): self._socket_dir = tempfile.mkdtemp(prefix='opbeatzerorpcunittest') self._server_endpoint = 'ipc://{0}'.format( os.path.join(self._socket_dir, 'random_zeroserver')) self._opbeat = get_tempstoreclient() zerorpc.Context.get_instance().register_middleware( OpbeatMiddleware(client=self._opbeat))
def test_call_end_twice(self, should_collect, mock_send): client = get_tempstoreclient() should_collect.return_value = False client.begin_transaction("celery") client.end_transaction('test-transaction', 200) client.end_transaction('test-transaction', 200)
def setUp(self): self.client = get_tempstoreclient() opbeat.instrumentation.control.instrument() connection_params = {'host': os.environ.get('MONGODB_HOST', 'localhost'), 'port': int(os.environ.get('MONGODB_PORT', 27017))} if pymongo.version_tuple < (3, 0): connection_params['safe'] = True self.mongo = pymongo.MongoClient(**connection_params) self.db = self.mongo.opbeat_test
def setUp(self): self._socket_dir = tempfile.mkdtemp(prefix='opbeatzerorpcunittest') self._server_endpoint = 'ipc://{0}'.format(os.path.join( self._socket_dir, 'random_zeroserver' )) self._opbeat = get_tempstoreclient() zerorpc.Context.get_instance().register_middleware(OpbeatMiddleware( client=self._opbeat ))
def setUp(self): self.client = get_tempstoreclient() elasticapm.instrumentation.control.instrument() connection_params = { 'host': os.environ.get('MONGODB_HOST', 'localhost'), 'port': int(os.environ.get('MONGODB_PORT', 27017)) } if pymongo.version_tuple < (3, 0): connection_params['safe'] = True self.mongo = pymongo.MongoClient(**connection_params) self.db = self.mongo.elasticapm_test
def test_error_handler(self): client = get_tempstoreclient() opbeat = Opbeat(self.app, client=client) response = self.client.get('/an-error/') self.assertEquals(response.status_code, 500) self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertTrue('exception' in event) exc = event['exception'] self.assertEquals(exc['type'], 'ValueError') self.assertEquals(exc['value'], 'hello world') self.assertEquals(event['level'], "error") self.assertEquals(event['message'], 'ValueError: hello world') self.assertEquals(event['culprit'], 'tests.contrib.flask.flask_tests.an_error')
def setUp(self): self.client = get_tempstoreclient() filedir = os.path.dirname(__file__) loader = FileSystemLoader(filedir) self.env = Environment(loader=loader) opbeat.instrumentation.control.instrument()
def setUp(self): self.client = get_tempstoreclient() self.port = 59990 self.start_test_server() opbeat.instrumentation.control.instrument()
def test_client_kwarg(self): client = get_tempstoreclient(include_paths=['tests']) handler = OpbeatHandler(client=client) self.assertEquals(handler.client, client)
def test_logger(self): client = get_tempstoreclient(include_paths=['tests', 'opbeat']) handler = OpbeatHandler(client) logger = self.logger with handler.applicationbound(): logger.error('This is a test error') self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertEquals(event['logger'], __name__) self.assertEquals(event['level'], "error") self.assertEquals(event['message'], 'This is a test error') self.assertFalse('stacktrace' in event) self.assertFalse('exception' in event) self.assertTrue('param_message' in event) msg = event['param_message'] self.assertEquals(msg['message'], 'This is a test error') self.assertEquals(msg['params'], ()) logger.warning('This is a test warning') self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertEquals(event['logger'], __name__) self.assertEquals(event['level'], 'warning') self.assertEquals(event['message'], 'This is a test warning') self.assertFalse('stacktrace' in event) self.assertFalse('exception' in event) self.assertTrue('param_message' in event) msg = event['param_message'] self.assertEquals(msg['message'], 'This is a test warning') self.assertEquals(msg['params'], ()) logger.info('This is a test info with a url', extra=dict( url='http://example.com', )) self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertEquals(event['extra']['url'], 'http://example.com') self.assertFalse('stacktrace' in event) self.assertFalse('exception' in event) self.assertTrue('param_message' in event) msg = event['param_message'] self.assertEquals(msg['message'], 'This is a test info with a url') self.assertEquals(msg['params'], ()) try: raise ValueError('This is a test ValueError') except ValueError: logger.info('This is a test info with an exception', exc_info=True) self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertEquals(event['message'], 'This is a test info with an exception') self.assertTrue('stacktrace' in event) self.assertTrue('exception' in event) exc = event['exception'] self.assertEquals(exc['type'], 'ValueError') self.assertEquals(exc['value'], 'This is a test ValueError') self.assertTrue('param_message' in event) msg = event['param_message'] self.assertEquals(msg['message'], 'This is a test info with an exception') self.assertEquals(msg['params'], ()) # test args logger.info('This is a test of %s', 'args') self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertEquals(event['message'], 'This is a test of args') self.assertFalse('stacktrace' in event) self.assertFalse('exception' in event) self.assertTrue('param_message' in event) msg = event['param_message'] self.assertEquals(msg['message'], 'This is a test of %s') self.assertEquals(msg['params'], ('args',))
def setUp(self): self.client = get_tempstoreclient(include_paths=['tests', 'opbeat']) self.handler = OpbeatHandler(self.client) self.logger = logging.getLogger(__name__) self.logger.handlers = [] self.logger.addHandler(self.handler)
def setUp(self): self.client = get_tempstoreclient() opbeat.instrumentation.control.instrument()
def test_logger(self): client = get_tempstoreclient(include_paths=['tests', 'opbeat']) handler = OpbeatHandler(client) logger = self.logger with handler.applicationbound(): logger.error('This is a test error') self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertEquals(event['logger'], __name__) self.assertEquals(event['level'], "error") self.assertEquals(event['message'], 'This is a test error') self.assertFalse('stacktrace' in event) self.assertFalse('exception' in event) self.assertTrue('param_message' in event) msg = event['param_message'] self.assertEquals(msg['message'], 'This is a test error') self.assertEquals(msg['params'], ()) logger.warning('This is a test warning') self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertEquals(event['logger'], __name__) self.assertEquals(event['level'], 'warning') self.assertEquals(event['message'], 'This is a test warning') self.assertFalse('stacktrace' in event) self.assertFalse('exception' in event) self.assertTrue('param_message' in event) msg = event['param_message'] self.assertEquals(msg['message'], 'This is a test warning') self.assertEquals(msg['params'], ()) logger.info('This is a test info with a url', extra=dict(url='http://example.com', )) self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertEquals(event['extra']['url'], 'http://example.com') self.assertFalse('stacktrace' in event) self.assertFalse('exception' in event) self.assertTrue('param_message' in event) msg = event['param_message'] self.assertEquals(msg['message'], 'This is a test info with a url') self.assertEquals(msg['params'], ()) try: raise ValueError('This is a test ValueError') except ValueError: logger.info('This is a test info with an exception', exc_info=True) self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertEquals(event['message'], 'This is a test info with an exception') self.assertTrue('stacktrace' in event) self.assertTrue('exception' in event) exc = event['exception'] self.assertEquals(exc['type'], 'ValueError') self.assertEquals(exc['value'], 'This is a test ValueError') self.assertTrue('param_message' in event) msg = event['param_message'] self.assertEquals(msg['message'], 'This is a test info with an exception') self.assertEquals(msg['params'], ()) # test args logger.info('This is a test of %s', 'args') self.assertEquals(len(client.events), 1) event = client.events.pop(0) self.assertEquals(event['message'], 'This is a test of args') self.assertFalse('stacktrace' in event) self.assertFalse('exception' in event) self.assertTrue('param_message' in event) msg = event['param_message'] self.assertEquals(msg['message'], 'This is a test of %s') self.assertEquals(msg['params'], ('args', ))
def setUp(self): self.app = create_app() self.client = self.app.test_client() self.opbeat_client = get_tempstoreclient() self.opbeat = Opbeat(self.app, client=self.opbeat_client)
def setUp(self): self.client = get_tempstoreclient() elasticapm.instrumentation.control.instrument()
def setUp(self): self.client = get_tempstoreclient()
def test_client(): return get_tempstoreclient()
def setUp(self): self.client = get_tempstoreclient() self.port = random.randint(50000, 60000) self.start_test_server() opbeat.instrumentation.control.instrument()
def setUp(self): self.logger = logbook.Logger(__name__) self.client = get_tempstoreclient( include_paths=['tests', 'elasticapm']) self.handler = LogbookHandler(self.client)
def test_client_arg(self): client = get_tempstoreclient(include_paths=['tests']) handler = LoggingHandler(client) self.assertEquals(handler.client, client)