public async Task MessageReceived_MoreThanOneToken() { // Arrange var inner = Mock.Of <JwtBearerEvents>(); var events = this.CreateQueryStringJwtBearerEvents(inner); var context = new DefaultMessageReceivedContext(); var queryString = $"?{events.QueryStringParameterName}=foo&{events.QueryStringParameterName}=bar"; context.Request.QueryString = new QueryString(queryString); // Act await events.MessageReceived(context); // Assert Assert.Null(context.Token); Assert.NotNull(context.Result?.Failure); Assert.Equal( $"Only one '{events.QueryStringParameterName}' query string parameter " + $"can be defined. However, 2 were included in the request.", context.Result.Failure.Message ); Assert.Equal((int)HttpStatusCode.Unauthorized, context.Response.StatusCode); Mock.Get(inner).Verify(e => e.MessageReceived(context)); }
public async Task MessageReceived_WhiteSpaceToken(String value) { // Arrange var inner = Mock.Of <JwtBearerEvents>(); var events = this.CreateQueryStringJwtBearerEvents(inner); var context = new DefaultMessageReceivedContext(); var queryString = $"?{events.QueryStringParameterName}{value}"; context.Request.QueryString = new QueryString(queryString); // Act await events.MessageReceived(context); // Assert Assert.Null(context.Token); Assert.NotNull(context.Result); Assert.Equal( $"The '{events.QueryStringParameterName}' query string parameter was " + $"defined, but a value to represent the token was not included.", context.Result.Failure?.Message ); Assert.Equal((int)HttpStatusCode.Unauthorized, context.Response.StatusCode); Mock.Get(inner).Verify(e => e.MessageReceived(context)); }
public async Task MessageReceived_Wraps() { // Arrange var inner = Mock.Of <JwtBearerEvents>(); var wrapper = this.CreateJwtBearerEvents(inner); var context = new DefaultMessageReceivedContext(); // Act await wrapper.MessageReceived(context); // Assert Mock.Get(inner).Verify(events => events.MessageReceived(context)); }
public async Task MessageReceived_NoQueryStringParameterName(String queryString) { // Arrange var inner = Mock.Of <JwtBearerEvents>(); var events = this.CreateJwtBearerEvents(inner); var context = new DefaultMessageReceivedContext(); context.Request.QueryString = new QueryString(queryString); // Act await events.MessageReceived(context); // Assert Assert.Null(context.Token); Assert.Null(context.Result); Mock.Get(inner).Verify(e => e.MessageReceived(context)); }
public async Task MessageReceived_ValidCustomToken(string customQueryStringParameterName) { // Arrange var inner = Mock.Of <JwtBearerEvents>(); var events = new QueryStringJwtBearerEventsWrapper(inner, customQueryStringParameterName); var context = new DefaultMessageReceivedContext(); const string token = "foo"; var queryString = $"?{customQueryStringParameterName}={token}"; context.Request.QueryString = new QueryString(queryString); // Act await events.MessageReceived(context); // Assert Assert.Equal(token, context.Token); Assert.Null(context.Result); Mock.Get(inner).Verify(e => e.MessageReceived(context)); }