[Assert_Admin] public void ManualyGitCommitNewUsers() { userData.AutoGitCommit = false; var head1 = nGit.head(); Assert.IsNotNull(nGit); Assert.IsTrue(userData.Path_UserData.isGitRepository()); Assert.IsFalse(head1.isNull()); var tmUser = userData.newUser().tmUser(); var userXmlFile = tmUser.getTmUserXmlFile().fileName(); var untracked = nGit.status_Raw().untracked(); Assert.AreEqual(1, untracked.size()); Assert.AreEqual(userXmlFile, untracked.first()); nGit.add_and_Commit_using_Status(); untracked = nGit.status_Raw().untracked(); var head2 = nGit.head(); Assert.AreEqual(0, untracked.size()); Assert.IsFalse(nGit.head().isNull()); Assert.AreNotEqual(head1, head2); "Head is now: {0}".info(nGit.head()); }
public static int createDefaultAdminUser(this TM_UserData userData) { try { //var tmServer = userData.tmServer(); if (userData.isNull()) { return(-1); } //if(userData.tmServer().Users_Create_Default_Admin.isFalse()) // return -1; var tmConfig = TMConfig.Current; lock (tmConfig) { var defaultAdminUser_Name = tmConfig.TMSecurity.Default_AdminUserName; var defaultAdminUser_Pwd = tmConfig.TMSecurity.Default_AdminPassword; var defaultAdminUser_Email = tmConfig.TMSecurity.Default_AdminEmail; var adminUser = userData.tmUser(defaultAdminUser_Name); if (adminUser.notNull()) { if (adminUser.SecretData.PasswordHash.notValid() || tmConfig.OnInstallation.ForceDefaultAdminPassword) { "[createDefaultAdminUser] reseting password since passwordHash was not valid and ForceDefaultAdminPassword was set".error(); adminUser.SecretData.PasswordHash = adminUser.createPasswordHash(defaultAdminUser_Pwd); adminUser.event_User_Updated(); //adminUser.saveTmUser(); } if (adminUser.GroupID != (int)UserGroup.Admin) { "[createDefaultAdminUser] admin user was not admin (changed to admin)".error(); adminUser.GroupID = (int)UserGroup.Admin; adminUser.event_User_Updated(); //adminUser.saveTmUser(); } return(adminUser.UserID); } "[createDefaultAdminUser] admin user didn't exist (creating it)".debug(); var userId = userData.newUser(defaultAdminUser_Name, defaultAdminUser_Pwd, defaultAdminUser_Email, 1); adminUser = userId.tmUser(); adminUser.AccountStatus.ExpirationDate = DateTime.Now.AddYears(10); // default to setting the expiry value to 10 years in the future adminUser.event_User_Updated(); //adminUser.saveTmUser(); return(userId); } } catch (Exception ex) { ex.log("[TM_UserData][createDefaultAdminUser]"); return(-1); } }
public static int createTmUser(this TM_UserData userData, NewUser newUser) { if (newUser.isNull()) { return(0); } // ensure the email is lowercase (will fail validation otherwise) newUser.Email = newUser.Email.lower(); //validate user against the DataContract specificed in the NewUser class if (newUser.validation_Failed()) { return(0); } if (newUser.UserTags.notEmpty()) { foreach (var userTag in newUser.UserTags) { if (userTag.validation_Failed()) { return(0); } } } // if there is a groupId provided we must check if the user has the manageUsers Priviledge if (newUser.GroupId != 0) { UserRole.ManageUsers.demand(); } // Check if there is already a user with the provided username or email if (newUser.Username.tmUser().notNull() || newUser.Email.tmUser_FromEmail().notNull()) { userData.logTBotActivity("User Creation Fail", "Username ('{0}') or Email ('{1})already existed".format(newUser.Username, newUser.Email)); return(0); } // Create user return(userData.newUser(newUser.Username, newUser.Password, newUser.Email, newUser.Firstname, newUser.Lastname, newUser.Note, newUser.Title, newUser.Company, newUser.Country, newUser.State, newUser.UserTags, newUser.GroupId)); }
[Test] public void Manualy_Git_Commit_NewUsers() { var head1 = nGit.head(); nGit.assert_Is_Not_Null(); tmFileStorage.path_UserData().isGitRepository() .assert_Is_True(); head1.assert_Not_Null(); var tmUser = userData.newUser().tmUser(); var userXmlFile = tmFileStorage.user_XmlFile_Location(tmUser).assert_File_Exists(); var untracked = nGit.status_Raw().untracked(); untracked.assert_Size_Is(1) .first().assert_Equal_To(@"Users/{0}".format(userXmlFile.fileName())); nGit.add_and_Commit_using_Status(); nGit.status_Raw().untracked().assert_Size_Is(0); nGit.head().assert_Not_Null() .assert_Is_Not(head1); }
/* * [Test] * //[Ignore("Rewrite to take into account new Git Storage")] * //todo: fix compilation error * * [Assert_Admin] public void ManualyGitCommitNewUsers() * { * TMConfig.Current.Git.UserData_Git_Enabled = false; * * var head1 = nGit.head(); * * Assert.IsNotNull(nGit); * Assert.IsTrue (userData.Path_UserData.isGitRepository()); * Assert.IsFalse (head1.isNull()); * * var tmUser = userData.newUser().tmUser(); * var userXmlFile = tmUser.getTmUserXmlFile().fileName(); * var untracked = nGit.status_Untracked(); * * Assert.AreEqual (1,untracked.size()); * Assert.AreEqual (userXmlFile, untracked.first().fileName()); * * nGit.add_and_Commit_using_Status(); * untracked = nGit.status_Untracked(); * var head2 = nGit.head(); * Assert.AreEqual (0,untracked.size()); * Assert.IsFalse (nGit.head().isNull()); * Assert.AreNotEqual(head1, head2); * "Head is now: {0}".info(nGit.head()); * * TMConfig.Current.Git.UserData_Git_Enabled = true; * }*/ [Test][Assert_Admin] public void CheckGitRepoDoesCommits_OnNewUser() { Assert.IsTrue(userData.tmConfig().Git.UserData_Git_Enabled); userData.newUser(); // adding a user Assert.IsNotNull(nGit.head()); userData.newUser(); // adding another user var headBeforeUser = nGit.head(); userData.newUser(); var headAfterUser = nGit.head(); Assert.IsFalse(nGit.head().isNull()); Assert.AreNotEqual(headBeforeUser, headAfterUser, "Git Head value should be different after a TMUser create"); Assert.AreNotEqual(2, nGit.commits().size()); }
public static int newUser(this TM_UserData userData, string username, string password, string email) { return(userData.newUser(username, password, email, 0)); }
public static int newUser(this TM_UserData userData, string username, string password) { var randomEmail = "{0}@{1}.{2}".format(7.randomLetters(), 5.randomLetters(), 2.randomLetters()).lower(); return(userData.newUser(username, password, randomEmail, 0)); }
public static int newUser(this TM_UserData userData, string username) { return(userData.newUser(username, 5.randomLetters())); }
public static int newUser(this TM_UserData userData) { return(userData.newUser("test_user_{0}".format(5.randomLetters()))); }
public static TMUser createUser(this TM_UserData userData) { return(userData.newUser().tmUser()); }
public static Signup_Result createTmUserResponse(this TM_UserData userData, NewUser newUser) { var sigupResponse = new Signup_Result(); var tmConfig = TMConfig.Current; // ensure the email is lowercase (will fail validation otherwise) if (newUser.isNull()) { userData.logTBotActivity("User Creation Fail", "TEAM Mentor user is null"); sigupResponse.Signup_Status = Signup_Result.SignupStatus.Signup_Error; sigupResponse.UserCreated = 0; sigupResponse.Simple_Error_Message = tmConfig.TMErrorMessages.General_SignUp_Error_Message; return(sigupResponse); } newUser.Email = newUser.Email.lower(); //Validating if Username has not been already registered. if (newUser.Username.tmUser().notNull()) { userData.logTBotActivity("User Creation Fail", "Username ('{0}') already exist in TEAM Mentor".format(newUser.Username)); return(GetErrorMessage("Username", tmConfig.TMErrorMessages.SignUpUsernameAlreadyExist)); } //Email check (length, null, valid) if (newUser.Email.notNull() && newUser.Email.Length > 256) { userData.logTBotActivity("User Creation Fail", "Input rejected because email address ('{0}') is larger than 256 characters".format(newUser.Email)); return(GetErrorMessage("Email", tmConfig.TMErrorMessages.Email_Address_Is_Invalid)); } //Check email format if (newUser.valid_Email_Address().isFalse()) { userData.logTBotActivity("User Creation Fail", "Input rejected because email address ('{0}') is not valid".format(newUser.Email)); return(GetErrorMessage("Email", tmConfig.TMErrorMessages.Email_Address_Is_Invalid)); } if (newUser.Email.tmUser_FromEmail().notNull()) { userData.logTBotActivity("User Creation Fail", "Email ('{0}') already existed".format(newUser.Email)); return(GetErrorMessage("Email", tmConfig.TMErrorMessages.SignUpEmailAlreadyExist)); } //Validate Password Length. if (newUser.Password.Length < 8 || newUser.Password.Length > 256) { userData.logTBotActivity("User Creation Fail", "Password must be 8 to 256 character long but was {0}".format(newUser.Password.Length)); return(GetErrorMessage("Password", tmConfig.TMErrorMessages.PasswordLengthErrorMessage)); } //Password complexity if (!Regex.IsMatch(newUser.Password, ValidationRegex.PasswordComplexity)) { userData.logTBotActivity("User Creation Fail", "Password {0} does not meet complexity requirements.".format(newUser.Password)); return(GetErrorMessage("Password", tmConfig.TMErrorMessages.PasswordComplexityErroMessage)); } //validate user against the DataContract specificed in the NewUser class if (newUser.validation_Failed()) { return(ValidationFailed(tmConfig, newUser)); } if (newUser.UserTags.notEmpty()) { foreach (var userTag in newUser.UserTags) { if (userTag.validation_Failed()) { return(UserTags_Validation(tmConfig, userTag)); } } } // if there is a groupId provided we must check if the user has the manageUsers Priviledge if (newUser.GroupId != 0) { UserRole.ManageUsers.demand(); } var userCreated = userData.newUser(newUser.Username, newUser.Password, newUser.Email, newUser.Firstname, newUser.Lastname, newUser.Note, newUser.Title, newUser.Company, newUser.Country, newUser.State, newUser.UserTags, newUser.GroupId); if (userCreated > 0) { sigupResponse.UserCreated = userCreated; sigupResponse.Signup_Status = Signup_Result.SignupStatus.Signup_Ok; } else { userData.logTBotActivity("User Creation Fail", "Error occurred creating user".format(newUser.ToString())); sigupResponse.UserCreated = userCreated; sigupResponse.Signup_Status = Signup_Result.SignupStatus.Validation_Failed; sigupResponse.Simple_Error_Message = tmConfig.TMErrorMessages.General_SignUp_Error_Message; } return(sigupResponse); }
public static int newUser(this TM_UserData userData, string username, string password, string email, int groupId) { return(userData.newUser(username, password, email, "...", "...", "...", "...", "...", "...", "...", null, groupId)); }