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