public void GOUserRolePostTest(IDictionary testData) { #region Arrange var currentEntity = new GOUserRoleDataObject(); var include = ""; var token = ""; currentEntity.IsNew = Convert.ToBoolean(testData["IsNew"].ToString()); if (!currentEntity.IsNew) { currentEntity.GORoleName = testData["GORoleName"].ToString().Trim() != null ? testData["GORoleName"].ToString().Trim().ToString() : null; currentEntity.GOUserId = System.Guid.Parse(testData["GOUserId"].ToString().Trim()); include = testData["Include"].ToString().Trim(); } var expected_result = ConvertToStatusCode(testData["Result"]); #endregion #region Act var json = JsonConvert.SerializeObject(currentEntity); var postUrl = APITestManager.doPostRequestBody(json, include); APIWebRequest request = new APIWebRequest(); var username = testData["Username"].ToString().Trim(); var password = testData["Password"].ToString().Trim(); token = request.getToken(APITestManager.getAuthenticateUrl(), username, password); using (var testResponse = request.ProcessAPIWebRequest(appUrl, APIWebRequest.TypeCall.Save, postUrl, token)) { var status_code = testResponse.StatusCode; var status_description = testResponse.Status; var response_body = testResponse.Body; #endregion #region Assert APITestManager.displayResponse(testResponse); Assert.AreEqual(expected_result, status_code); if (status_code == HttpStatusCode.OK) { // to be implemented } #endregion } }
private GOUserDataObject CreateNewUser(string username, string firstname, string lastname, string email, string password, bool emailvalidated = false, bool uservalidated = false) { var newUser = new GOUserDataObject(); var dataset = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); dataset.AddObject(newUser); newUser.UserName = username; newUser.EmailAddress = email; newUser.FirstName = firstname; newUser.LastName = lastname; newUser.FullName = !String.IsNullOrEmpty(firstname) && !String.IsNullOrEmpty(firstname) ? $"{firstname} {lastname}" : username; newUser.EmailValidated = emailvalidated; newUser.UserValidated = uservalidated; var role = DataFacade.GORoleDataProvider.Get(new GORoleDataObject(DefaultRoleForNewUsers), skipSecurity: true); var gouserrole = new GOUserRoleDataObject() { GORoleName = role.Name }; newUser.UserRoleItems.Add(gouserrole); gouserrole.Role = role; DateTime? passwordExpiry; GORoleDataObject rejectingRole; if (!PasswordPolicy.AcceptPassword(newUser, password, out passwordExpiry, out rejectingRole)) { throw new GOServerException <PasswordPolicyNotSatisfied>(rejectingRole.PasswordPolicySummary); } newUser.Password = password; newUser.PasswordExpiry = passwordExpiry; var includes = new List <string> { "UserRoleItems.Role", "UserGroupItems.Group.GroupRoleItems" }; return(DataFacade.GOUserDataProvider.Save(newUser, null, includes: includes, skipSecurity: true)); }