public void LongText() { Assert.ThrowsExceptionAsync <InvalidOperationException>(async() => { DynamicIconOptions options = new DynamicIconOptions(); DynamicIconMiddleware middleware = new DynamicIconMiddleware(next: (innerHttpContext) => { innerHttpContext.Response.StatusCode = 204; return(Task.CompletedTask); }, options); HttpContext context = CreateContext("https://localhost/images/dynamicicon?t=TooLong"); await middleware.InvokeAsync(context); }); }
public async Task DifferentRoute() { DynamicIconOptions options = new DynamicIconOptions(); DynamicIconMiddleware middleware = new DynamicIconMiddleware(next: (innerHttpContext) => { innerHttpContext.Response.StatusCode = 204; return(Task.CompletedTask); }, options); HttpContext context = CreateContext("https://localhost/alternate/route"); await middleware.InvokeAsync(context); Assert.AreEqual(204, context.Response.StatusCode); context.Response.Body.Dispose(); }
public async Task DefaultOptions() { DynamicIconOptions options = new DynamicIconOptions(); options.DefaultSize = 128; options.FontName = DynamicIconMiddleware.InstalledFonts.First(); DynamicIconMiddleware middleware = new DynamicIconMiddleware(next: (innerHttpContext) => { innerHttpContext.Response.StatusCode = 204; return(Task.CompletedTask); }, options); HttpContext context = CreateContext("https://localhost/images/dynamicicon?t=DI"); await middleware.InvokeAsync(context); Assert.AreEqual(200, context.Response.StatusCode); Assert.AreEqual("image/png", context.Response.ContentType); Assert.IsTrue(IsValidImage(context.Response.Body, options.DefaultSize)); context.Response.Body.Dispose(); }