def test_can_display_logs(): retriever = mock.Mock(spec=logs.LogRetriever) retriever.retrieve_logs.return_value = [ { 'timestamp': 'NOW', 'logShortId': 'shortId', 'message': 'One' }, { 'timestamp': 'NOW', 'logShortId': 'shortId', 'message': 'Two' }, { 'timestamp': 'NOW', 'logShortId': 'shortId', 'message': 'Three' }, ] stream = StringIO() logs.display_logs(retriever, max_entries=None, include_lambda_messages=True, stream=stream) assert stream.getvalue().splitlines() == [ 'NOW shortId One', 'NOW shortId Two', 'NOW shortId Three', ]
def test_can_display_logs(): retriever = mock.Mock(spec=logs.LogRetriever) retriever.retrieve_logs.return_value = [ { 'timestamp': 'NOW', 'logShortId': 'shortId', 'message': 'One' }, { 'timestamp': 'NOW', 'logShortId': 'shortId', 'message': 'Two' }, { 'timestamp': 'NOW', 'logShortId': 'shortId', 'message': 'Three' }, ] stream = StringIO() logs.display_logs(retriever, retrieve_options=NO_OPTIONS, stream=stream) assert stream.getvalue().splitlines() == [ 'NOW shortId One', 'NOW shortId Two', 'NOW shortId Three', ]
def logs(ctx, num_entries, include_lambda_messages, stage): # type: (click.Context, int, bool, str) -> None factory = ctx.obj['factory'] # type: CLIFactory config = factory.create_config_obj(stage, False) deployed = config.deployed_resources(stage) if deployed is not None: session = factory.create_botocore_session() retriever = factory.create_log_retriever( session, deployed.api_handler_arn) display_logs(retriever, num_entries, include_lambda_messages, sys.stdout)
def logs(ctx, num_entries, include_lambda_messages, stage, profile): # type: (click.Context, int, bool, str, str) -> None factory = ctx.obj['factory'] # type: CLIFactory factory.profile = profile config = factory.create_config_obj(stage, False) deployed = config.deployed_resources(stage) if deployed is not None and 'api_handler' in deployed.resource_names(): lambda_arn = deployed.resource_values('api_handler')['lambda_arn'] session = factory.create_botocore_session() retriever = factory.create_log_retriever(session, lambda_arn) display_logs(retriever, num_entries, include_lambda_messages, sys.stdout)
def logs(ctx, num_entries, include_lambda_messages, stage, profile): # type: (click.Context, int, bool, str, str) -> None factory = ctx.obj['factory'] # type: CLIFactory factory.profile = profile config = factory.create_config_obj(stage, False) deployed = config.deployed_resources(stage) if deployed is not None and 'api_handler' in deployed.resource_names(): lambda_arn = deployed.resource_values('api_handler')['lambda_arn'] session = factory.create_botocore_session() retriever = factory.create_log_retriever( session, lambda_arn) display_logs(retriever, num_entries, include_lambda_messages, sys.stdout)
def test_can_display_logs(): retriever = mock.Mock(sepc=logs.LogRetriever) retriever.retrieve_logs.return_value = [ {'timestamp': 'NOW', 'logShortId': 'shortId', 'message': 'One'}, {'timestamp': 'NOW', 'logShortId': 'shortId', 'message': 'Two'}, {'timestamp': 'NOW', 'logShortId': 'shortId', 'message': 'Three'}, ] stream = StringIO() logs.display_logs(retriever, max_entries=None, include_lambda_messages=True, stream=stream) assert stream.getvalue().splitlines() == [ 'NOW shortId One', 'NOW shortId Two', 'NOW shortId Three', ]
def logs(ctx, num_entries, include_lambda_messages, stage, name, since, follow, profile): # type: (click.Context, int, bool, str, str, str, bool, str) -> None factory = ctx.obj['factory'] # type: CLIFactory factory.profile = profile config = factory.create_config_obj(stage, False) deployed = config.deployed_resources(stage) if name in deployed.resource_names(): lambda_arn = deployed.resource_values(name)['lambda_arn'] session = factory.create_botocore_session() retriever = factory.create_log_retriever(session, lambda_arn, follow) options = LogRetrieveOptions.create( max_entries=num_entries, since=since, include_lambda_messages=include_lambda_messages, ) display_logs(retriever, sys.stdout, options)