1 2 22 23 package com.jaspersoft.jasperserver.war; 24 25 import junit.framework.Test; 26 import junit.framework.TestCase; 27 import junit.framework.TestSuite; 28 29 import com.meterware.httpunit.SubmitButton; 30 import com.meterware.httpunit.WebForm; 31 import com.meterware.httpunit.WebLink; 32 import com.meterware.httpunit.WebResponse; 33 34 39 public class HttpUnitCreateUserTest 40 extends HttpUnitBaseTestCase { 41 private static String userMgmtPageUrl = JasperServerConstants.BASE_URL + 42 "/jasperserver/usersearch.html"; 43 private static String objSecurityLink = "Object Security for User"; 44 private static String usrSearchFormText = "fmUsrSrch"; 45 private static String editUserFormText = "fmCreEdUsr"; 46 private static String newUsrButtonText = "newuser"; 47 private static String submitButtonText = "btSaveUser"; 48 private static String cancelButtonText = "btcancsave"; 49 private static String userNameText = "username"; 50 private static String usersText = "Selected Roles"; 51 private static String errMsg1Text = "Property username threw exception;"; 52 private static String errMsg2Text = "FullName can't be empty"; 53 private static String usersSearchText = "Enabled User?"; 54 55 private static SubmitButton cancelButton; 56 private static WebForm createUsrForm; 57 private static SubmitButton submitButton; 58 private static WebForm usrSearchForm; 59 private static SubmitButton newUsrButton; 60 61 64 public HttpUnitCreateUserTest() { 65 super(); 66 } 67 68 73 public HttpUnitCreateUserTest(String s) { 74 super(s); 75 } 76 77 82 public void setUp() 83 throws Exception { 84 commonLoginFunction(userMgmtPageUrl); 85 } 86 87 88 92 93 100 public void testCreateUserPage() 101 throws Exception { 102 User user = new User(); 103 user.setUserName("Test_HttpUnit"); 104 user.setFullName("Test_HttpUnit"); 105 user.setPassWord("123"); 106 user.setRePassWord("123"); 107 user.setEnable(true); 108 109 this.createNewUser(user); 110 WebResponse usrSearchPage = this.getWebConversation().getCurrentPage(); 111 112 String searchPage = usrSearchPage.getText(); 113 assertNotNull("User searsh page is null", searchPage); 114 115 if ((searchPage == null) || (searchPage.trim().length() == 0)) { 116 fail("No text found on response"); 117 } 118 119 assertTrue(searchPage.indexOf(usersSearchText) != -1); 120 } 121 122 129 public void testCreateNoUserPage() 130 throws Exception { 131 User user = new User(); this.createNewUser(user); 133 134 WebResponse resultPage = this.getWebConversation().getCurrentPage(); 135 assertNotNull("Result page is null", resultPage); 136 String createUserPage = resultPage.getText(); 137 138 if ((createUserPage == null) || (createUserPage.trim().length() == 0)) { 139 fail("No text found on response"); 140 } 141 142 assertTrue(createUserPage.indexOf(errMsg1Text) != -1 && createUserPage.indexOf(errMsg2Text) != -1); 143 } 144 145 152 public void testUserCancelPage() 153 throws Exception { 154 155 WebResponse usrSearchPage = this.getWebConversation().getCurrentPage(); 156 assertNotNull("User searsh page is null", usrSearchPage); 157 158 usrSearchForm = usrSearchPage.getFormWithName(usrSearchFormText); 159 assertNotNull("Form is null", usrSearchForm); 160 161 newUsrButton = usrSearchForm.getSubmitButton(newUsrButtonText); 162 assertNotNull("Button is null", newUsrButton); 163 164 usrSearchForm.submit(newUsrButton); 165 166 WebResponse createUsrPage = this.getWebConversation().getCurrentPage(); 167 createUsrForm = createUsrPage.getFormWithName(editUserFormText); 168 assertNotNull("Form is null", createUsrForm); 169 170 cancelButton = createUsrForm.getSubmitButton(cancelButtonText); 171 assertNotNull("Button is null", cancelButton); 172 173 createUsrPage = createUsrForm.submit(cancelButton); 174 175 WebResponse bckUsrSearchPage = this.getWebConversation().getCurrentPage(); 177 178 String str = bckUsrSearchPage.getText(); 179 assertNotNull("Text is null", str); 180 if(str == null || str.trim().length()== 0) 181 fail("There was no text in response"); 182 183 assertTrue(str.indexOf(usersSearchText)!= -1); 184 } 185 186 194 protected WebResponse createNewUser(User user) 195 throws Exception { 196 197 WebResponse userSearchPage = this.getWebConversation().getCurrentPage(); 198 199 usrSearchForm = userSearchPage.getFormWithName(usrSearchFormText); 201 newUsrButton = usrSearchForm.getSubmitButton(newUsrButtonText); 202 usrSearchForm.submit(newUsrButton); 203 204 WebResponse createSearchPage = this.getWebConversation().getCurrentPage(); 206 assertNotNull("Text Field Element on Create/Edit Page is not present", 207 createSearchPage.getElementsWithName(userNameText)); 208 209 assertNotNull("Text Field Element on Create/Edit Page is not present", 211 createSearchPage.getElementsWithName(usersText)); 212 213 WebLink link = createSearchPage.getLinkWith(objSecurityLink); 215 assertNotNull(objSecurityLink + "link is null",link); 216 217 218 WebResponse createUserPage = this.getWebConversation().getCurrentPage(); 219 220 WebResponse resultPage = this.saveUser(createUserPage, user); 221 222 return resultPage; 223 224 225 } 226 227 237 protected WebResponse saveUser(WebResponse webResponse, 238 User user) 239 throws Exception { 240 241 createUsrForm = webResponse.getFormWithName(editUserFormText); 242 submitButton = createUsrForm.getSubmitButton(submitButtonText); 243 createUsrForm.setParameter("username", user.getUserName()); 244 createUsrForm.setParameter("password", user.getPassWord()); 245 createUsrForm.setParameter("fullName", user.getFullName()); 246 createUsrForm.setParameter("repassword", user.getRePassWord()); 247 createUsrForm.setCheckbox("enabled", user.isEnable()); 248 249 WebResponse wbResponse = createUsrForm.submit(submitButton); 250 assertNotNull("The response is Null", wbResponse); 251 252 return wbResponse; 253 } 254 255 256 260 261 264 protected String [] getloginCredentials() { 265 return new String [] { USERNAME, PASSWORD }; 266 } 267 268 269 273 274 public class User { 275 private String userName; 276 private String passWord; 277 private String fullName; 278 private String rePassWord; 279 private boolean enable; 280 281 public User() { 282 super(); 283 } 284 285 public User(String userName, 286 String passwd, 287 String fullName, 288 String rePassWord, 289 boolean enable) { 290 super(); 291 this.fullName = fullName; 292 this.passWord = passwd; 293 this.userName = userName; 294 this.rePassWord = rePassWord; 295 this.enable = enable; 296 } 297 298 public boolean isEnable() { 299 return enable; 300 } 301 302 public void setEnable(boolean enable) { 303 this.enable = enable; 304 } 305 306 public String getFullName() { 307 return fullName; 308 } 309 310 public void setFullName(String fullName) { 311 this.fullName = fullName; 312 } 313 314 public String getPassWord() { 315 return passWord; 316 } 317 318 public void setPassWord(String passWord) { 319 this.passWord = passWord; 320 } 321 322 public String getRePassWord() { 323 return rePassWord; 324 } 325 326 public void setRePassWord(String rePassWord) { 327 this.rePassWord = rePassWord; 328 } 329 330 public String getUserName() { 331 return userName; 332 } 333 334 public void setUserName(String userName) { 335 this.userName = userName; 336 } 337 } 338 339 344 public static void main(String [] args) { 345 try { 346 junit.textui.TestRunner.run(suite()); 347 } catch (Exception _ex) { 348 _ex.printStackTrace(); 349 } 350 } 351 352 359 public static Test suite() 360 throws Exception { 361 TestSuite suite = new TestSuite(); 362 363 TestCase test1 = new HttpUnitCreateUserTest("testCreateUserPage"); 364 TestCase test2 = new HttpUnitCreateUserTest("testCreateNoUserPage"); 365 TestCase test3 = new HttpUnitCreateUserTest("testUserCancelPage"); 366 367 suite.addTest(test1); 368 suite.addTest(test2); 369 suite.addTest(test3); 370 return suite; 371 } 372 373 } 374 | Popular Tags |