blob: 2666f73197f9e7471b70c9aba9320d615ee2be7c [file] [log] [blame]
import junit.framework.TestCase;
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 org.apache.struts.apps.mailreader.dao.impl.memory.MemoryUserDatabase;
public class RetainTest extends TestCase {
protected UserDatabase database;
protected String testName = "test-database.xml";
public void setUp() throws Exception {
super.setUp();
MemoryUserDatabase memoryUserDatabase = new MemoryUserDatabase();
memoryUserDatabase.setPathname(testName);
database = memoryUserDatabase;
}
public void testDatabaseClean() throws Exception {
User user = database.findUser("user");
assertNull("Expected user to be missing", user);
}
// Add your test methods here.
// The setUp method will run between each test.
public void testCreateUser() throws Exception {
User user = database.createUser("user");
assertNotNull(user);
}
public void testFindUser() throws Exception {
User user1 = database.createUser("user");
User user2 = database.findUser("user");
assertSame("Expected users to match", user1, user2);
}
public void testCreateSubscription() throws Exception {
Subscription sub = database.createUser("user").createSubscription("mail.yahoo.com");
assertNotNull("Expected subscription to be created", sub);
}
public void testFindSubscription() throws Exception {
Subscription sub1 = database.createUser("user").createSubscription("mail.yahoo.com");
Subscription sub2 = database.findUser("user").findSubscription("mail.yahoo.com");
assertSame("Expected Subscriptions to match", sub1, sub2);
}
public void testDatabsaeSave() throws Exception {
User user = database.createUser("user");
user.setPassword("pass");
user.setFullName("John Q. User");
user.setFromAddress("John.User@somewhere.com");
Subscription sub1 = user.createSubscription("mail.hotmail.com");
sub1.setUsername("user1234");
sub1.setAutoConnect(false);
sub1.setType("pop3");
sub1.setPassword("bar");
Subscription sub2 = user.createSubscription("mail.yahoo.com");
sub2.setUsername("jquser");
sub2.setAutoConnect(false);
sub2.setType("imap");
sub2.setPassword("foo");
database.save();
}
// Extra credit
public void testFinderUserBogus() throws Exception {
User user1 = database.findUser("bogus");
assertNull("Expected bogus user to be not found", user1);
User user2 = database.createUser("user");
assertNotNull("Expected user to be created", user2);
user1 = database.findUser("bogus");
assertNull("Expected bogus user to be not found", user1);
user1 = database.findUser("user");
assertNotNull("Expected user to be found", user1);
}
public void testFindSubBogus() throws Exception {
User user = database.createUser("user");
Subscription sub = user.findSubscription("mail.bogus.com");
assertNull(sub);
sub = database.findUser("user").createSubscription("mail.hotmail.com");
assertNotNull(sub);
Subscription sub2 = user.findSubscription("mail.bogus.com");
assertNull(sub2);
Subscription sub3 = user.findSubscription("mail.hotmail.com");
assertSame(sub, sub3);
}
}