Ejemplo n.º 1
0
        public void UserLogin_1()
        {
            var userDomain = new UsersDomain();
            var result     = userDomain.AuthenticateUser("testAcc", "Pa$$w0rd!");

            Assert.IsTrue(result.ProcessResult == ProcessResult.Success);
        }
Ejemplo n.º 2
0
        public void UserLogin_3()
        {
            var userDomain = new UsersDomain();
            var result     = userDomain.AuthenticateUser(null, null);

            Assert.IsFalse(result.ProcessResult == ProcessResult.Success);
        }
Ejemplo n.º 3
0
        public void UserLogin_2()
        {
            var userDomain = new UsersDomain();
            var result     = userDomain.AuthenticateUser("testAcc", "wrongPassword");

            Assert.IsFalse(result.ProcessResult == ProcessResult.Success);
        }
        public ActionResult Upload(HttpPostedFileBase file, string title)
        {
            try
            {
                if (string.IsNullOrEmpty(title))
                {
                    return(View());
                }

                var fileBytes = ReadFile(file.InputStream);
                var typeCheck = MimeSniffer.GetMime(fileBytes);
                var fileType  = typeCheck.Substring(typeCheck.LastIndexOf("/", StringComparison.Ordinal) + 1);
                var checkFile = VerifyFileType(fileType);

                if (checkFile)
                {
                    file.InputStream.Position = 0;
                    var extension    = Path.GetExtension(file.FileName);
                    var filename     = Guid.NewGuid() + extension;
                    var absolutePath = Server.MapPath(@"\Images") + @"\" + filename;
                    var relativePath = @"\Images\" + filename;

                    var username = Username;
                    var user     = UsersDomain.GetUser(username);
                    if (user == null)
                    {
                        return(View());
                    }

                    using (var memoryStrem = new MemoryStream())
                    {
                        file.InputStream.CopyTo(memoryStrem);
                        memoryStrem.Position      = 0;
                        file.InputStream.Position = 0;

                        var image          = memoryStrem.ToArray();
                        var encryption     = new Encryption();
                        var signatureBytes = encryption.SignFile(image, user);

                        var result = ImagesDomain.Add(relativePath, Convert.ToBase64String(signatureBytes), username, title);
                        file.SaveAs(absolutePath);
                        var cipher = encryption.HybridEncrypt(file.InputStream, user);
                        System.IO.File.WriteAllBytes(absolutePath, cipher);
                        ViewBag.Message = result.MessageResult;
                    }
                }
            }

            catch (Exception e)
            {
                LogsDomain.LogLevel("Images Domain", e.Message);
                return(RedirectToAction("InternalServer", "Error"));
            }

            return(View());
        }
Ejemplo n.º 5
0
        public void When_Constructor_Then_CallSeeder()
        {
            //Arrange

            //Action
            IUsersDomain sut = new UsersDomain(_repository.Object, _seeder.Object, _hasher.Object);

            //Assert
            _seeder.Verify(e => e.Seed(_repository.Object), Times.Once());
        }
Ejemplo n.º 6
0
        public void When_GetAllWithZeroUsers_Then_RetunAnEmptyResult()
        {
            //Arrange
            IUsersDomain sut = new UsersDomain(_repository.Object, _seeder.Object, _hasher.Object);

            //Action
            var users = sut.GetAll();

            //Assert
            Assert.AreEqual(0, users.Count());
        }
Ejemplo n.º 7
0
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (_usersDomain != null)
         {
             _usersDomain.Dispose();
             _usersDomain = null;
         }
     }
     base.Dispose(disposing);
 }
Ejemplo n.º 8
0
        public void When_DeleteUser_Then_RemoveFromStore()
        {
            //Arrange
            var userMocked = new User()
            {
                Id = Guid.NewGuid()
            };
            IUsersDomain sut = new UsersDomain(_repository.Object, _seeder.Object, _hasher.Object);

            //Action
            sut.Delete(userMocked.Id);

            //Assert
            _repository.Verify(e => e.Delete(userMocked.Id), Times.Once());
        }
Ejemplo n.º 9
0
        public void When_GetWithInexistenUser_Then_RetunNull()
        {
            //Arrange
            var userMocked = new User()
            {
                Id = Guid.NewGuid()
            };

            _repository.Setup(x => x.FindById(userMocked.Id)).Returns(userMocked);
            IUsersDomain sut = new UsersDomain(_repository.Object, _seeder.Object, _hasher.Object);

            //Action
            var user = sut.Get(userMocked.Id);

            //Assert
            Assert.AreEqual(userMocked.Id, user?.Id);
        }
Ejemplo n.º 10
0
        public void When_Update_Then_CallToSaveInStore()
        {
            //Arrange
            var userMocked = new User()
            {
                Id = Guid.NewGuid()
            };

            _repository.Setup(x => x.Save(userMocked));
            IUsersDomain sut = new UsersDomain(_repository.Object, _seeder.Object, _hasher.Object);

            //Action
            sut.Update(userMocked);

            //Assert
            _repository.Verify(e => e.Save(userMocked), Times.Once());
        }
Ejemplo n.º 11
0
        public void When_CreateUser_Then_CallToSaveInStore()
        {
            //Arrange
            var userMocked = new User()
            {
                Id = Guid.NewGuid()
            };

            _repository.Setup(x => x.Save(userMocked));
            IUsersDomain sut           = new UsersDomain(_repository.Object, _seeder.Object, _hasher.Object);
            var          passwordHased = "xksdn";

            _hasher.Setup(e => e.CalculateHash(null)).Returns(passwordHased);

            //Action
            sut.Create(userMocked);

            //Assert
            _repository.Verify(e => e.Save(userMocked), Times.Once());
        }
        private byte[] DecryptImage(Image image, string username, out string relativePath)
        {
            relativePath = image.ImagePath;
            var absolutePath = Server.MapPath(relativePath);
            var fileAsCipher = System.IO.File.ReadAllBytes(absolutePath);

            using (var memoryStream = new MemoryStream(fileAsCipher))
            {
                var user = UsersDomain.GetUser(username);
                memoryStream.Position = 0;
                var encryption     = new Encryption();
                var decryptedBytes = encryption.HybridDecrypt(memoryStream, user);
                var signature      = Convert.FromBase64String(image.Signature);
                var checkSignature = encryption.VerifyFile(signature, decryptedBytes, user);

                if (checkSignature)
                {
                    return(decryptedBytes);
                }
            }
            return(null);
        }
Ejemplo n.º 13
0
        private static void InitializePermissionProvider()
        {
            var permissionProvider = new PermissionsProvider();
            var usersDomain        = new UsersDomain();

            var permissionList = usersDomain.GetPermissionList();

            if (permissionList != null)
            {
                permissionProvider.SetPermissionDict(permissionList);
            }

            var menuList = usersDomain.GetMenuList();

            if (menuList != null)
            {
                permissionProvider.SetMenuDict(menuList);
            }

            var cache = MemoryCache.Default;

            cache.AddOrGetExisting("PermissionManager", permissionProvider, new CacheItemPolicy());
        }
Ejemplo n.º 14
0
        public void When_GetAllWith2Users_Then_Retun2Users()
        {
            //Arrange
            var mockedUsers = new List <User> {
                new User()
                {
                    Id = Guid.NewGuid()
                },
                new User()
                {
                    Id = Guid.NewGuid()
                }
            };

            _repository.Setup(x => x.List()).Returns(mockedUsers);
            IUsersDomain sut = new UsersDomain(_repository.Object, _seeder.Object, _hasher.Object);

            //Action
            var users = sut.GetAll();

            //Assert
            Assert.AreEqual(2, users.Count());
        }
Ejemplo n.º 15
0
        public void RegisterUser_2()
        {
            var userDomain = new UsersDomain();
            var paramsKeys = new Encryption().GeneratePublicAndPrivateKey();
            var user       = new User
            {
                Username    = null, // ERROR HERE
                Email       = "*****@*****.**",
                LoginTries  = 0,
                Password    = "******",
                Actived     = true,
                DateCreated = HomelessMethods.GetCurrentTime(),
                Locked      = false,
                PrivateKey  = paramsKeys.PrivateKey,
                PublicKey   = paramsKeys.PublicKey,
                Version     = 1,
                RoleName    = "Admin"
            };

            var result = userDomain.Add(user);

            Assert.IsTrue(result.ProcessResult == ProcessResult.Failure);
        }
 public ImagesController(UsersDomain usersDomain, ImagesDomain imagesDomain)
 {
     UsersDomain  = usersDomain;
     ImagesDomain = imagesDomain;
 }
Ejemplo n.º 17
0
 public LoginController(IUnitOfWork unitOfWork, IJwtManager jwtManager, IPasswordHasher passwordHasher)
 {
     usersDomain = new UsersDomain(unitOfWork, jwtManager, passwordHasher);
 }
 public AccountController(UsersDomain usersDomain)
 {
     UsersDomain = usersDomain;
 }