public async void Can_Skip_When_Path_Excluded() { var contextFake = new DefaultHttpContext(); contextFake.Request.Headers.Add("X-API-KEY", "WrongValue"); contextFake.Request.Path = new PathString("/api"); var middlewareFake = new ApiKeyMiddleware(next: async(innerHttpContext) => { await _nextMock(innerHttpContext); } , setupAction: c => { c.ValidApiKeys = new List <string> { "test", "test2" }; c.NameInHeader = "X-API-KEY"; c.PathSegmentsToExclude = new List <string> { "/api" }; } , logger: _loggerMock); await middlewareFake.Invoke(contextFake); _nextMock.Received(1); _loggerMock.Received(0).Log <Object>(Arg.Any <LogLevel>(), Arg.Is <EventId>(x => x.Id == LoggingEvents.Authentication), Arg.Any <Object>(), Arg.Any <Exception>(), Arg.Any <Func <Object, Exception, string> >()); }
public async void Can_Pass_When_Header_ApiKey_Correct() { var contextFake = new DefaultHttpContext(); contextFake.Request.Headers.Add("X-API-KEY", "test"); await _middleware.Invoke(contextFake); _nextMock.Received(1); _loggerMock.Received(0).Log <Object>(Arg.Any <LogLevel>(), Arg.Is <EventId>(x => x.Id == LoggingEvents.Authentication), Arg.Any <Object>(), Arg.Any <Exception>(), Arg.Any <Func <Object, Exception, string> >()); }