//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())); }
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)); }); }
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> >(); }
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)); }
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); }