public void CommandResultExtensions_Apply_Cookie() { var cr = new CommandResult() { RequestState = new StoredRequestState( new EntityId("http://idp.example.com"), new Uri("http://sp.example.com/loggedout"), new Saml2Id("id123"), null), SetCookieName = "CookieName" }; var context = OwinTestHelpers.CreateOwinContext(); var dataProtector = new StubDataProtector(); cr.Apply(context, dataProtector); var setCookieHeader = context.Response.Headers["Set-Cookie"]; var protectedData = HttpRequestData.ConvertBinaryData( StubDataProtector.Protect(cr.GetSerializedRequestState())); var expected = $"CookieName={protectedData}; path=/; HttpOnly"; setCookieHeader.Should().Be(expected); }
public void CommandResultExtensions_Apply_Redirect() { string redirectUrl = "http://somewhere.else.example.com?Foo=Bar%20XYZ"; var cr = new CommandResult() { HttpStatusCode = HttpStatusCode.SeeOther, Location = new Uri(redirectUrl) }; var context = OwinTestHelpers.CreateOwinContext(); cr.Apply(context); context.Response.StatusCode.Should().Be(303); context.Response.Headers["Location"].Should().Be(redirectUrl); }
public void CommandResultExtensions_Apply_ClearCookie() { var cr = new CommandResult() { ClearCookieName = "CookieName" }; var context = OwinTestHelpers.CreateOwinContext(); var dataProtector = new StubDataProtector(); cr.Apply(context, dataProtector); var setCookieHeader = context.Response.Headers["Set-Cookie"]; var expected = "CookieName=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT"; setCookieHeader.Should().Be(expected); }
public void CommandResultExtensions_Apply_Cookie() { var cr = new CommandResult() { SetCookieData = "???>>>SomeData", SetCookieName = "CookieName" }; var context = OwinTestHelpers.CreateOwinContext(); var dataProtector = new StubDataProtector(); cr.Apply(context, dataProtector); var setCookieHeader = context.Response.Headers["Set-Cookie"]; var protectedData = StubDataProtector.Protect(cr.SetCookieData); var expected = $"CookieName={protectedData}; path=/; HttpOnly"; setCookieHeader.Should().Be(expected); }
public void CommandResultExtensions_Apply_Content() { var cr = new CommandResult() { Content = "Some Content!", ContentType = "application/whatever+text" }; var context = OwinTestHelpers.CreateOwinContext(); cr.Apply(context, null); context.Response.StatusCode.Should().Be(200); context.Response.ContentType.Should().Be("application/whatever+text"); context.Response.Body.Seek(0, SeekOrigin.Begin); using (var reader = new StreamReader(context.Response.Body)) { var bodyText = reader.ReadToEnd(); bodyText.Should().Be("Some Content!"); } }
public void CommandResultHttp_Apply_Content() { var response = Substitute.For<HttpResponseBase>(); var commandResult = new CommandResult { Content = "Some Content!", ContentType = "text" }; commandResult.Apply(response); response.Received().ContentType = "text"; response.Received().Write("Some Content!"); }