You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by jm...@apache.org on 2005/01/30 08:17:01 UTC
svn commit: r149110 - /struts/apps/trunk/blank/project.xml /struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java /struts/apps/trunk/examples/project.xml /struts/apps/trunk/project.xml
Author: jmitchell
Date: Sat Jan 29 23:17:00 2005
New Revision: 149110
URL: http://svn.apache.org/viewcvs?view=rev&rev=149110
Log:
fix a few small mistakes and add/change some new tests - this should allow us to easily extend the UserDatabaseTest and provide multiple impls and tests as well
Modified:
struts/apps/trunk/blank/project.xml
struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java
struts/apps/trunk/examples/project.xml
struts/apps/trunk/project.xml
Modified: struts/apps/trunk/blank/project.xml
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/blank/project.xml?view=diff&rev=149110&p1=struts/apps/trunk/blank/project.xml&r1=149109&p2=struts/apps/trunk/blank/project.xml&r2=149110
==============================================================================
--- struts/apps/trunk/blank/project.xml (original)
+++ struts/apps/trunk/blank/project.xml Sat Jan 29 23:17:00 2005
@@ -2,7 +2,7 @@
<project>
<extend>${basedir}/../project.xml</extend>
- <id>blank</id>
+ <id>struts-blank</id>
<name>Struts blank web application</name>
<package>org.apache.struts.webapp.blank.*</package>
Modified: struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java?view=diff&rev=149110&p1=struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java&r1=149109&p2=struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java&r2=149110
==============================================================================
--- struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java (original)
+++ struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java Sat Jan 29 23:17:00 2005
@@ -5,60 +5,136 @@
*/
package org.apache.struts.apps.mailreader.dao.impl.memory;
-import java.io.BufferedOutputStream;
-import java.io.FileOutputStream;
-import java.io.ObjectOutputStream;
+import org.apache.struts.apps.mailreader.dao.ExpiredPasswordException;
+import org.apache.struts.apps.mailreader.dao.Subscription;
+import org.apache.struts.apps.mailreader.dao.User;
+import org.apache.struts.apps.mailreader.dao.UserDatabase;
import junit.framework.TestCase;
/**
* TODO Complete use case tests for:
- * - open, findUser(existing), close
- * - open, findUser(bogus), close
- * - open, findUsers(), close
- * - open, createUser1, find(new one 1), close
- * - open, createUser2, find(existing), close
- * - open, createUser3, findUsers(all), close
- * - open, findUsers(all), close
- * - open, find(new one 1), close
- * - open, find(new one 2), close
- * - open, find(new one 3), close
- * - open, find(new one 1), find(new one 3), close
- * - open, remove2, find(new one2)
+ * - [01 ] findUser(existing) [done]
+ * - [02 ] findUser(bogus) [done]
+ * - [03 ] findUsers() [done]
+ * - [04 ] createUser1, find(new one 1) [done]
+ * - [05 ] createUser2, find(existing) []
+ * - [06 ] createUser3, findUsers(all) []
+ * - [06a] createUser4 (duplicate) []
+ * - [07 ] findUsers(all) []
+ * - [08 ] find(new one 1) []
+ * - [09 ] find(new one 2) []
+ * - [10 ] find(new one 3) []
+ * - [10a] find(bogus) []
+ * - [11 ] find(new one 1), find(new one 3) []
+ * - [12 ] remove2, find(new one2) []
+ * - [13 ] remove(bogus) []
*
*/
public class MemoryUserDatabaseTest extends TestCase {
- private MemoryUserDatabase memoryUserDatabase;
- private String defaultPathName = "dao/target/test-classes/database.xml";
+ private UserDatabase userDatabase;
+ protected String defaultPathName = "test-database.xml";
+ private int userCt = 10;
+ private int subscriptionCt = 20;
protected void setUp() throws Exception {
super.setUp();
- memoryUserDatabase = new MemoryUserDatabase();
- memoryUserDatabase.setPathname(defaultPathName);
- memoryUserDatabase.open();
+ if (userDatabase == null){
+ userDatabase = getNewUserDatabase();
+
+
+ for (int i = 0; i < userCt; i++) {
+ User user = getNewUser(userDatabase, "user" + i);
+ user.setFromAddress("fromAddress" + i);
+ user.setFullName("fullName" + i);
+ user.setPassword("password" + i);
+
+ for (int j = 0; j < subscriptionCt; j++) {
+ Subscription subscription = getNewSubscription(user, "host" + j);
+ subscription.setAutoConnect(j % 1 == 0);
+ subscription.setUsername("subscriptionUserName" + j);
+ subscription.setPassword("subscriptionPassword" + j);
+ subscription.setType("type" + j);
+ }
+ }
+
+ userDatabase.close();
+ }
}
+
protected void tearDown() throws Exception {
super.tearDown();
- memoryUserDatabase.close();
+ userDatabase.close();
}
- public void testGetPathname() {
- assertTrue("Checking defaultPathName", defaultPathName.equals(memoryUserDatabase.getPathname()));
+ public void testCase01(){
+ try {
+ User user = userDatabase.findUser("user5");
+ assertTrue("Check username", "user5".equals(user.getUsername()));
+ assertTrue("Check fromAddress", "fromAddress5".equals(user.getFromAddress()));
+ assertTrue("Check fullName", "fullName5".equals(user.getFullName()));
+ assertTrue("Check password", "password5".equals(user.getPassword()));
+ assertNull("Check replyToAddress", user.getReplyToAddress());
+
+ } catch (ExpiredPasswordException e) {
+ fail(e.getMessage());
+ }
+
}
-
- public void testSetPathname() {
- String newPath = "new-path.xml";
+ public void testCase02(){
+ try {
+ User user = userDatabase.findUser("bogusName");
+ assertNull(user);
+
+ } catch (ExpiredPasswordException e) {
+ fail(e.getMessage());
+ }
+ }
+
+ public void testCase03(){
+ User[] users = userDatabase.findUsers();
+ assertTrue("Check users", users.length == userCt);
- assertTrue("Check setPathname()", defaultPathName.equals(memoryUserDatabase.getPathname()));
- memoryUserDatabase.setPathname(newPath);
- assertTrue("Check setPathname()", newPath.equals(memoryUserDatabase.getPathname()));
+ }
+
+ public void testCase04(){
+ String newUserName = "newUser";
+ try {
+ User newUser = userDatabase.createUser(newUserName);
+ newUser.setPassword("pass1");
+ newUser.setFromAddress("fromAddress1");
+ newUser.setReplyToAddress("replyToAddress1");
+
+ User newUser2 = userDatabase.findUser(newUserName);
+ assertTrue("Check username", "newUser".equals(newUser2.getUsername()));
+ assertTrue("Check fromAddress", "fromAddress1".equals(newUser2.getFromAddress()));
+ assertTrue("Check replyToAddress", "replyToAddress1".equals(newUser2.getReplyToAddress()));
+ assertTrue("Check password", "pass1".equals(newUser2.getPassword()));
+ assertNull("Check fullName", newUser2.getFullName());
+
+
+ } catch (ExpiredPasswordException e) {
+ fail(e.getMessage());
+ }
+ }
+
+ protected UserDatabase getNewUserDatabase(){
+ // using default impl
+ MemoryUserDatabase memoryUserDatabase = new MemoryUserDatabase();
memoryUserDatabase.setPathname(defaultPathName);
- assertTrue("Check setPathname()", defaultPathName.equals(memoryUserDatabase.getPathname()));
+ this.userDatabase = memoryUserDatabase;
+ return memoryUserDatabase;
}
-
+ protected User getNewUser(UserDatabase db, String userName){
+ // using default impl
+ return db.createUser(userName);
+ }
+ private Subscription getNewSubscription(User user, String host) {
+ return user.createSubscription(host);
+ }
}
Modified: struts/apps/trunk/examples/project.xml
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/project.xml?view=diff&rev=149110&p1=struts/apps/trunk/examples/project.xml&r1=149109&p2=struts/apps/trunk/examples/project.xml&r2=149110
==============================================================================
--- struts/apps/trunk/examples/project.xml (original)
+++ struts/apps/trunk/examples/project.xml Sat Jan 29 23:17:00 2005
@@ -2,7 +2,7 @@
<project>
<extend>${basedir}/../project.xml</extend>
- <id>examples</id>
+ <id>struts-examples</id>
<name>Struts examples web application</name>
<package>org.apache.struts.webapp.*</package>
Modified: struts/apps/trunk/project.xml
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/project.xml?view=diff&rev=149110&p1=struts/apps/trunk/project.xml&r1=149109&p2=struts/apps/trunk/project.xml&r2=149110
==============================================================================
--- struts/apps/trunk/project.xml (original)
+++ struts/apps/trunk/project.xml Sat Jan 29 23:17:00 2005
@@ -373,6 +373,7 @@
<directory>${basedir}/src/test</directory>
<includes>
<include>*.xml</include>
+ <include>**/*.txt</include>
</includes>
</resource>
</resources>
@@ -383,6 +384,7 @@
<directory>${basedir}/src/java</directory>
<includes>
<include>**/*.properties</include>
+ <include>**/*.txt</include>
<include>*.xml</include>
</includes>
</resource>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org