def construct_ctx(): """ Clean up context storage on each test run and begin a segment so that later subsegment can be attached. After each test run it cleans up context storage again. """ pre_run_modules = set(module for module in sys.modules.keys()) xray_recorder.configure(service='test', sampling=False, context=Context()) xray_recorder.clear_trace_entities() xray_recorder.begin_segment('name') yield xray_recorder.end_segment() xray_recorder.clear_trace_entities() # Reload wrapt.importer references to modules to start off clean reload(wrapt) reload(wrapt.importer) # Reload patcher references to already patched modules reload(patcher) # Cleanup the already imported module references in the system for module_name, module in sorted(sys.modules.items(), key=lambda m: len(m[0]), reverse=True): if module_name not in pre_run_modules and inspect.ismodule(module): reload(module) for module_name in sorted(sys.modules.keys(), key=lambda m: len(m), reverse=True): if module_name not in pre_run_modules: del sys.modules[module_name]
def recorder(loop): """ Initiate a recorder and clear it up once has been used. """ xray_recorder.configure(service='test', sampling=False, context=AsyncContext(loop=loop)) xray_recorder.clear_trace_entities() yield recorder xray_recorder.clear_trace_entities()
def session(): """Test Fixture to Create DataBase Tables and start a trace segment""" xray_recorder.configure(service='test', sampling=False, context=Context()) xray_recorder.clear_trace_entities() xray_recorder.begin_segment('SQLAlchemyTest') db.create_all() yield xray_recorder.end_segment() xray_recorder.clear_trace_entities()
def recorder(loop): """ Clean up before and after each test run """ xray_recorder.configure(service='test', sampling=False, context=AsyncContext(loop=loop)) xray_recorder.clear_trace_entities() yield xray_recorder xray_recorder.clear_trace_entities()
def construct_ctx(): """ Clean up context storage on each test run and begin a segment so that later subsegment can be attached. After each test run it cleans up context storage again. """ xray_recorder.clear_trace_entities() xray_recorder.begin_segment('name') yield xray_recorder.clear_trace_entities()
def construct_ctx(): """ Clean up context storage on each test run and begin a segment so that later subsegment can be attached. After each test run it cleans up context storage again. """ xray_recorder.configure(service='test', sampling=False, context=Context()) xray_recorder.clear_trace_entities() xray_recorder.begin_segment('name') yield xray_recorder.clear_trace_entities()
def connection(engine): conn = engine.connect() xray_recorder.configure(service='test', sampling=False, context=Context()) xray_recorder.clear_trace_entities() xray_recorder.begin_segment('SQLAlchemyTest') Session = XRaySessionMaker(bind=conn) Base.metadata.create_all(engine) session = Session() yield session xray_recorder.end_segment() xray_recorder.clear_trace_entities()
def session(): """Test Fixture to Create DataBase Tables and start a trace segment""" engine = create_engine('sqlite:///:memory:') xray_recorder.configure(service='test', sampling=False, context=Context()) xray_recorder.clear_trace_entities() xray_recorder.begin_segment('SQLAlchemyTest') Session = XRaySessionMaker(bind=engine) Base.metadata.create_all(engine) session = Session() yield session xray_recorder.end_segment() xray_recorder.clear_trace_entities()
def func_setup(request, user_class): xray_recorder.stream_sql = request.param xray_recorder.clear_trace_entities() xray_recorder.begin_segment('name') try: user_class.create_table() yield finally: xray_recorder.clear_trace_entities() try: user_class.delete_table() finally: xray_recorder.end_segment()
def engine(): """ Clean up context storage on each test run and begin a segment so that later subsegment can be attached. After each test run it cleans up context storage again. """ from aws_xray_sdk.ext.sqlalchemy_core import unpatch patch(('sqlalchemy_core',)) engine = create_engine('sqlite:///:memory:') xray_recorder.configure(service='test', sampling=False, context=Context()) xray_recorder.begin_segment('name') Base.metadata.create_all(engine) xray_recorder.clear_trace_entities() xray_recorder.begin_segment('name') yield engine xray_recorder.clear_trace_entities() unpatch()
def construct_ctx(): """ Clean up context storage on each test run and begin a segment so that later subsegment can be attached. After each test run it cleans up context storage again. """ from aws_xray_sdk.ext.httplib import unpatch, reset_ignored patch(('httplib',)) xray_recorder.configure(service='test', sampling=False, context=Context()) xray_recorder.clear_trace_entities() xray_recorder.begin_segment('name') yield xray_recorder.clear_trace_entities() unpatch() reset_ignored()
def test_pass_through_on_context_missing(): """ The built-in patcher or subsegment capture logic should not throw any error when a `None` subsegment created from `LOG_ERROR` missing context. """ xray_recorder.configure(context_missing='LOG_ERROR') xray_recorder.clear_trace_entities() ddb = session.create_client('dynamodb', region_name='us-west-2') response = { 'ResponseMetadata': { 'RequestId': REQUEST_ID, 'HTTPStatusCode': 200, } } with Stubber(ddb) as stubber: stubber.add_response('describe_table', response, {'TableName': 'mytable'}) result = ddb.describe_table(TableName='mytable') assert result is not None xray_recorder.configure(context_missing='RUNTIME_ERROR')
def setUp(self): django.setup() xray_recorder.clear_trace_entities()
def tearDown(self): xray_recorder.clear_trace_entities()
def setUp(self): django.setup() xray_recorder.configure(context=Context(), context_missing='LOG_ERROR') xray_recorder.clear_trace_entities()
def setUp(self): django.setup() xray_recorder.configure(context=Context(), context_missing='LOG_ERROR') xray_recorder.clear_trace_entities() global_sdk_config.set_sdk_enabled(True)