public async Task Ensure_the_response_body_has_been_rewrap(string twoLetterISOLanguageName) { // Arrange _context.Request.Headers["Referer"] = $"http://example.com/{twoLetterISOLanguageName}"; var root = JsonSerializer.Serialize(new BlazorNegociateBody { negotiateVersion = 1, connectionToken = "0000_XXXX_0000" }); using var stream = new MemoryStream(Encoding.ASCII.GetBytes(root)) { Position = 0 }; RequestDelegate next = (HttpContext hc) => { hc.Response.ContentType = "application/json"; hc.Response.Body = stream; return(Task.CompletedTask); }; var sutMiddleware = new UrlLocalizationAwareWebSocketsMiddleware(next); // Act await sutMiddleware.InvokeAsync(_context); // Assert using StreamReader reader = new StreamReader(stream); string text = reader.ReadToEnd(); Assert.Equal(root, text); }
public async Task When_cluture_is_set_with_trailing_slash(string twoLetterISOLanguageName) { // Arrange _context.Request.Headers["Referer"] = $"http://example.com/{twoLetterISOLanguageName}/"; RequestDelegate next = (HttpContext hc) => { Asserter(); return(Task.CompletedTask); }; var sutMiddleware = new UrlLocalizationAwareWebSocketsMiddleware(next); // Act await sutMiddleware.InvokeAsync(_context); // Assert void Asserter() { Assert.Equal(twoLetterISOLanguageName, CultureInfo.CurrentCulture.TwoLetterISOLanguageName); } }
public async Task When_cluture_is_set_without_trailing_slash(string twoLetterISOLanguageName) { // Arrange _context.Request.Headers["Referer"] = $"http://example.com/{twoLetterISOLanguageName}"; var root = JsonSerializer.Serialize(new BlazorNegociateBody { negotiateVersion = 1, connectionToken = "0000_XXXX_0000" }); using var stream = new MemoryStream(Encoding.ASCII.GetBytes(root)) { Position = 0 }; RequestDelegate next = (HttpContext hc) => { hc.Response.ContentType = "application/json"; hc.Response.Body = stream; Asserter(); return(Task.CompletedTask); }; var sutMiddleware = new UrlLocalizationAwareWebSocketsMiddleware(next); // Act await sutMiddleware.InvokeAsync(_context); // Assert // TODO: Need to assert that the cutlure is in the dictionary void Asserter() { Assert.Equal(twoLetterISOLanguageName, CultureInfo.CurrentCulture.TwoLetterISOLanguageName); } }