Example #1
0
        //It is a simple authentication security, we can be more strict regarding this.
        //It can be used for external and internal users
        public string Authenticate(Repo.User user, bool isRegistered)
        {
            if (!isRegistered)
            {
                return(GenerateToken(user.UserId.ToString()));
            }

            //Validate Token, if it is not valid => creates a new one
            return(ValidateCurrentToken(user.UserLogin.Token)
                ? user.UserLogin.Token
                : GenerateToken(user.UserId.ToString()));
        }
Example #2
0
        public void Init()
        {
            _repoUser = new RepoModel.User
            {
                FirstName = "Firstname",
                LastName  = "Lastname",
                UserId    = Guid.NewGuid(),
                UserLogin = new RepoModel.UserLogin
                {
                    Username = "******",
                    Password = "******",
                    Token    = "1234564asd4987das65d4as65d4sa6d5132s1gfd5g1"
                }
            };
            _apiUser = new UserRepoToApi().MapToDestination(_repoUser);
            _apiUser.UserLogin.Password = "******";

            var logFactory = LoggerFactory.Create(builder => builder.AddConsole());

            _log = logFactory.CreateLogger <UserController>();

            //Mock
            _mockActService = new Mock <IActionService>();
            _mockActService.Setup(s => s.ProcessAction <RegistrationAction>(It.IsAny <ApiModel.User>()))
            .Returns((ApiModel.User user) =>
            {
                if (user == null)
                {
                    return(Task.FromResult <object>(null));
                }

                //Simulates an exception
                if (user.UserLogin == null)
                {
                    throw new NullReferenceException("Test Throw Null Exception from RegistrationAction. Parameter cannot be null.");
                }

                //Simulates an invalid user
                if (user.UserLogin.Username == "UserExists")
                {
                    return(Task.FromResult <object>(new Result
                    {
                        ErrorCode = ErrorCode.UserAlreadyExists,
                        StatusCode = StatusCode.Failed,
                        StatusDetail = "Test Invalid Username"
                    }));
                }

                return(Task.FromResult <object>(_repoUser));
            });
        }
Example #3
0
        public void Init()
        {
            _userApi = new ApiModel.User
            {
                FirstName = "Firstname",
                LastName  = "Lastname",
                UserId    = Guid.NewGuid(),
                UserLogin = new ApiModel.UserLogin
                {
                    Username = "******",
                    Password = "******",
                    Token    = "1234564asd4987das65d4as65d4sa6d5132s1gfd5g1"
                }
            };
            _userRepo = new UserApiToRepo().MapToDestination(_userApi);

            _mockValManager = new Mock <IValidatorManager <object, RepoModel.User> >();
        }
Example #4
0
        public void Init()
        {
            _userApi = new ApiModel.User
            {
                FirstName = "Firstname",
                LastName  = "Lastname",
                UserId    = Guid.NewGuid(),
                UserLogin = new ApiModel.UserLogin
                {
                    Username = "******",
                    Password = "******",
                    Token    = "1234564asd4987das65d4as65d4sa6d5132s1gfd5g1"
                }
            };
            _userRepo = new UserApiToRepo().MapToDestination(_userApi);

            var logFactory = LoggerFactory.Create(builder => builder.AddConsole());

            _log = logFactory.CreateLogger <LoginAction>();

            //Mock
            _mockRepositoryTrue = new Mock <IUserRepository>();
            _mockRepositoryTrue.Setup(x => x.GetItemAsync(It.IsAny <Expression <Func <RepoModel.User, bool> > >())).Returns(Task.FromResult(_userRepo));
            _mockRepositoryTrue.Setup(x => x.UpdateItemAsync(It.IsAny <RepoModel.User>(), It.IsAny <Expression <Func <RepoModel.User, string> > >(), It.IsAny <string>())).Returns(Task.FromResult(true));

            _mockRepositoryFalse = new Mock <IUserRepository>();
            _mockRepositoryFalse.Setup(x => x.GetItemAsync(It.IsAny <Expression <Func <RepoModel.User, bool> > >())).Returns(Task.FromResult(_userRepo));
            _mockRepositoryFalse.Setup(x => x.UpdateItemAsync(It.IsAny <RepoModel.User>(), It.IsAny <Expression <Func <RepoModel.User, string> > >(), It.IsAny <string>())).Returns(Task.FromResult(false));

            _mockUsService = new Mock <IUserService>();
            _mockUsService.Setup(s => s.Authenticate(It.IsAny <RepoModel.User>(), true))
            .Returns((RepoModel.User user, bool isRegistered) =>
                     user.UserLogin.Username != "InvalidToken"
                        ? _userRepo.UserLogin.Token
                        : TokenResultTest);

            _mockValManager = new Mock <IValidatorManager <LoginValidator, RepoModel.User> >();
            _mockValManager.Setup(m => m.GetValidatorsResult(It.IsAny <RepoModel.User>()))
            .Returns(Task.FromResult(It.IsAny <IEnumerable <Func <Result> > >()));

            _mockValService = new Mock <IValidationService>();
            _mockValService.Setup(v => v.ProcessValidation(_mockValManager.Object, It.IsAny <RepoModel.User>()))
            .Returns(Task.FromResult((object)_userRepo));
        }
Example #5
0
        public void Init()
        {
            var appSettings = new AppSettings
            {
                Secret = "CC95A6964450EF5EC10FDA1963C0047CF0C39C4D870339D2312D3C6399A6318A"
            };

            _userRepo = new RepoModel.User
            {
                FirstName = "Firstname",
                LastName  = "Lastname",
                UserId    = Guid.NewGuid(),
                UserLogin = new RepoModel.UserLogin
                {
                    Username = "******",
                    Password = "******"
                }
            };

            //Mock
            _mockSettings = new Mock <IOptions <AppSettings> >();
            _mockSettings.Setup(s => s.Value).Returns(appSettings);
        }