public void FakeApiInfo() { var context = new ApimContext(api: new Api() { Id = "foo", Name = "App" }); Assert.Equal("foo",context.Api.Id); Assert.Equal("App", context.Api.Name); }
public void RequestPolicyWithBody() { // Assert var requestMessage = new HttpRequestMessage() { RequestUri = new Uri("http://example.org/foo"), Content = new StringContent("Hello World!") }; var variables = new Dictionary<string, object>() { { "message-id","xxxyyy"} }; var context = new ApimContext(requestMessage: requestMessage, variables: variables); // Act string policyResult = SendRequestToEventHub(context); //Assert Assert.Equal("request:xxxyyy\n" + "GET /foo HTTP/1.1\r\n" + "Host: example.org\r\n" + "Content-Type: text/plain; charset=utf-8\r\n" + "Content-Length: 12\r\n" + "\r\n" + "Hello World!", policyResult); }
public void MessageTextStartsWithMethodAndUrl() { var context = new ApimContext(); var message = CreateSlackMessage(context); var jobject = JObject.Parse(message); Assert.StartsWith("GET /", (string)jobject.Property("text")); }
public void MessageIncludesStaticUserName() { var context = new ApimContext(product: new Product() { Name = "foo" }); var message = CreateSlackMessage(context); var jobject = JObject.Parse(message); Assert.Equal("APIM Alert for foo", (string)jobject.Property("username")); }
public void AccessSendRequestBodySuccess() { var request = new System.Net.Http.HttpRequestMessage() { RequestUri = new Uri("http://example.org/") }; var token = new JObject(new JProperty("active", true)); var context = new ApimContext(requestMessage: request); context.Variables["tokenstate"] = new Response(new HttpResponseMessage() { Content = new StringContent(token.ToString()) } ); Assert.False((bool)((IResponse)context.Variables["tokenstate"]).Body.As<JObject>()["active"] == false); }
public string CreateSlackMessage(ApimContext context) { return new JObject( new JProperty("username", $"APIM Alert for {context.Product.Name}"), new JProperty("icon_emoji", ":ghost:"), new JProperty("text", String.Format("{0} {1}\nHost: {2}\n{3} {4}\n User: {5}", context.Request.Method, context.Request.Url.Path + context.Request.Url.QueryString, context.Request.Url.Host, context.Response.StatusCode, context.Response.StatusReason, context.User.Email )) ).ToString(); }
public void RequestPolicyWithoutBody() { // Assert var requestMessage = new HttpRequestMessage() { RequestUri = new Uri("http://example.org/foo") }; var variables = new Dictionary<string, object>() { { "message-id","xxxyyy"} }; var context = new ApimContext(requestMessage: requestMessage, variables: variables ); // Act string policyResult = SendRequestToEventHub(context); //Assert Assert.Equal("request:xxxyyy\n" + "GET /foo HTTP/1.1\r\n" + "Host: example.org\r\n" + "\r\n", policyResult); }
public void ResponsePolicyWithBody() { // Assert var responseMessage = new HttpResponseMessage() { Content = new StringContent("Hello World!") }; var variables = new Dictionary<string, object>() { { "message-id","xxxyyy"} }; var context = new ApimContext(responseMessage: responseMessage, variables: variables); // Act string policyResult = SendResponseToEventHub(context); //Assert Assert.Equal("response:xxxyyy\n" + "HTTP/1.1 200 OK\r\n" + "Content-Type: text/plain; charset=utf-8\r\n" + "Content-Length: 12\r\n" + "\r\n" + "Hello World!", policyResult); }
public void ResponsePolicyWithoutBody() { // Assert var responseMessage = new HttpResponseMessage() { }; var variables = new Dictionary<string, object>() { { "message-id","xxxyyy"} }; var context = new ApimContext(responseMessage: responseMessage, variables: variables); // Act string policyResult = SendResponseToEventHub(context); //Assert Assert.Equal("response:xxxyyy\n" + "HTTP/1.1 200 OK\r\n" + "" + "\r\n", policyResult); }
public void FakeProductInfo() { var context = new ApimContext(product: new Product() { Id = "foo", Name = "App", Apis = new List<IApi> { new Api()}, SubscriptionRequired = true }); Assert.Equal("foo", context.Product.Id); Assert.Equal("App", context.Product.Name); Assert.Equal(1, context.Product.Apis.Count()); }
public void IfHeaderEquals() { var request = new System.Net.Http.HttpRequestMessage() { RequestUri = new Uri("http://example.org/") }; request.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/xml")); var context = new ApimContext(requestMessage: request); Assert.True(context.Request.Headers.GetValueOrDefault("Accept","").Contains("application/xml")); }
public void GetAuthParameter() { var request = new System.Net.Http.HttpRequestMessage() { RequestUri = new Uri("http://example.org/") }; var token = "xyzpq"; request.Headers.Authorization = new AuthenticationHeaderValue("bearer",token); var context = new ApimContext(requestMessage: request); Assert.Equal(token,context.Request.Headers.GetValueOrDefault("Authorization","scheme param").Split(' ').Last()); }