public void ShouldThrowDuplicateUserException() { // Arrange UserRepository repository = new UserRepository(ConfigSettings.UserDatabaseConnectionName); UserEntity entity = UserData.GetUserForInsert(); repository.ClearCollection(); entity = repository.Create(entity); try { // Act UserEntity duplicate = UserData.GetUserForInsert(); duplicate = repository.Create(entity); Assert.Fail("Duplicate user creation should not be allowed."); } catch (DataAccessException ex) { // Assert if (ex.Message == "Duplicate User detected") Assert.Pass(); Assert.Fail("Some other exception happened"); } }
public static UserEntity GetSessionUserEntity(IAuthSession session) { if (session == null) return null; if (_userRepository == null) { // TODO: Inject UserRepository from Top Level Container container = EndpointHost.Config.ServiceManager.Container; _userRepository = container.Resolve<UserRepository>(); } return _userRepository.Read(session.UserName); }
public void ShouldCreateUsers() { // Arrange UserRepository repository = new UserRepository(ConfigSettings.UserDatabaseConnectionName); List<UserEntity> entities = UserData.GetUsersForInsert(); repository.ClearCollection(); // Act entities = repository.Create(entities); // Assert Assert.IsNotNull(entities); Assert.AreEqual(2, entities.Count); }
public void ShouldCreateUser() { // Arrange UserRepository repository = new UserRepository(ConfigSettings.UserDatabaseConnectionName); UserEntity entity = UserData.GetUserForInsert(); repository.ClearCollection(); // Act entity = repository.Create(entity); // Assert Assert.IsNotNull(entity); Assert.AreNotEqual(0, entity.Id); }
public void ShouldThrowArgumentNullExceptionOnConstructor() { // Act try { UserRepository userRepository = new UserRepository(null); Assert.Fail("This should not happen"); } catch (Exception ex) { // Arrange Assert.IsInstanceOf<ArgumentNullException>(ex); } }
private static SSAuthInterfaces.UserAuth GetUserAuthByUserNameWithFunctionalPermissions(MongoDatabase mongoDatabase, string userNameOrEmail, UserRepository userRepository = null) { if (userRepository == null) { // TODO: Inject UserRepository from Top Level Container container = EndpointHost.Config.ServiceManager.Container; userRepository = container.Resolve<UserRepository>(); } if (!string.IsNullOrEmpty(userNameOrEmail)) { UserEntity userEntity = userRepository.Read(userNameOrEmail); if(!userEntity.Active) throw new AccessViolationException("User not Active!"); SSAuthInterfaces.UserAuth userAuth = TranslateToUserAuth(userEntity); if (userAuth != null) { userAuth.Permissions = PermissionUtility.GetFunctionalPermissionNamesForRoleIdsAndDomainPermissions(userEntity.Roles, userEntity.DomainPermissions, userEntity.TimeZoneId); } return userAuth; } return null; }
private static SSAuthInterfaces.UserAuth GetUserAuthByUserName(MongoDatabase mongoDatabase, string userNameOrEmail, UserRepository userRepository = null) { if (userRepository == null) { // TODO: Inject UserRepository from Top Level Container container = EndpointHost.Config.ServiceManager.Container; userRepository = container.Resolve<UserRepository>(); } UserEntity userEntity = userRepository.Read(userNameOrEmail); SSAuthInterfaces.UserAuth userAuth = TranslateToUserAuth(userEntity); if (userAuth != null) { userAuth.Permissions = PermissionUtility.GetPermissionNamesForRoleIdsAndDomainPermissions(userEntity.Roles, userEntity.DomainPermissions, userEntity.TimeZoneId); //userAuth.Permissions = new List<string>(); //userAuth.Permissions.Add("DomainPermission_Get"); //userAuth.Permissions.Add("DomainPermission_Put"); //userAuth.Permissions.Add("DomainPermission_Post"); //userAuth.Permissions.Add("DomainPermission_Delete"); //userAuth.Permissions.Add("DomainPermissions_Get"); //userAuth.Permissions.Add("FunctionalPermission_Get"); //userAuth.Permissions.Add("FunctionalPermission_Put"); //userAuth.Permissions.Add("FunctionalPermission_Post"); //userAuth.Permissions.Add("FunctionalPermission_Delete"); //userAuth.Permissions.Add("CurrentUserAuthRequest_Get"); //userAuth.Permissions.Add("LevelLists_Get"); //userAuth.Permissions.Add("LevelLists_Put"); //userAuth.Permissions.Add("LocalizationDictionaryRequest_Get"); //userAuth.Permissions.Add("LocalizationDictionaryRequest_Put"); //userAuth.Permissions.Add("LocalizationDictionaryRequest_Post"); //userAuth.Permissions.Add("Permission_Get"); //userAuth.Permissions.Add("Permission_Put"); //userAuth.Permissions.Add("Permission_Post"); //userAuth.Permissions.Add("Permissions_Get"); //userAuth.Permissions.Add("Role_Get"); //userAuth.Permissions.Add("Role_Put"); //userAuth.Permissions.Add("Role_Post"); //userAuth.Permissions.Add("Role_Delete"); //userAuth.Permissions.Add("Roles_Get"); //userAuth.Permissions.Add("User_Get"); //userAuth.Permissions.Add("User_Put"); //userAuth.Permissions.Add("User_Post"); //userAuth.Permissions.Add("Users_Get"); //userAuth.Permissions.Add("Users_Post"); } return userAuth; }
public SSAuthInterfaces.UserAuth GetUserAuthByUserName(string userNameOrEmail, UserRepository userRepository) { return GetUserAuthByUserName(_mongoDatabase, userNameOrEmail, userRepository); }
public void ShouldReadUserWithUserName() { // Arrange UserRepository repository = new UserRepository(ConfigSettings.UserDatabaseConnectionName); UserEntity entity = UserData.GetUserForInsert(); repository.ClearCollection(); entity = repository.Create(entity); // Act UserEntity actual = repository.Read(entity.UserName); // Assert Assert.AreEqual(entity.Id, actual.Id); }
public void ShouldUpdateUser() { // Arrange UserRepository repository = new UserRepository(ConfigSettings.UserDatabaseConnectionName); UserEntity entity = UserData.GetUserForInsert(); repository.ClearCollection(); entity = repository.Create(entity); entity.Meta.Add("UpdateField", "FieldUpdated"); // Act UserEntity actual = repository.Update(entity); // Assert Assert.AreEqual(entity.Meta["UpdateField"], actual.Meta["UpdateField"]); }
public void ShouldReadUserWithIdList() { // Arrange UserRepository repository = new UserRepository(ConfigSettings.UserDatabaseConnectionName); List<UserEntity> entities = UserData.GetUsersForInsert(); repository.ClearCollection(); entities = repository.Create(entities); List<long> userNames = entities.Select(x => x.Id).ToList(); // Act List<UserEntity> actual = repository.Read(userNames); // Assert Assert.AreEqual(entities.Count, actual.Count); }
public void TearDown() { UserRepository repository = new UserRepository(ConfigSettings.UserDatabaseConnectionName); repository.ClearCollection(); }