public void GenerateToken_Test()
        {
            #region === ARRANGE ===

            UserAppModel user = new UserAppModel
            {
                id       = 999,
                username = "******",
                active   = true
            };

            Mock <IRepositoryFactory> mockRepositoryFactory = new Mock <IRepositoryFactory>();
            Mock <IReadOnlyRepository <DtoConfiguration> > mockConfigurationRepository = new Mock <IReadOnlyRepository <DtoConfiguration> >();
            Mock <ISessionTokenGenerator> mockSessionTokenGenerator = new Mock <ISessionTokenGenerator>();

            mockRepositoryFactory.Setup(x => x.CreateReadOnlyConfigurationsRepository()).Returns(mockConfigurationRepository.Object);
            mockConfigurationRepository.Setup(x => x.GetAll()).Returns(new DtoConfiguration[] { new DtoConfiguration(1, "tokenEncriptKey", "Bla Bla") });
            mockSessionTokenGenerator.Setup(x => x.Encript(It.IsAny <SessionToken>())).Returns("Some Encripted Token");

            #endregion

            #region === ACT ===

            SessionTokenService service = new SessionTokenService(mockRepositoryFactory.Object, mockSessionTokenGenerator.Object);
            service.GenerateToken("Some UUID", user, false);

            #endregion

            #region === ASSERT ===

            mockSessionTokenGenerator.Verify(x => x.Encript(It.IsAny <SessionToken>()), Times.Once);

            #endregion
        }
        public HttpResponseMessage GetKPIMorosos(int? ciclo, int? cuatri, int? legajo, int? sede, string carrera, string nombre, string apellido, decimal? dni, int? kpi_monto_mayor, int? kpi_monto_menor)
        {
            try
            {
                string tokenString = string.Empty;
                string userString = string.Empty;
                try
                {
                    tokenString = this.ActionContext.Request.Headers.GetValues("Authorization").ToList().FirstOrDefault();
                    userString = this.ActionContext.Request.Headers.GetValues("User").ToList().FirstOrDefault();
                }
                catch
                {
                    return HttpResponseController.Return_401_Unauthorized(string.Empty);
                }

                if (SessionTokenService.ValidRequestByUserAndToken(tokenString, userString))
                {
                    return HttpResponseController.Return_200_OK(UniAlumnoService.GetKPIMorosos(ciclo, cuatri, legajo, sede, carrera, nombre, apellido, dni, kpi_monto_mayor, kpi_monto_menor));
                }
                return HttpResponseController.Return_401_Unauthorized(string.Empty);
            }
            catch
            {
                return HttpResponseController.Return_500_InternalServerError(string.Empty);
            }
        }
        public void Create_SessionTokenServiceTests_Test()
        {
            #region === ARRANGE ===

            Mock <IRepositoryFactory> mockRepositoryFactory1 = new Mock <IRepositoryFactory>();
            Mock <IReadOnlyRepository <DtoConfiguration> > mockConfigurationRepository1 = new Mock <IReadOnlyRepository <DtoConfiguration> >();
            Mock <IRepositoryFactory> mockRepositoryFactory2 = new Mock <IRepositoryFactory>();
            Mock <IReadOnlyRepository <DtoConfiguration> > mockConfigurationRepository2 = new Mock <IReadOnlyRepository <DtoConfiguration> >();

            mockRepositoryFactory1.Setup(x => x.CreateReadOnlyConfigurationsRepository()).Returns(mockConfigurationRepository1.Object);
            mockRepositoryFactory2.Setup(x => x.CreateReadOnlyConfigurationsRepository()).Returns(mockConfigurationRepository2.Object);

            mockConfigurationRepository1.Setup(x => x.GetAll()).Returns(new DtoConfiguration[] { new DtoConfiguration(1, "tokenEncriptKey", "Bla Bla") });
            mockConfigurationRepository2.Setup(x => x.GetAll()).Returns(new DtoConfiguration[] { new DtoConfiguration(1, "Bla Bla", "Bla Bla") });


            #endregion

            #region === ACT ===

            Exception exception1 = null;
            Exception exception2 = null;

            try
            {
                SessionTokenService service = new SessionTokenService(mockRepositoryFactory1.Object);
            }catch (Exception ex)
            {
                exception1 = ex;
            }

            try
            {
                SessionTokenService service = new SessionTokenService(mockRepositoryFactory2.Object);
            }
            catch (Exception ex)
            {
                exception2 = ex;
            }

            #endregion

            #region === ASSERT ===

            Assert.IsNull(exception1);
            Assert.IsNotNull(exception2);
            Assert.IsInstanceOfType(exception2, typeof(SystemConfigurationMissingException));

            #endregion
        }
Beispiel #4
0
        public HttpResponseMessage GetEdificioByCodins(string codins)
        {
            try
            {
                string tokenString = this.ActionContext.Request.Headers.GetValues("Authorization").ToList().FirstOrDefault();
                string userString  = this.ActionContext.Request.Headers.GetValues("User").ToList().FirstOrDefault();

                if (SessionTokenService.ValidRequestByUserAndToken(tokenString, userString))
                {
                    return(HttpResponseController.Return_200_OK(UniEdificioService.GetEdificioByCodins(codins)));
                }
                return(HttpResponseController.Return_401_Unauthorized(string.Empty));
            }
            catch
            {
                return(HttpResponseController.Return_401_Unauthorized(string.Empty));
            }
        }
        public HttpResponseMessage GetMorososTotal(int? ciclo, int? cuatri)
        {
            try
            {
                string tokenString = this.ActionContext.Request.Headers.GetValues("Authorization").ToList().FirstOrDefault();
                string userString = this.ActionContext.Request.Headers.GetValues("User").ToList().FirstOrDefault();

                if (SessionTokenService.ValidRequestByUserAndToken(tokenString, userString))
                {
                    return HttpResponseController.Return_200_OK(UniAlumnoService.GetMorososTotal(ciclo, cuatri));
                }
                return HttpResponseController.Return_401_Unauthorized(string.Empty);
            }
            catch
            {
                return HttpResponseController.Return_500_InternalServerError(string.Empty);
            }
        }
        public HttpResponseMessage GetByLegajo(int legajo)
        {
            try
            {
                string tokenString = this.ActionContext.Request.Headers.GetValues("Authorization").ToList().FirstOrDefault();
                string userString = this.ActionContext.Request.Headers.GetValues("User").ToList().FirstOrDefault();

                if (SessionTokenService.ValidRequestByUserAndToken(tokenString, userString))
                {
                    return HttpResponseController.Return_200_OK(UniRegionalService.GetAll());
                }
                return HttpResponseController.Return_401_Unauthorized(string.Empty);
            }
            catch
            {
                return HttpResponseController.Return_401_Unauthorized(string.Empty);
            }
        }
        public void DecryptToken_Test()
        {
            #region === ARRANGE ===

            SessionToken expectedToken = new SessionToken
            {
                userId       = 999,
                userName     = "******",
                dateTime     = DateTime.Now,
                daysToExpire = 0,
                UUID         = "Some UUID"
            };

            Mock <IRepositoryFactory> mockRepositoryFactory = new Mock <IRepositoryFactory>();
            Mock <IReadOnlyRepository <DtoConfiguration> > mockConfigurationRepository = new Mock <IReadOnlyRepository <DtoConfiguration> >();
            Mock <ISessionTokenGenerator> mockSessionTokenGenerator = new Mock <ISessionTokenGenerator>();

            mockRepositoryFactory.Setup(x => x.CreateReadOnlyConfigurationsRepository()).Returns(mockConfigurationRepository.Object);
            mockConfigurationRepository.Setup(x => x.GetAll()).Returns(new DtoConfiguration[] { new DtoConfiguration(1, "tokenEncriptKey", "Bla Bla") });
            mockSessionTokenGenerator.Setup(x => x.Decrypt(It.IsAny <string>())).Returns(expectedToken);


            #endregion

            #region === ACT ===

            SessionTokenService service      = new SessionTokenService(mockRepositoryFactory.Object, mockSessionTokenGenerator.Object);
            UserAppModel        userAppModel = service.DecryptToken(expectedToken.UUID, "some token string");

            #endregion

            #region === ASSERT ===

            mockSessionTokenGenerator.Verify(x => x.Decrypt(It.IsAny <string>()), Times.Once);
            Assert.AreEqual <int>(userAppModel.id, expectedToken.userId);
            Assert.AreEqual <string>(userAppModel.username, expectedToken.userName);

            #endregion
        }