private static void ProvisionUsers(List<UserAccount> data, List<String> failedUsers) { int delayForSeconds = SessionConfig.Setup.Delay; BrowserSession session = new BrowserSession(); ConsoleSpinner spin = new ConsoleSpinner(); var response = Login(session); foreach (var user in data) { response = NavigateToManageUsers(session); response = AddUserAccount(session, response, user); var failed = CheckIfFailed(response, failedUsers, user); if (String.IsNullOrEmpty(failed)) { Console.WriteLine("Added User {0}", user.Email); } else { failedUsers.Add(failed); Console.WriteLine("User Failed {0}", user.Email); } OutputDelayToConsole(delayForSeconds, spin); } }
private static HtmlDocument NavigateToManageUsers(BrowserSession session) { return session.NavigateTo(SessionConfig.Urls.ManageUsers); }
private static HtmlDocument Login(BrowserSession session) { session.Get(SessionConfig.Urls.Login); session.FormElements[SessionConfig.FormElements.LoginEmail] = SessionConfig.FormInput.AdminUsername; session.FormElements[SessionConfig.FormElements.LoginPassword] = SessionConfig.FormInput.AdminPassword; return session.Post(SessionConfig.Urls.Login); }
private static HtmlDocument AddUserAccount(BrowserSession session, HtmlDocument response, UserAccount user) { var token = GetRequestVerificationToken(response); if (!String.IsNullOrEmpty(token)) { session.FormElements[SessionConfig.Headers.RequestVerificationToken] = token; session.FormElements[SessionConfig.FormElements.Email] = user.Email; session.FormElements[SessionConfig.FormElements.Password] = user.Password; session.FormElements[SessionConfig.FormElements.ConfirmPassword] = user.Password; return session.Post(SessionConfig.Urls.CreateUser); } return null; }