public async Task JwtUtlity_GenerateJwt_ReturnsValidateJwtBehaviorResult() { //Arrange var validateJwtBehaviorResult = new ValidateJwtResult(true, "123"); var jwtValidateBehavior = new Mock <IValidateJwtBehavior>(); jwtValidateBehavior.Setup(x => x.ValidateJwtAsync(It.IsAny <string>())).Returns(Task.FromResult(HttpFragileOperationResult <ValidateJwtResult> .CreateSuccessfulResult(validateJwtBehaviorResult, HttpStatusCode.OK, ""))); var jwtUtility = new JwtUtility(jwtValidateBehavior.Object, null); //Act var result = await jwtUtility.ValidateJwtAsync("AnyJwt").ConfigureAwait(false); //Assert Assert.AreEqual(validateJwtBehaviorResult.ClientId, "123"); Assert.IsTrue(validateJwtBehaviorResult.IsValid); Assert.AreEqual(0, result.ErrorMessages.Count()); }
public async Task JwtUtlityHealthCheck_GetHealth_ReturnsWarningHealthCheckResult_WhenGenerateBehaviorResultsInError() { //Arrange var validateJwtBehaviorResult = new ValidateJwtResult(true, "123"); var jwtValidateBehavior = new Mock <IValidateJwtBehavior>(); jwtValidateBehavior.Setup(x => x.ValidateJwtAsync(It.IsAny <string>())).Returns(Task.FromResult(HttpFragileOperationResult <ValidateJwtResult> .CreateSuccessfulResult(validateJwtBehaviorResult, HttpStatusCode.OK, ""))); var jwtGenerateBehaviorMock = new Mock <IGenerateJwtBehavior>(); jwtGenerateBehaviorMock.Setup(x => x.GenerateJwtAsync(It.IsAny <int>(), It.IsAny <IEnumerable <KeyValuePair <string, string> > >())).Returns(Task.FromResult(HttpFragileOperationResult <GenerateJwtResult> .CreateErrorResult(HttpStatusCode.InternalServerError, "", "TestMessage"))); var jwtUtility = new JwtUtility(jwtValidateBehavior.Object, jwtGenerateBehaviorMock.Object); //Act var result = await jwtUtility.GetHealthAsync().ConfigureAwait(false); //Assert Assert.AreEqual(HealthStatus.Warning, result.Status); }
public async Task JwtUtlityHealthCheck_GetHealth_ReturnsActiveHealthCheckResult_WhenAllGood() { //Arrange var validateJwtBehaviorResult = new ValidateJwtResult(true, "123"); var jwtValidateBehavior = new Mock <IValidateJwtBehavior>(); jwtValidateBehavior.Setup(x => x.ValidateJwtAsync(It.IsAny <string>())).Returns(Task.FromResult(HttpFragileOperationResult <ValidateJwtResult> .CreateSuccessfulResult(validateJwtBehaviorResult, HttpStatusCode.OK, ""))); var generateJwtBehaviorResult = new GenerateJwtResult("jwt"); var jwtGenerateBehaviorMock = new Mock <IGenerateJwtBehavior>(); jwtGenerateBehaviorMock.Setup(x => x.GenerateJwtAsync(It.IsAny <int>(), It.IsAny <IEnumerable <KeyValuePair <string, string> > >())).Returns(Task.FromResult(HttpFragileOperationResult <GenerateJwtResult> .CreateSuccessfulResult(generateJwtBehaviorResult, HttpStatusCode.OK, ""))); var jwtUtility = new JwtUtility(jwtValidateBehavior.Object, jwtGenerateBehaviorMock.Object); //Act var result = await jwtUtility.GetHealthAsync().ConfigureAwait(false); //Assert Assert.AreEqual(HealthStatus.Active, result.Status); Assert.AreEqual("JWT Generate/Validate", result.Description); Assert.AreEqual(2, result.Vitals.Count); }