From: Pieter v. Z. <pv...@us...> - 2005-08-02 07:13:49
|
Update of /cvsroot/coefficient/mailForum/src-test/za/org/coefficient/modules/mailforum In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30917/modules/mailForum/src-test/za/org/coefficient/modules/mailforum Added Files: MailForumTest.java Log Message: Test case to test the number of forums. Setup's a project, user and member. Currently there is no forums and should return -1. Uses the modules like UserAdmin --- NEW FILE: MailForumTest.java --- /** * */ package za.org.coefficient.modules.mailforum; import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.TimeZone; import net.sf.hibernate.HibernateException; import net.sf.hibernate.util.HibernateUtil; import za.org.coefficient.authentication.Role; import za.org.coefficient.core.Project; import za.org.coefficient.interfaces.CoefficientContext; import za.org.coefficient.testing.CoefficientTestCase; import za.org.coefficient.testing.CoefficientTestingContext; import za.org.coefficient.testing.TestDBSetup; /** * @author pieter20 Jul 19, 2005 * */ public class MailForumTest extends CoefficientTestCase { private TestDBSetup testDbSchema = null; /** * Jul 19, 2005 * * @author pieter20 */ public MailForumTest(String name) { super(name); } private void listAllProjects() { try { List list = HibernateUtil.findAll(Project.class); System.out .println("MailForumsTest.testListForums()->list size od project list:" + list.size()); list = HibernateUtil.findAll(Role.class); System.out .println("MailForumsTest.testListForums()->list size of all roles in db:" + list.size()); } catch (HibernateException e) { System.err .println("MailForumsTest.testListForums()->Could not retrieve any projects" + e); } }// end listAllProjects() /** * @author pieter20 Jul 31, 2005 Setup the default db */ public void setupTestDb() { // setup the default test db. testDbSchema = new TestDBSetup(); } /** * @author pieter20 Jul 31, 2005 Create's a project that will be used * throughout the test * @return object of type Project */ private Project createProject() { Project project = testDbSchema.setupDefaultProject(); try { HibernateUtil.saveOrUpdate(project); } catch (HibernateException e) { System.err .println("MailForumsTest.testListForums()->Project not saved" + e); } assertNotNull(project); return project; } /** * @author pieter20 Jul 31, 2005 Create a user for this test * @param requestMap * @param ctx * @param project */ private void createUser(Map requestMap, CoefficientContext ctx, Project project) { // set user // this could be done by calling the module UserAdmin requestMap.put("fullName", "Pieter van Zyl"); requestMap.put("email", "pv...@cs..."); requestMap.put("password1", "green"); requestMap.put("userName", "pvzyl"); requestMap.put("language", Locale.US); requestMap.put("timeZone", TimeZone.getDefault()); requestMap.put("active", new Boolean(true)); // Note: systemRole can not be populated using the BeanUtils. // We do not cater for the Role object in: // BaseCoefficientContext.setProperties(.. requestMap.put("module", "UserAdmin"); requestMap.put("op", "saveUser"); requestMap.put("password1", "green"); ctx = new CoefficientTestingContext(new HashMap(), requestMap, new HashMap()); ctx.setProject(project); Object result = null; // call method: try { result = invokeOpOnModule(ctx); } catch (Exception e) { System.err.println(e); } // checks if the user has been created assertNotNull(result); }// end createUser /** * @author pieter20 Jul 31, 2005 Associate a user with a project. The user * is specified as a parameter in the requestMap. * @param requestMap * @param ctx * @param project */ private void addUserToProject(Map requestMap, CoefficientContext ctx, Project project) { // associate member/user with project. Use MemberAdmin module's method: // addMember requestMap.put("module", "MemberAdmin"); requestMap.put("op", "addMember"); ctx = new CoefficientTestingContext(new HashMap(), requestMap, new HashMap()); ctx.setProject(project); Object result = null; // call method: try { result = invokeOpOnModule(ctx); } catch (Exception e) { System.err.println(e); } // checks if the user/member has been associated with this project: assertNotNull(result); }// end addUserToProject() /** * @author pieter20 Jul 19, 2005 * Test to see if the Forum lists the correct amount of forums */ public void testListForums() { // setup the default test db. setupTestDb(); // creates a default project without going through the project module. Project testProject = createProject(); listAllProjects(); Map requestMap = new HashMap(); CoefficientTestingContext ctx = null; createUser(requestMap, ctx, testProject); // associate member/user with project. Use MemberAdmin module's method: // addMember: addUserToProject(requestMap, ctx, testProject); // add all parameters that are need into the context map // add class=MailForum op=forumList requestMap.put("module", "MailForum"); requestMap.put("op", "forumList"); ctx = new CoefficientTestingContext(new HashMap(), requestMap, new HashMap()); ctx.setProject(testProject); Object result = null; // call method: try { result = invokeOpOnModule(ctx); } catch (Exception e) { System.err.println(e); } // the list should be empty and not null: assertNotNull(result); if (result instanceof CoefficientTestingContext) { ctx = (CoefficientTestingContext) result; try { int exist = ctx.getPage().getCenter().indexOf("forumid"); System.out .println("MailForumsTest.testListForums()-> contains forum: " + exist); } catch (Exception e) { e.printStackTrace(); } } else { System.out .println("MailForumTest.testListForums()->We are only interested in CoefficientTestingContext objects!!!!"); } } } |