Index: TestHarness4LAMS2/.cvsignore =================================================================== diff -u -r159c15ed2f6cc7c8f273367d199b196effd5f340 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/.cvsignore (.../.cvsignore) (revision 159c15ed2f6cc7c8f273367d199b196effd5f340) +++ TestHarness4LAMS2/.cvsignore (.../.cvsignore) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -1,2 +1,4 @@ build *.users +report_*.html +test.log* \ No newline at end of file Index: TestHarness4LAMS2/10forums.zip =================================================================== diff -u -re550f02589b19921c3319e6b1504593f673d6307 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 Binary files differ Index: TestHarness4LAMS2/123.zip =================================================================== diff -u -r7f004df92bf884af26247547f7a05978a6504041 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 Binary files differ Index: TestHarness4LAMS2/20nbs.zip =================================================================== diff -u -r5164df393c31ceaa51d13aca6c909397414fb89f -r883c4cc054a636dc8017da1b244b89bdaf0ff974 Binary files differ Index: TestHarness4LAMS2/2nbs.zip =================================================================== diff -u -r5164df393c31ceaa51d13aca6c909397414fb89f -r883c4cc054a636dc8017da1b244b89bdaf0ff974 Binary files differ Index: TestHarness4LAMS2/5tools.zip =================================================================== diff -u -r37d07da894922569d79ce4f517c45f8cbed4c452 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 Binary files differ Index: TestHarness4LAMS2/TestHarness4LAMS2.mdr =================================================================== diff -u -r44e9a6103e0071502738c3676085429d82da9d9e -r883c4cc054a636dc8017da1b244b89bdaf0ff974 Binary files differ Index: TestHarness4LAMS2/TestHarness4LAMS2.mdzip =================================================================== diff -u -r44e9a6103e0071502738c3676085429d82da9d9e -r883c4cc054a636dc8017da1b244b89bdaf0ff974 Binary files differ Index: TestHarness4LAMS2/adminTest1.properties =================================================================== diff -u -r159c15ed2f6cc7c8f273367d199b196effd5f340 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/adminTest1.properties (.../adminTest1.properties) (revision 159c15ed2f6cc7c8f273367d199b196effd5f340) +++ TestHarness4LAMS2/adminTest1.properties (.../adminTest1.properties) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -4,6 +4,7 @@ #----------------------------------------------------------------- CreateCourseURL = /admin/organisation.do?method=edit&typeId=2&parentId=1&parentName=Root CreateUserURL = /admin/user.do?method=edit&orgId=%orgId% +AddRolesURL = /admin/userrolessave.do #--------------------------------------------------------------- # Set course name for this test. Index: TestHarness4LAMS2/authorTest1.properties =================================================================== diff -u -r159c15ed2f6cc7c8f273367d199b196effd5f340 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/authorTest1.properties (.../authorTest1.properties) (revision 159c15ed2f6cc7c8f273367d199b196effd5f340) +++ TestHarness4LAMS2/authorTest1.properties (.../authorTest1.properties) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -7,7 +7,7 @@ # This LearningDesignFile is uploaded to import a Learning Design # It could be relative path or absolute path or any valid URL #----------------------------------------------------------------- -LearningDesignFile = 2nbs.zip +LearningDesignFile = 30forums.zip #----------------------------------------------------------------- # If LearningDesignId is set, Index: TestHarness4LAMS2/learnerTest1.properties =================================================================== diff -u -r044d2c0977e88053366db9cecba68192a6cebe5a -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/learnerTest1.properties (.../learnerTest1.properties) (revision 044d2c0977e88053366db9cecba68192a6cebe5a) +++ TestHarness4LAMS2/learnerTest1.properties (.../learnerTest1.properties) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -1,7 +1,6 @@ #------------------------------------------------------------------- # A bunch of URLs to be used have to be defined #------------------------------------------------------------------- -GetLessonURL = /monitoring/monitoring.do?method=getLessonDetailsJSON&lessonID=%lsId% JoinLessonURL = /learning/learner.do?method=joinLesson&lessonID=%lsId% LessonEntryURL = /learning/DisplayActivity.do?lessonID=%lsId% Index: TestHarness4LAMS2/monitorTest1.properties =================================================================== diff -u -r159c15ed2f6cc7c8f273367d199b196effd5f340 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/monitorTest1.properties (.../monitorTest1.properties) (revision 159c15ed2f6cc7c8f273367d199b196effd5f340) +++ TestHarness4LAMS2/monitorTest1.properties (.../monitorTest1.properties) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -9,13 +9,9 @@ InitLessonURL = /monitoring/monitoring.do?method=initializeLesson&learningDesignID=%ldId%&organisationID=%orgId%&userID=%uid%&lessonName=%name% CreateLessonClassURL = /monitoring/monitoring.do?method=createLessonClass&userID=%uid% StartLessonURL = /monitoring/monitoring.do?method=startLesson&lessonID=%lsId%&userID=%uid% +GetAllLearnersProgressURL = /monitoring/monitoring.do?method=getLessonProgress&lessonID=%lsId% -GetLessonDetailsURL = /monitoring/monitoring.do?method=getLessonDetailsJSON&lessonID=%lsId% -GetContributeActivitiesURL = /monitoring/monitoring.do?method=getAllContributeActivities&lessonID=%lsId% -GetLearningDesignDetailsURL = /authoring/author.do?method=getLearningDesignDetails&learningDesignID=%ldId% -GetAllLearnersProgressURL = /monitoring/monitoring.do?method=getAllLearnersProgress&lessonID=%lsId% - #----------------------------------------------------------------- # If LessonId is set, # All the settings above and AuthorTest will be ignored Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/Main.java =================================================================== diff -u -r41955af92f3e17f2f11c07d94ae1a5f92b0d998f -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/Main.java (.../Main.java) (revision 41955af92f3e17f2f11c07d94ae1a5f92b0d998f) +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/Main.java (.../Main.java) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -40,8 +40,8 @@ // configure log4j PropertyConfigurator.configure("log.properties"); // configure HttpUnit - // stops the unsupported javascript stuff from throwing an exception - HttpUnitOptions.setExceptionsThrownOnScriptError(false); + // stops Javascript parsing, it's not needed + HttpUnitOptions.setScriptingEnabled(false); // WebClient.getResponse does not throw an exception when it receives an error status. HttpUnitOptions.setExceptionsThrownOnErrorStatus(false); } Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/MockUser.java =================================================================== diff -u -r159c15ed2f6cc7c8f273367d199b196effd5f340 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/MockUser.java (.../MockUser.java) (revision 159c15ed2f6cc7c8f273367d199b196effd5f340) +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/MockUser.java (.../MockUser.java) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -107,7 +107,7 @@ Map params = new HashMap(); params.put(MockUser.USERNAME, username); params.put(MockUser.PASSWORD, MockUser.sha1(password)); - resp = (WebResponse) new Call(wc, test, "User login", fillForm(resp, 0, params)).execute(); + resp = (WebResponse) new Call(wc, test, username + " login", fillForm(resp, 0, params)).execute(); if (!MockUser.checkPageContains(resp, MockUser.INDEX_PAGE_FLAG)) { MockUser.log.debug(resp.getText()); throw new TestHarnessException(username + " failed to login with password " + password); @@ -173,16 +173,16 @@ } return form; } - - public boolean equals(Object o){ + + public boolean equals(Object o) { return username.equals(((MockUser) o).username); } - - public int hashCode(){ + + public int hashCode() { return username.hashCode(); } public String getRole() { - return role; + return role; } } \ No newline at end of file Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/TestManager.java =================================================================== diff -u -r044d2c0977e88053366db9cecba68192a6cebe5a -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/TestManager.java (.../TestManager.java) (revision 044d2c0977e88053366db9cecba68192a6cebe5a) +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/TestManager.java (.../TestManager.java) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -80,6 +80,7 @@ // property keys of admin test private static final String CREATE_COURSE_URL = "CreateCourseURL"; private static final String CREATE_USER_URL = "CreateUserURL"; + private static final String ADD_ROLES_URL = "AddRolesURL"; private static final String COURSE_NAME = "CourseName"; private static final String COURSE_ID = "CourseId"; private static final String SYSADMIN_USERNAME = "SysadminUsername"; @@ -107,7 +108,6 @@ private static final String NUMBER_LEARNERS = "NumberOfLearners"; private static final String LEARNER_OFFSET = "LearnerOffset"; private static final String BASE_LEARNER_NAME = "BaseLearnerName"; - private static final String GET_LESSON_URL = "GetLessonURL"; private static final String JOIN_LESSON_URL = "JoinLessonURL"; private static final String LESSON_ENTRY_URL = "LessonEntryURL"; private static final String FILES_TO_UPLOAD = "FilesToUpload"; @@ -228,14 +228,16 @@ TestManager.CREATE_COURSE_URL, courseId != null); String createUserURL = TestManager.getStringProperty(adminTestPropertyFileName, adminTestProperties, TestManager.CREATE_USER_URL, false); + String addRolesURL = TestManager.getStringProperty(adminTestPropertyFileName, adminTestProperties, + TestManager.ADD_ROLES_URL, false); String courseName = TestManager.getStringProperty(adminTestPropertyFileName, adminTestProperties, TestManager.COURSE_NAME, true); String sysadminUsername = TestManager.getStringProperty(adminTestPropertyFileName, adminTestProperties, TestManager.SYSADMIN_USERNAME, false); String sysadminPassword = TestManager.getStringProperty(adminTestPropertyFileName, adminTestProperties, TestManager.SYSADMIN_PASSWORD, false); - AdminTest test = new AdminTest(testName, minDelay, maxDelay, createCourseURL, createUserURL, + AdminTest test = new AdminTest(testName, minDelay, maxDelay, createCourseURL, createUserURL, addRolesURL, courseId == null ? null : courseId.toString(), courseName, storedUsersFileName); test.setUsers(new MockAdmin[] { new MockAdmin(test, sysadminUsername, sysadminPassword) }); @@ -291,16 +293,14 @@ learnerOffset = learnerOffset == null ? 1 : learnerOffset; String baseLearnerName = TestManager.getStringProperty(learnerTestPropertyFileName, learnerTestProperties, TestManager.BASE_LEARNER_NAME, true); - String getLessonURL = TestManager.getStringProperty(learnerTestPropertyFileName, learnerTestProperties, - TestManager.GET_LESSON_URL, false); String joinLessonURL = TestManager.getStringProperty(learnerTestPropertyFileName, learnerTestProperties, TestManager.JOIN_LESSON_URL, false); String lessonEntryURL = TestManager.getStringProperty(learnerTestPropertyFileName, learnerTestProperties, TestManager.LESSON_ENTRY_URL, false); String filesToUpload = TestManager.getStringProperty(learnerTestPropertyFileName, learnerTestProperties, TestManager.FILES_TO_UPLOAD, false); - LearnerTest test = new LearnerTest(testName, minDelay, maxDelay, getLessonURL, joinLessonURL, lessonEntryURL, + LearnerTest test = new LearnerTest(testName, minDelay, maxDelay, joinLessonURL, lessonEntryURL, filesToUpload == null ? null : filesToUpload.split(";")); MockLearner[] learners = new MockLearner[numberOfLearners]; @@ -335,12 +335,6 @@ TestManager.CREATE_LESSON_CLASS_URL, lsId != null); String startLessonURL = TestManager.getStringProperty(monitorTestPropertyFileName, monitorTestProperties, TestManager.START_LESSON_URL, lsId != null); - String getLessonDetailsURL = TestManager.getStringProperty(monitorTestPropertyFileName, monitorTestProperties, - TestManager.GET_LESSON_DETAILS_URL, lsId != null); - String getContributeActivitiesURL = TestManager.getStringProperty(monitorTestPropertyFileName, - monitorTestProperties, TestManager.GET_CA_URL, lsId != null); - String getLearningDesignDetailsURL = TestManager.getStringProperty(monitorTestPropertyFileName, - monitorTestProperties, TestManager.GET_LD_DETAILS_URL, lsId != null); String getAllLearnersProgressURL = TestManager.getStringProperty(monitorTestPropertyFileName, monitorTestProperties, TestManager.GET_ALL_PROGRESS_URL, lsId != null); String lsName = TestManager.getStringProperty(monitorTestPropertyFileName, monitorTestProperties, @@ -349,8 +343,7 @@ TestManager.BASE_MONITOR_NAME, true); MonitorTest test = new MonitorTest(testName, minDelay, maxDelay, initLessonURL, createLessonClassURL, - startLessonURL, getLessonDetailsURL, getContributeActivitiesURL, getLearningDesignDetailsURL, - getAllLearnersProgressURL, lsName, lsId == null ? null : lsId.toString()); + startLessonURL, getAllLearnersProgressURL, lsName, lsId == null ? null : lsId.toString()); baseMonitorName = baseMonitorName == null ? MockMonitor.DEFAULT_NAME : baseMonitorName; String username = TestUtil.buildName(testName, baseMonitorName, TestManager.MAX_USERNAME_LENGTH); Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/TestUtil.java =================================================================== diff -u -r044d2c0977e88053366db9cecba68192a6cebe5a -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/TestUtil.java (.../TestUtil.java) (revision 044d2c0977e88053366db9cecba68192a6cebe5a) +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/TestUtil.java (.../TestUtil.java) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -45,22 +45,6 @@ return TestUtil.truncate(TestUtil.buildName(TestUtil.truncate(testName, 1, true), simpleName), maxLength, true); } - public static String extractString(String text, String startFlag, char endFlag) { - String target = null; - try { - int index = text.indexOf(startFlag); - if (index != -1) { - int startIndex = index + startFlag.length(); - int endIndex = text.indexOf(endFlag, startIndex); - target = text.substring(startIndex, endIndex); - } - } catch (IndexOutOfBoundsException e) { - TestUtil.log.error("Index out of bounds. StartFlag: " + startFlag + ", endFlag: " + endFlag + ", text: " - + text); - } - return target; - } - public static int generateRandomNumber(int length) { return new Random().nextInt(length); } Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/admin/AdminTest.java =================================================================== diff -u -r159c15ed2f6cc7c8f273367d199b196effd5f340 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/admin/AdminTest.java (.../AdminTest.java) (revision 159c15ed2f6cc7c8f273367d199b196effd5f340) +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/admin/AdminTest.java (.../AdminTest.java) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -40,15 +40,17 @@ private String createCourseURL; private String createUserURL; + private String addRolesURL; private String courseName; private String courseId; private String storedUsersFileName; public AdminTest(String testName, Integer minDelay, Integer maxDelay, String createCourseURL, String createUserURL, - String courseId, String courseName, String storedUsersFileName) { + String addRolesURL, String courseId, String courseName, String storedUsersFileName) { super(testName, minDelay, maxDelay); this.createCourseURL = createCourseURL; this.createUserURL = createUserURL; + this.addRolesURL = addRolesURL; this.courseName = courseName == null ? TestUtil.buildName(testName, AdminTest.DEFAULT_COURSE_NAME) : TestUtil .buildName(testName, courseName); this.courseId = courseId; @@ -63,14 +65,6 @@ return courseName; } - public final String getCreateCourseURL() { - return createCourseURL; - } - - public final String getCreateUserURL() { - return createUserURL; - } - public final void setCourseId(String courseId) { this.courseId = courseId; } @@ -92,6 +86,6 @@ if (courseId == null) { setCourseId(admin.createCourse(createCourseURL, courseName)); } - admin.createUsers(createUserURL, courseId, storedUsersFileName); + admin.createUsers(createUserURL, addRolesURL, courseId, storedUsersFileName); } } \ No newline at end of file Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/admin/MockAdmin.java =================================================================== diff -u -r159c15ed2f6cc7c8f273367d199b196effd5f340 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/admin/MockAdmin.java (.../MockAdmin.java) (revision 159c15ed2f6cc7c8f273367d199b196effd5f340) +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/admin/MockAdmin.java (.../MockAdmin.java) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -22,7 +22,9 @@ */ package org.lamsfoundation.testharness.admin; +import java.io.ByteArrayInputStream; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -78,6 +80,7 @@ private static final char USER_ID_END_FLAG = '&'; private static final String LOGIN_TAKEN_ERROR = "Login is already taken."; + private static final Pattern NEW_USER_ID_PATTERN = Pattern.compile("name=\"userId\" value=\"(\\d+)\""); private static final Pattern EXISTING_USER_ID_PATTERN = Pattern.compile(", ID: (\\d+)"); public MockAdmin(AbstractTest test, String username, String password) { @@ -87,8 +90,8 @@ public String createCourse(String createCourseURL, String courseName) { try { delay(); - WebResponse resp = (WebResponse) new Call(wc, test, "Creating Course:" + courseName, createCourseURL) - .execute(); + WebResponse resp = (WebResponse) new Call(wc, test, username + " creating course " + courseName, + createCourseURL).execute(); if (!MockUser.checkPageContains(resp, MockAdmin.COURSE_FORM_FLAG)) { MockAdmin.log.debug(resp.getText()); throw new TestHarnessException(username + " did not get course creation page with the url:" @@ -97,7 +100,8 @@ Map params = new HashMap(); params.put(MockAdmin.COURSE_NAME, courseName); // fill the form and submit it and return the course id - resp = (WebResponse) new Call(wc, test, "Submit Course Creation Form", fillForm(resp, 0, params)).execute(); + resp = (WebResponse) new Call(wc, test, username + " submit course creation form", + fillForm(resp, 0, params)).execute(); WebTable[] tables = resp.getTables(); if ((tables == null) || (tables.length == 0)) { MockAdmin.log.debug(resp.getText()); @@ -125,7 +129,7 @@ } } - public void createUsers(String createUserURL, String courseId, String storedUsersFileName) { + public void createUsers(String createUserURL, String addRolesURL, String courseId, String storedUsersFileName) { try { String url = createUserURL.replace(MockAdmin.COURSE_ID_PATTERN, courseId.toString()); List mockUsers = new ArrayList(); @@ -137,50 +141,63 @@ Collections.addAll(mockUsers, learnerTest.getUsers()); for (MockUser mockUser : mockUsers) { - String name = mockUser.getUsername(); - if (mockUser.getUserId() != null) { - log.debug("User " + name + " already exists, skipping creation"); - continue; - } - delay(); - // create the user - MockAdmin.log.info(username + " creating user " + name); - WebResponse resp = (WebResponse) new Call(wc, test, username + " creating user " + name, url).execute(); - if (!MockUser.checkPageContains(resp, MockAdmin.USER_FORM_FLAG)) { - MockAdmin.log.debug(resp.getText()); - throw new TestHarnessException(username + " did not get user creation page with the url " + url); - } - Map params = new HashMap(); - params.put(MockAdmin.LOGIN, name); - params.put(MockAdmin.PASSWORD, name); - params.put(MockAdmin.PASSWORD2, name); - params.put(MockAdmin.FIRST_NAME, name); - params.put(MockAdmin.LAST_NAME, MockAdmin.COMMON_LAST_NAME); - params.put(MockAdmin.EMAIL, - name + "@" + MockAdmin.COMMON_LAST_NAME + "." + MockAdmin.COMMON_LAST_NAME.toLowerCase()); - resp = (WebResponse) new Call(wc, test, username + " submit user creation form", fillForm(resp, 0, - params)).execute(); - // add the roles - String respText = resp.getText(); - if (respText.indexOf(MockAdmin.LOGIN_TAKEN_ERROR) != -1) { - Matcher m = MockAdmin.EXISTING_USER_ID_PATTERN.matcher(respText); - if (m.find()) { - String userId = m.group(1); - mockUser.setUserId(userId); - MockAdmin.log.debug("User " + name + " already exists with ID: " + userId); + String name = mockUser.getUsername(); + WebResponse resp = null; + if (mockUser.getUserId() == null) { + // create the user + MockAdmin.log.info(username + " creating user " + name); + resp = (WebResponse) new Call(wc, test, username + " creating user " + name, url).execute(); + if (!MockUser.checkPageContains(resp, MockAdmin.USER_FORM_FLAG)) { + MockAdmin.log.debug(resp.getText()); + throw new TestHarnessException(username + " did not get user creation page with the url " + url); + } + Map params = new HashMap(); + params.put(MockAdmin.LOGIN, name); + params.put(MockAdmin.PASSWORD, name); + params.put(MockAdmin.PASSWORD2, name); + params.put(MockAdmin.FIRST_NAME, name); + params.put(MockAdmin.LAST_NAME, MockAdmin.COMMON_LAST_NAME); + params.put(MockAdmin.EMAIL, name + "@" + MockAdmin.COMMON_LAST_NAME + "." + + MockAdmin.COMMON_LAST_NAME.toLowerCase()); + resp = (WebResponse) new Call(wc, test, username + " submit user creation form", fillForm(resp, 0, + params)).execute(); + // add the roles + String respText = resp.getText(); + + if (respText.contains(MockAdmin.LOGIN_TAKEN_ERROR)) { + Matcher m = MockAdmin.EXISTING_USER_ID_PATTERN.matcher(respText); + if (m.find()) { + String userId = m.group(1); + mockUser.setUserId(userId); + MockAdmin.log.debug("User " + name + " already exists with ID " + userId); + } else { + throw new TestHarnessException("User " + name + + " already exists, but could not retrieve his ID"); + } } else { - throw new TestHarnessException("User " + name - + " already exists, but could not retrieve his ID"); + Matcher m = MockAdmin.NEW_USER_ID_PATTERN.matcher(respText); + if (m.find()) { + String userId = m.group(1); + mockUser.setUserId(userId); + MockAdmin.log.debug("User " + name + " created with ID " + userId); + } else { + throw new TestHarnessException("User " + name + + " was just created, but could not retrieve his ID"); + } } - continue; + } else { + MockAdmin.log.debug("User " + name + " already exists, skipping creation"); } + StringBuilder bodyBuilder = new StringBuilder(); + bodyBuilder.append("orgId=").append(courseId).append("&userId=").append(mockUser.getUserId()) + .append("&roles=").append(mockUser.getRole()); + InputStream is = new ByteArrayInputStream(bodyBuilder.toString().getBytes("UTF-8")); + MockAdmin.log.info(username + " adding roles to user " + name); - params = new HashMap(); - params.put(MockAdmin.ROLES, new String[] { mockUser.getRole() }); - resp = (WebResponse) new Call(wc, test, username + " submit user rolesform", fillForm(resp, 0, params)) + resp = (WebResponse) new Call(wc, test, username + " submit user roles form", addRolesURL, is) .execute(); WebTable[] tables = resp.getTables(); if ((tables == null) || (tables.length < 2)) { Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/author/MockAuthor.java =================================================================== diff -u -r159c15ed2f6cc7c8f273367d199b196effd5f340 -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/author/MockAuthor.java (.../MockAuthor.java) (revision 159c15ed2f6cc7c8f273367d199b196effd5f340) +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/author/MockAuthor.java (.../MockAuthor.java) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -69,7 +69,7 @@ public String importLearningDesign(String learningDesignUploadURL, File file) { try { delay(); - WebResponse resp = (WebResponse) new Call(wc, test, "Import Learning Design", learningDesignUploadURL) + WebResponse resp = (WebResponse) new Call(wc, test, username + " import Learning Design", learningDesignUploadURL) .execute(); if (!MockUser.checkPageContains(resp, MockAuthor.IMPORT_FORM_FLAG)) { MockAuthor.log.debug(resp.getText()); @@ -78,7 +78,7 @@ } Map params = new HashMap(); params.put(MockAuthor.UPLOAD_FILE_PARAM, file); - resp = (WebResponse) new Call(wc, test, "Submit Learning Design Import Form", fillForm(resp, 0, params)) + resp = (WebResponse) new Call(wc, test, username + " submits Learning Design import form", fillForm(resp, 0, params)) .execute(); if (!MockUser.checkPageContains(resp, MockAuthor.IMPORT_SUCCESS_FLAG)) { MockAuthor.log.debug(resp.getText()); Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/LearnerTest.java =================================================================== diff -u -r044d2c0977e88053366db9cecba68192a6cebe5a -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/LearnerTest.java (.../LearnerTest.java) (revision 044d2c0977e88053366db9cecba68192a6cebe5a) +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/LearnerTest.java (.../LearnerTest.java) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -40,7 +40,6 @@ private static final Logger log = Logger.getLogger(LearnerTest.class); - protected String getLessonURL; protected String joinLessonURL; protected String lessonEntryURL; protected String[] filesToUpload; @@ -50,10 +49,9 @@ * LearnerTest Constructor * */ - public LearnerTest(String testName, Integer minDelay, Integer maxDelay, String getLessonURL, String joinLessonURL, + public LearnerTest(String testName, Integer minDelay, Integer maxDelay, String joinLessonURL, String lessonEntryURL, String[] filesToUpload) { super(testName, minDelay, maxDelay); - this.getLessonURL = getLessonURL; this.joinLessonURL = joinLessonURL; this.lessonEntryURL = lessonEntryURL; this.filesToUpload = filesToUpload; Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java =================================================================== diff -u -r044d2c0977e88053366db9cecba68192a6cebe5a -r883c4cc054a636dc8017da1b244b89bdaf0ff974 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java (.../MockLearner.java) (revision 044d2c0977e88053366db9cecba68192a6cebe5a) +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java (.../MockLearner.java) (revision 883c4cc054a636dc8017da1b244b89bdaf0ff974) @@ -24,7 +24,9 @@ import java.io.File; import java.io.IOException; +import java.net.URLEncoder; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -34,8 +36,6 @@ import java.util.regex.Pattern; import org.apache.log4j.Logger; -import org.apache.tomcat.util.json.JSONException; -import org.apache.tomcat.util.json.JSONObject; import org.lamsfoundation.testharness.Call; import org.lamsfoundation.testharness.MockUser; import org.lamsfoundation.testharness.TestHarnessException; @@ -50,38 +50,24 @@ import com.meterware.httpunit.WebResponse; /** - * @version - * - *

- * View Source - *

- * - * @author Fei Yang + * @author Fei Yang, Marcin Cieslak */ public class MockLearner extends MockUser implements Runnable { private static final Logger log = Logger.getLogger(MockLearner.class); public static final String DEFAULT_NAME = "Learner"; - private static final String ARBITRARY_TEXT_ALPHABET = "`1234567890-=qwertyuiop[]\\asdfghjkl;'\tzxcvbnm,./ ~!@#$%^&*()_+}{POIUYTREWQASDFGHJKL:\"?> buttons = new ArrayList