Ejemplo n.º 1
0
        public void LambdaWrapper_ForApplicationLoadBalancerWithInput()
        {
            var albRequestContext = new ApplicationLoadBalancerRequest.ALBRequestContext
            {
                Elb = new ApplicationLoadBalancerRequest.ElbInfo()
            };

            albRequestContext.Elb.TargetGroupArn = TestArn;
            var request = new ApplicationLoadBalancerRequest
            {
                HttpMethod     = "POST",
                Path           = "/test/path",
                Headers        = _singleValueHeaders,
                RequestContext = albRequestContext
            };

            var context = new TestLambdaContext
            {
                AwsRequestId       = "testId",
                InvokedFunctionArn = TestArn
            };

            var wrappedHandler = new TracingRequestHandler().LambdaWrapper(ApplicationLoadBalancerFunctionHandlerWithInput, request, context);
            var span           = _tracer.FinishedSpans()[0];

            Assert.That((string)span.Tags["aws.requestId"], Is.EqualTo("testId"));
            Assert.That((string)span.Tags["aws.arn"], Is.EqualTo(TestArn));
            Assert.That((string)span.Tags["response.status"], Is.EqualTo("200"));
            Assert.That(span.Tags.ContainsKey("newrelic"), Is.False);
        }
Ejemplo n.º 2
0
        public void DetectColdStart_FromWarmStart()
        {
            using (var scope = _tracer.BuildSpan("tester").StartActive())
            {
                var isColdStart = 0;
                TracingRequestHandler.DetectColdStart(scope, ref isColdStart);
                var mockSpan = (MockSpan)scope.Span;

                Assert.That(isColdStart, Is.EqualTo(0));
                Assert.That(mockSpan.Tags.ContainsKey("aws.lambda.coldStart"), Is.EqualTo(false));
            }
        }
Ejemplo n.º 3
0
        public void DetectColdStart_FromColdStart()
        {
            using (var scope = _tracer.BuildSpan("tester").StartActive())
            {
                var isColdStart = 1;
                TracingRequestHandler.DetectColdStart(scope, ref isColdStart);
                var mockSpan = (MockSpan)scope.Span;

                Assert.That(isColdStart, Is.EqualTo(0));
                Assert.That((bool)mockSpan.Tags["aws.lambda.coldStart"], Is.EqualTo(true));
            }
        }
Ejemplo n.º 4
0
        public void LambdaWrapper_ForAPIGatewayProxyWithoutInput()
        {
            var context = new TestLambdaContext
            {
                AwsRequestId       = "testId",
                InvokedFunctionArn = TestArn
            };

            var wrappedHandler = new TracingRequestHandler().LambdaWrapper(APIGatewayProxyFunctionHandlerWithoutInput, context);
            var span           = _tracer.FinishedSpans()[0];

            Assert.That((string)span.Tags["aws.requestId"], Is.EqualTo("testId"));
            Assert.That((string)span.Tags["aws.arn"], Is.EqualTo(TestArn));
            Assert.That((string)span.Tags["response.status"], Is.EqualTo("200"));
        }
Ejemplo n.º 5
0
        public void LambdaWrapper_ForAPIGatewayProxyWithInput()
        {
            var request = new APIGatewayProxyRequest
            {
                HttpMethod = "POST",
                Path       = "/test/path",
                Headers    = _singleValueHeaders
            };

            var context = new TestLambdaContext
            {
                AwsRequestId       = "testId",
                InvokedFunctionArn = TestArn
            };

            var wrappedHandler = new TracingRequestHandler().LambdaWrapper(APIGatewayProxyFunctionHandlerWithInput, request, context);
            var span           = _tracer.FinishedSpans()[0];

            Assert.That((string)span.Tags["aws.requestId"], Is.EqualTo("testId"));
            Assert.That((string)span.Tags["aws.arn"], Is.EqualTo(TestArn));
            Assert.That((string)span.Tags["response.status"], Is.EqualTo("200"));
            Assert.That(span.Tags.ContainsKey("newrelic"), Is.False);
        }
Ejemplo n.º 6
0
 public void AddTagsToActiveSpan_AllPopulated()
 {
     TracingRequestHandler.AddTagsToActiveSpan(_span, "prefix", _tags);
     Assert.That((string)_span.GetTag("prefix.testTag"), Is.EqualTo("1234"));
 }
Ejemplo n.º 7
0
 public void AddTagsToActiveSpan_NullDictionary()
 {
     TracingRequestHandler.AddTagsToActiveSpan(_span, "prefix", null);
     Assert.That(_span.Tags.Count, Is.EqualTo(0));
 }
Ejemplo n.º 8
0
 public void AddTagsToActiveSpan_EmptyDictionary()
 {
     TracingRequestHandler.AddTagsToActiveSpan(_span, "prefix", new Dictionary <string, string>());
     Assert.That(_span.Tags.Count, Is.EqualTo(0));
 }
Ejemplo n.º 9
0
 public void AddTagsToActiveSpan_EmptyPrefix()
 {
     TracingRequestHandler.AddTagsToActiveSpan(_span, string.Empty, _tags);
     Assert.That(_span.Tags.Count, Is.EqualTo(0));
 }
Ejemplo n.º 10
0
 public void AddTagsToActiveSpan_NullPrefix()
 {
     TracingRequestHandler.AddTagsToActiveSpan(_span, null, _tags);
     Assert.That(_span.Tags.Count, Is.EqualTo(0));
 }