예제 #1
0
        public void ParseRequest_KinesisFirehoseEvent_InvocationSourceNotNull_Tags()
        {
            var tags = IOParser.ParseRequest(_baseKinesisFirehoseEvent);

            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.True);
            Assert.That(tags["aws.lambda.eventSource.arn"], Is.EqualTo("test-arn"));
        }
예제 #2
0
        public void ParseRequest_KinesisFirehoseEvent_InvocationSourceNull_Tags()
        {
            _baseKinesisFirehoseEvent.DeliveryStreamArn = null;
            var tags = IOParser.ParseRequest(_baseKinesisFirehoseEvent);

            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.False);
        }
예제 #3
0
        public void ParseRequest_ApplicationLoadBalancerRequest_WithMultiValueHeaders()
        {
            _baseApplicationLoadBalancerRequest.MultiValueHeaders = _multiValueHeaders;
            var tags = IOParser.ParseRequest(_baseApplicationLoadBalancerRequest);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);
            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.True);
            Assert.That(tags.Keys.Contains("headers.x-forwarded-proto"), Is.True);
            Assert.That(tags.Keys.Contains("headers.x-forwarded-port"), Is.True);
            Assert.That(tags.Keys.Contains("headers.content-type"), Is.True);
            Assert.That(tags.Keys.Contains("headers.content-length"), Is.True);
            Assert.That(tags.Keys.Contains("newrelic"), Is.True);

            Assert.That(tags["method"], Is.EqualTo("POST"));
            Assert.That(tags["uri"], Is.EqualTo("/test/path"));
            Assert.That(tags["aws.lambda.eventSource.arn"], Is.EqualTo("test-arn"));
            Assert.That(tags["headers.x-forwarded-proto"], Is.EqualTo("proto"));
            Assert.That(tags["headers.x-forwarded-port"], Is.EqualTo("1234,4321"));
            Assert.That(tags["headers.content-type"], Is.EqualTo("application/json"));
            Assert.That(tags["headers.content-length"], Is.EqualTo("1000"));
            Assert.That(tags["newrelic"], Is.EqualTo("dt-payload"));

            Assert.That(tags.Keys.Contains("headers.access-control-allow-origin"), Is.False);
            Assert.That(tags.Keys.Contains("headers.custom-header"), Is.False);
        }
예제 #4
0
        public void ParseRequest_DynamoDBEvent_InvocationSourceNull_Tags()
        {
            _baseDynamoDBEvent.Records = null;
            var tags = IOParser.ParseRequest(_baseDynamoDBEvent);

            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.False);
        }
예제 #5
0
        public void ParseRequest_APIGatewayProxyRequest_WithoutHeaders()
        {
            var tags = IOParser.ParseRequest(_baseAPIGatewayProxyRequest);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);

            Assert.That(tags["method"], Is.EqualTo("POST"));
            Assert.That(tags["uri"], Is.EqualTo("/test/path"));
        }
예제 #6
0
        public void ParseRequest_ApplicationLoadBalancerRequest_WithoutHeaders()
        {
            var tags = IOParser.ParseRequest(_baseApplicationLoadBalancerRequest);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);
            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.True);
            Assert.That(tags["method"], Is.EqualTo("POST"));
            Assert.That(tags["uri"], Is.EqualTo("/test/path"));
            Assert.That(tags["aws.lambda.eventSource.arn"], Is.EqualTo("test-arn"));
        }
예제 #7
0
        public void ParseRequest_ApplicationLoadBalancerRequest_InvocationSourceNull()
        {
            _baseApplicationLoadBalancerRequest.RequestContext = null;
            var tags = IOParser.ParseRequest(_baseApplicationLoadBalancerRequest);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);
            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.False);
            Assert.That(tags["method"], Is.EqualTo("POST"));
            Assert.That(tags["uri"], Is.EqualTo("/test/path"));
        }
예제 #8
0
        public HttpResponseMessage Post(HttpRequestMessage request)
        {
            try
            {
                WechatRequest req = parser.ParseRequest(request);

                string answer = this.Answer(req);

                string str_encrypt = parser.GenerateEncryptResponse(req, answer);

                return(new HttpResponseMessage(System.Net.HttpStatusCode.OK)
                {
                    Content = new StringContent(str_encrypt, System.Text.Encoding.UTF8, "text/xml")
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #9
0
        public void ParseRequest_APIGatewayProxyRequest_WithSingleValueHeaders()
        {
            _baseAPIGatewayProxyRequest.Headers = _singleValueHeaders;
            var tags = IOParser.ParseRequest(_baseAPIGatewayProxyRequest);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);
            Assert.That(tags.Keys.Contains("headers.x-forwarded-proto"), Is.True);
            Assert.That(tags.Keys.Contains("headers.x-forwarded-port"), Is.True);
            Assert.That(tags.Keys.Contains("headers.content-type"), Is.True);
            Assert.That(tags.Keys.Contains("headers.content-length"), Is.True);
            Assert.That(tags.Keys.Contains("newrelic"), Is.True);

            Assert.That(tags["method"], Is.EqualTo("POST"));
            Assert.That(tags["uri"], Is.EqualTo("/test/path"));
            Assert.That(tags["headers.x-forwarded-proto"], Is.EqualTo("proto"));
            Assert.That(tags["headers.x-forwarded-port"], Is.EqualTo("1234"));
            Assert.That(tags["headers.content-type"], Is.EqualTo("application/json"));
            Assert.That(tags["headers.content-length"], Is.EqualTo("1000"));
            Assert.That(tags["newrelic"], Is.EqualTo("dt-payload"));

            Assert.That(tags.Keys.Contains("headers.access-control-allow-origin"), Is.False);
            Assert.That(tags.Keys.Contains("headers.custom-header"), Is.False);
        }