public async Task ExtractsHttpContext() { string expUserId = "u-id", expClientId = "c-Id", expSessionId = "s-id", expRefId = "r-id"; var hd = new HeaderDictionary { { HttpHeaderNames.ClientSessionId, expSessionId }, { HttpHeaderNames.ClientRequestReference, expRefId }, }; var user = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.NameIdentifier, expUserId), new Claim("client_id", expClientId), })); var ctx = new Mock <HttpContext>(); var req = new Mock <HttpRequest>(); req.Setup(r => r.Path).Returns(new PathString("/do/123")); req.Setup(r => r.Method).Returns("get"); req.SetupGet(r => r.Headers).Returns(hd); var response = new Mock <HttpResponse>(); ctx.Setup(h => h.User).Returns(user); ctx.Setup(h => h.Request).Returns(req.Object); var mw = new WorkContextMiddleware_ForTests(new EntityConfigRecord[] { }); var wc = new WorkContext(); var res = await mw.ExtractHttpContext(ctx.Object, wc); res.ShouldBeTrue(); wc.CurrentUserId.ShouldBe(expUserId); wc.CurrentClientId.ShouldBe(expClientId); wc.SessionId.ShouldBe(expSessionId); wc.ReferenceId.ShouldBe(expRefId); }
public void BuildDisabledMethodMap() { var e = new EntityConfigRecord { Name = "name", EndpointSettings = new EndpointSettings { GetSettings = new EndpointMethodSettings { Disabled = true }, PutSettings = new EndpointMethodSettings { Disabled = true }, } }; var wcmt = new WorkContextMiddleware_ForTests(new[] { e }); wcmt.ActiveMap[$"{e.Name}_post"].ShouldBeFalse(); wcmt.ActiveMap[$"{e.Name}_get"].ShouldBeTrue(); wcmt.ActiveMap[$"{e.Name}_put"].ShouldBeTrue(); wcmt.ActiveMap[$"{e.Name}_delete"].ShouldBeFalse(); }