Example #1
0
        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());
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }