public void TryCatchTest() { { var onErrorMock = new Mock <Func <Exception, string> >(); var result = FlowUtil.TryCatch( () => expectedResult, onErrorMock.Object); Assert.AreEqual(expectedResult, result); onErrorMock.VerifyNoOtherCalls(); } { var onErrorMock = new Mock <Func <Exception, string> >(); var result = FlowUtil.TryCatch( () => throw new Exception(), onErrorMock.Object); Assert.IsNull(result); onErrorMock.Verify(f => f.Invoke(It.IsAny <Exception>())); } { var onErrorMock = new Mock <Func <Exception, string> >(); var result = FlowUtil.TryCatch( () => expectedResult, onErrorMock.Object); Assert.AreEqual(expectedResult, result); onErrorMock.VerifyNoOtherCalls(); } { var onErrorMock = new Mock <Func <Exception, string> >(); var result = FlowUtil.TryCatch( () => throw new Exception(), onErrorMock.Object); Assert.IsNull(result); onErrorMock.Verify(f => f.Invoke(It.IsAny <Exception>())); } }
private async Task <AuthClaims> TryGetAuthClaims(ActionExecutingContext ctx) { var ok = ctx.HttpContext.Request.Cookies.TryGetValue(Constants.SessionCookieName, out var token); if (ok && !string.IsNullOrEmpty(token)) { return(FlowUtil.TryCatch( () => authorization.ValidateSessionKey(token), (_) => null)); } ok = ctx.HttpContext.Request.Headers.TryGetValue("authorization", out var authHeaderValue); if (!ok) { return(null); } var ahvStr = authHeaderValue.ToString(); if (ahvStr.ToString().StartsWith("session ")) { return(FlowUtil.TryCatch( () => authorization.ValidateSessionKey(ahvStr[8..]),