Beispiel #1
0
        /// <summary>
        /// Get user controller
        /// </summary>
        /// <param name="db">Database context</param>
        /// <param name="user">User</param>
        /// <returns></returns>
        private Mock <UserController> GetUserController(User user, UserManager <User> userManager)
        {
            var httpContext = MockHelper.GetHttpContextWithUserId(user != null ? user.Id : "");

            var signInManager = new Mock <SignInManager <User> >(userManager,
                                                                 new HttpContextAccessor {
                HttpContext = httpContext.Object
            },
                                                                 new Mock <IUserClaimsPrincipalFactory <User> >().Object, null, null, null);

            Func <object, JsonResult> toJson = (data) => {
                return(new JsonResult(data));
            };

            var manager        = new CryptographManager();
            var outputFactory  = new OutputFactory(manager);
            var modelsFactory  = new ModelsFactory();
            var userService    = new UserService(userManager);
            var usersValidator = new UserViewModelValidator(userManager, new ModelsFactory());

            var userCtrl = new Mock <UserController>(signInManager.Object, userManager, outputFactory, userService, usersValidator);

            userCtrl.Object.ControllerContext = new ControllerContext()
            {
                HttpContext = httpContext.Object
            };
            userCtrl.Setup(uCtrl => uCtrl.Json(It.IsAny <object>())).Returns(toJson);

            return(userCtrl);
        }
Beispiel #2
0
 public NotesManager(DefaultContext context, CryptographManager cryptoMng, IModelsFactory modelsFactory, UserManager <User> userMng)
 {
     _dbContext     = context;
     _cryptoMng     = cryptoMng;
     _modelsFactory = modelsFactory;
     _userMng       = userMng;
 }
Beispiel #3
0
        /// <summary>
        /// Edit existed note.
        /// </summary>
        /// <param name="noteForEdit"></param>
        /// <param name="user"></param>
        /// <param name="cryptoManager"></param>
        public void EditNote(Note noteForEdit, User user, CryptographManager cryptoManager)
        {
            var encoder = cryptoManager.Get(CryptographType.Get(AlgorithName));

            noteForEdit.Text       = encoder.Encrypt(Text, SecretKey);
            noteForEdit.Title      = encoder.Encrypt(Title, SecretKey);
            noteForEdit.User       = user;
            noteForEdit.CryptoName = AlgorithName;
        }
Beispiel #4
0
        public NoteForOutput(Note note, CryptographManager manager, string secretCode)
        {
            Id = note.Id;

            var cryptograph = manager.Get(CryptographType.Get(note.CryptoName));

            try {
                Text  = cryptograph.Decrypt(note.Text, secretCode);
                Title = cryptograph.Decrypt(note.Title, secretCode);
            } catch {
                Text  = Encoding.ASCII.GetString(note.Text);
                Title = Encoding.ASCII.GetString(note.Title);
            }
        }
Beispiel #5
0
        /// <summary>
        /// Return note, based on data from current class.
        /// </summary>
        /// <param name="manager">For get cryptographer</param>
        /// <param name="user">Owner of note</param>
        /// <returns></returns>
        public Note ToNote(CryptographManager manager, User user, IModelsFactory modelsFactory)
        {
            if (AlgorithmName == null)
            {
                AlgorithmName = CryptographType.AES.Type;
            }

            var encoder = manager.Get(CryptographType.Get(AlgorithmName));

            var note = modelsFactory.CreateNote();

            note.Title      = encoder.Encrypt(Title, SecretKey);
            note.Text       = encoder.Encrypt(Text, SecretKey);
            note.User       = user;
            note.CryptoName = AlgorithmName;

            return(note);
        }
Beispiel #6
0
 public OutputFactory(CryptographManager manager)
 {
     _cryptoManager = manager;
 }
Beispiel #7
0
        public void GetBadCrypto()
        {
            var cryptoMng = new CryptographManager();

            Assert.Throws <Exception>(() => { CryptographType.Get("test"); });
        }
Beispiel #8
0
 public NotesViewModelValidator(DefaultContext dbCtx, CryptographManager cryptoMng, IModelsFactory modelsFactory)
 {
     _dbContext     = dbCtx;
     _cryptoMng     = cryptoMng;
     _modelsFactory = modelsFactory;
 }