Author: manolo
Date: Mon May 7 11:22:55 2012
New Revision: 1334957
URL: http://svn.apache.org/viewvc?rev=1334957&view=rev
Log:
For some reason we lost the ability to run integraton tests. Now it is possible
to run tests against real imap servers just replacing mockProperties by
realProperties. Many other changes in tests and configuration as well
Modified:
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/guice/AbstractGuiceTestModule.java
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockConstants.java
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockHttpSession.java
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockHttpSessionProvider.java
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorage.java
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/utils/ConfigurationProperties.java
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/guice/GuiceServerTestModule.java
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/HandlersTest.java
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java
Modified:
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/guice/AbstractGuiceTestModule.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/guice/AbstractGuiceTestModule.java?rev=1334957&r1=1334956&r2=1334957&view=diff
==============================================================================
---
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/guice/AbstractGuiceTestModule.java
(original)
+++
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/guice/AbstractGuiceTestModule.java
Mon May 7 11:22:55 2012
@@ -116,27 +116,17 @@ public abstract class AbstractGuiceTestM
put("IMAPServerPort", "143");
put("IMAPS", "false");
- put("TrustStore", "my-truststore");
- put("TrustStorePassword", "my-truststore-password");
-
- put("IMAPConnectionPoolSize", "4");
- put("IMAPConnectionPoolTimeout", "300000");
-
put("DefaultInboxFolder", "INBOX");
put("DefaultTrashFolder", "Trash");
put("DefaultSentFolder", "Sent");
put("DefaultDraftsFolder", "Drafts");
- put("PostFetchMessageCount", "0");
-
put("SMTPServerAddress", "localhost");
put("SMTPServerPort", "25");
put("SMTPS", "false");
put("SMTPAuth", "true");
- put("SessionDebug", "false");
-
- put("DefaultUserSessionId", "just_an_id");
+ put("SessionDebug", "true");
}
};
@@ -156,27 +146,17 @@ public abstract class AbstractGuiceTestM
put("IMAPServerPort", "143");
put("IMAPS", "false");
- put("TrustStore", "my-truststore");
- put("TrustStorePassword", "my-truststore-password");
-
- put("IMAPConnectionPoolSize", "4");
- put("IMAPConnectionPoolTimeout", "300000");
-
put("DefaultInboxFolder", "INBOX");
put("DefaultTrashFolder", "INBOX.Trash");
put("DefaultSentFolder", "INBOX.Sent");
put("DefaultDraftsFolder", "INBOX.Drafts");
- put("PostFetchMessageCount", "0");
-
put("SMTPServerAddress", "mail.hotelsearch.com");
put("SMTPServerPort", "25");
put("SMTPS", "false");
put("SMTPAuth", "true");
- put("SessionDebug", "false");
-
- put("DefaultUserSessionId", "just_an_id");
+ put("SessionDebug", "true");
}
};
@@ -195,9 +175,6 @@ public abstract class AbstractGuiceTestM
put("IMAPServerPort", "993");
put("IMAPS", "true");
- put("TrustStore", "my-truststore");
- put("TrustStorePassword", "my-truststore-password");
-
put("IMAPConnectionPoolSize", "4");
put("IMAPConnectionPoolTimeout", "300000");
@@ -206,16 +183,12 @@ public abstract class AbstractGuiceTestM
put("DefaultSentFolder", "[Gmail]/Sent Mail");
put("DefaultDraftsFolder", "[Gmail]/Drafts");
- put("PostFetchMessageCount", "0");
-
put("SMTPServerAddress", "smtp.gmail.com");
put("SMTPServerPort", "465");
put("SMTPS", "true");
put("SMTPAuth", "true");
- put("SessionDebug", "false");
-
- put("DefaultUserSessionId", "just_an_id");
+ put("SessionDebug", "true");
}
};
Modified:
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockConstants.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockConstants.java?rev=1334957&r1=1334956&r2=1334957&view=diff
==============================================================================
---
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockConstants.java
(original)
+++
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockConstants.java
Mon May 7 11:22:55 2012
@@ -28,6 +28,8 @@ import java.util.Properties;
* Constants and properties used for mock mode
*/
public class MockConstants {
+
+ public static String SESSION_ID = "MockID";
public final static Settings mockSettings = new Settings() {
private static final long serialVersionUID = 1L;
@@ -44,7 +46,6 @@ public class MockConstants {
{
put("Username", MockIMAPStore.MOCK_LOGIN);
put("Password", MockIMAPStore.MOCK_LOGIN);
- put("DefaultUserSessionId", "DEMO_ID");
put("IMAPServerAddress", MockIMAPStore.MOCK_HOST);
put("SMTPServerAddress", MockIMAPStore.MOCK_HOST);
Modified:
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockHttpSession.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockHttpSession.java?rev=1334957&r1=1334956&r2=1334957&view=diff
==============================================================================
---
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockHttpSession.java
(original)
+++
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockHttpSession.java
Mon May 7 11:22:55 2012
@@ -30,7 +30,6 @@ import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionContext;
import com.google.inject.Inject;
-import com.google.inject.name.Named;
@SuppressWarnings("deprecation")
public class MockHttpSession implements HttpSession{
@@ -41,9 +40,9 @@ public class MockHttpSession implements
private static int seq = 0;
@Inject
- public MockHttpSession(@Named("DefaultUserSessionId") String id) {
+ public MockHttpSession() {
cTime = System.currentTimeMillis();
- this.id = id + "-" + seq++;
+ this.id = MockConstants.SESSION_ID + "-" + seq++;
}
public Object getAttribute(String name) {
Modified:
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockHttpSessionProvider.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockHttpSessionProvider.java?rev=1334957&r1=1334956&r2=1334957&view=diff
==============================================================================
---
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockHttpSessionProvider.java
(original)
+++
james/hupa/trunk/mock/src/main/java/org/apache/hupa/server/mock/MockHttpSessionProvider.java
Mon May 7 11:22:55 2012
@@ -18,19 +18,18 @@
****************************************************************/
package org.apache.hupa.server.mock;
+import javax.servlet.http.HttpSession;
+
import com.google.inject.Inject;
import com.google.inject.Provider;
-import com.google.inject.name.Named;
-
-import javax.servlet.http.HttpSession;
public class MockHttpSessionProvider implements Provider<HttpSession> {
static HttpSession session = null;
@Inject
- public MockHttpSessionProvider(@Named("DefaultUserSessionId") String id) {
+ public MockHttpSessionProvider() {
if (session == null) {
- session = new MockHttpSession(id);
+ session = new MockHttpSession();
}
}
public HttpSession get() {
Modified:
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorage.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorage.java?rev=1334957&r1=1334956&r2=1334957&view=diff
==============================================================================
---
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorage.java
(original)
+++
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorage.java
Mon May 7 11:22:55 2012
@@ -62,6 +62,7 @@ import com.sun.mail.imap.IMAPStore;
* @author manolo
*/
public class InImapUserPreferencesStorage extends UserPreferencesStorage {
+
// User preferences are saved in IMAP but there is a delay between a new
// contact is added an the save action. It saves number of operations in
Modified:
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/utils/ConfigurationProperties.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/utils/ConfigurationProperties.java?rev=1334957&r1=1334956&r2=1334957&view=diff
==============================================================================
---
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/utils/ConfigurationProperties.java
(original)
+++
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/utils/ConfigurationProperties.java
Mon May 7 11:22:55 2012
@@ -53,8 +53,7 @@ public enum ConfigurationProperties {
// Used only in demo mode
USERNAME("Username", false, null),
- PASSWORD("Password", false, null),
- SESSIONID("DefaultUserSessionId", false, null);
+ PASSWORD("Password", false, null);
private String property;
private boolean mandatory;
Modified:
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/guice/GuiceServerTestModule.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/guice/GuiceServerTestModule.java?rev=1334957&r1=1334956&r2=1334957&view=diff
==============================================================================
---
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/guice/GuiceServerTestModule.java
(original)
+++
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/guice/GuiceServerTestModule.java
Mon May 7 11:22:55 2012
@@ -26,6 +26,7 @@ import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.hupa.server.IMAPStoreCache;
+import org.apache.hupa.server.InMemoryIMAPStoreCache;
import
org.apache.hupa.server.guice.demo.DemoGuiceServerModule.DemoIMAPStoreCache;
import org.apache.hupa.server.guice.providers.DefaultUserSettingsProvider;
import org.apache.hupa.server.guice.providers.JavaMailSessionProvider;
@@ -55,6 +56,7 @@ import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.rpc.Contacts;
import org.apache.hupa.shared.rpc.SendMessage;
+import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.google.inject.name.Names;
import com.sun.mail.imap.IMAPStore;
@@ -64,44 +66,53 @@ import com.sun.mail.imap.IMAPStore;
*/
public class GuiceServerTestModule extends AbstractGuiceTestModule {
- @Override
- protected void configureHandlers() {
- Properties properties = MockConstants.mockProperties;
- ConfigurationProperties.validateProperties(properties);
-
- Names.bindProperties(binder(), properties);
-
- bind(Session.class).toProvider(JavaMailSessionProvider.class);
- bind(HttpSession.class).toProvider(MockHttpSessionProvider.class);
-
bind(Settings.class).toProvider(DefaultUserSettingsProvider.class).in(Singleton.class);
- bind(Log.class).toProvider(MockLogProvider.class).in(Singleton.class);
-
- bind(IMAPStore.class).to(MockIMAPStore.class);
-
bind(IMAPStoreCache.class).to(DemoIMAPStoreCache.class).in(Singleton.class);
-
- bind(LoginUserHandler.class);
- bind(LogoutUserHandler.class);
- bind(IdleHandler.class);
-
- bind(FetchFoldersHandler.class);
- bind(CreateFolderHandler.class);
- bind(DeleteFolderHandler.class);
- bind(FetchMessagesHandler.class);
- bind(DeleteMessageByUidHandler.class);
- bind(GetMessageDetailsHandler.class);
- bind(AbstractSendMessageHandler.class).to(SendMessageHandler.class);
- bind(SendMessageHandler.class);
- bind(ReplyMessageHandler.class);
- bind(ForwardMessageHandler.class);
-
- bindHandler(Contacts.class, ContactsHandler.class);
- bindHandler(SendMessage.class, SendMessageHandler.class);
-
-
bind(UserPreferencesStorage.class).to(InSessionUserPreferencesStorage.class);
-
- bind(User.class).to(TestUser.class).in(Singleton.class);
- bind(Properties.class).toInstance(properties);
-
- }
+ protected Class<? extends UserPreferencesStorage>
userPreferencesStorageClass = InSessionUserPreferencesStorage.class;
+ protected Class<? extends Provider<Log>> logProviderClass =
MockLogProvider.class;
+ protected Properties properties = MockConstants.mockProperties;
+
+ @Override
+ protected void configureHandlers() {
+ ConfigurationProperties.validateProperties(properties);
+ Names.bindProperties(binder(), properties);
+
+ bind(Session.class).toProvider(JavaMailSessionProvider.class);
+ bind(HttpSession.class).toProvider(MockHttpSessionProvider.class);
+ bind(Settings.class).toProvider(DefaultUserSettingsProvider.class).in(
+ Singleton.class);
+ bind(Log.class).toProvider(logProviderClass).in(Singleton.class);
+
+ bind(IMAPStore.class).to(MockIMAPStore.class);
+
+ if (properties == MockConstants.mockProperties) {
+ bind(IMAPStoreCache.class).to(DemoIMAPStoreCache.class).in(
+ Singleton.class);
+ } else {
+ bind(IMAPStoreCache.class).to(InMemoryIMAPStoreCache.class).in(
+ Singleton.class);
+ }
+
+ bind(LoginUserHandler.class);
+ bind(LogoutUserHandler.class);
+ bind(IdleHandler.class);
+
+ bind(FetchFoldersHandler.class);
+ bind(CreateFolderHandler.class);
+ bind(DeleteFolderHandler.class);
+ bind(FetchMessagesHandler.class);
+ bind(DeleteMessageByUidHandler.class);
+ bind(GetMessageDetailsHandler.class);
+ bind(AbstractSendMessageHandler.class).to(SendMessageHandler.class);
+ bind(SendMessageHandler.class);
+ bind(ReplyMessageHandler.class);
+ bind(ForwardMessageHandler.class);
+
+ bindHandler(Contacts.class, ContactsHandler.class);
+ bindHandler(SendMessage.class, SendMessageHandler.class);
+
+ bind(UserPreferencesStorage.class).to(userPreferencesStorageClass);
+
+ bind(User.class).to(TestUser.class).in(Singleton.class);
+ bind(Properties.class).toInstance(properties);
+ }
}
\ No newline at end of file
Modified:
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/HandlersTest.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/HandlersTest.java?rev=1334957&r1=1334956&r2=1334957&view=diff
==============================================================================
---
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/HandlersTest.java
(original)
+++
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/HandlersTest.java
Mon May 7 11:22:55 2012
@@ -18,23 +18,28 @@
****************************************************************/
package org.apache.hupa.server.handler;
-import com.google.inject.Module;
+import java.io.ByteArrayInputStream;
-import com.sun.mail.imap.IMAPStore;
+import javax.mail.Folder;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
import net.customware.gwt.dispatch.shared.ActionException;
import org.apache.hupa.server.HupaGuiceTestCase;
import org.apache.hupa.server.guice.GuiceServerTestModule;
+import org.apache.hupa.server.guice.providers.LogProvider;
import org.apache.hupa.shared.data.IMAPFolder;
import org.apache.hupa.shared.rpc.CreateFolder;
import org.apache.hupa.shared.rpc.DeleteFolder;
import org.apache.hupa.shared.rpc.FetchFolders;
import org.apache.hupa.shared.rpc.FetchFoldersResult;
+import org.apache.hupa.shared.rpc.FetchMessages;
+import org.apache.hupa.shared.rpc.FetchMessagesResult;
-import javax.mail.Folder;
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import com.google.inject.Module;
+import com.sun.mail.imap.IMAPStore;
public class HandlersTest extends HupaGuiceTestCase {
@@ -48,7 +53,7 @@ public class HandlersTest extends HupaGu
public MyModule() {
// properties = courierProperties;
// properties = gmailProperties;
- // logClass = LogProvider.class;
+ // logProviderClass = LogProvider.class;
}
}
@@ -57,16 +62,36 @@ public class HandlersTest extends HupaGu
return new Module[]{new MyModule()};
}
- public void testLoginAndFetchFolders() {
- try {
- org.apache.hupa.shared.rpc.LoginUser l = new
org.apache.hupa.shared.rpc.LoginUser(testUser.getName(),testUser.getPassword());
- loginUser.execute(l, null);
- FetchFoldersResult result = fetchFoldersHandler.execute(new
FetchFolders(), null);
- assertNotNull(result);
- } catch (ActionException e) {
- e.printStackTrace();
- fail("Shouldn't throw an exception");
+ public void testLoginAndFetchFolders() throws Exception {
+ org.apache.hupa.shared.rpc.LoginUser l = new
org.apache.hupa.shared.rpc.LoginUser(testUser.getName(),testUser.getPassword());
+ loginUser.execute(l, null);
+ FetchFoldersResult result = fetchFoldersHandler.execute(new
FetchFolders(), null);
+ assertNotNull(result);
+ }
+
+
+ public void testFetchMessages() throws Exception {
+ IMAPStore store = storeCache.get(testUser);
+
+ String folderName = testUser.getSettings().getInboxFolderName();
+ IMAPFolder sFolder = new IMAPFolder();
+ sFolder.setFullName(folderName);
+
+ com.sun.mail.imap.IMAPFolder f1 =
(com.sun.mail.imap.IMAPFolder)store.getFolder(sFolder.getFullName());
+ assertTrue(f1.exists());
+
+ FetchMessagesResult result = fetchMessagesHandler.execute(new
FetchMessages(sFolder, 0, 100, ""), null);
+ int nmsgs = result.getMessages().size();
+
+ ByteArrayInputStream is = new ByteArrayInputStream("From:
[email protected]\nTo: [email protected]\nSubject: something\n\ndata".getBytes());
+ MimeMessage msg = new MimeMessage(session, is);
+ if (!f1.isOpen()) {
+ f1.open(Folder.READ_WRITE);
}
+ f1.addMessages(new Message[]{msg});
+
+ result = fetchMessagesHandler.execute(new FetchMessages(sFolder, 0,
100, ""), null);
+ assertEquals(1, result.getMessages().size() - nmsgs);
}
public void testCreateAndDeleteFolder() throws MessagingException {
Modified:
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java?rev=1334957&r1=1334956&r2=1334957&view=diff
==============================================================================
---
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java
(original)
+++
james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java
Mon May 7 11:22:55 2012
@@ -21,53 +21,22 @@ package org.apache.hupa.server.preferenc
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Properties;
import javax.mail.Flags;
import javax.mail.Folder;
-import javax.mail.Session;
-import javax.servlet.http.HttpSession;
-import org.apache.commons.logging.Log;
import org.apache.hupa.server.HupaGuiceTestCase;
-import org.apache.hupa.server.IMAPStoreCache;
import org.apache.hupa.server.guice.GuiceServerTestModule;
-import
org.apache.hupa.server.guice.demo.DemoGuiceServerModule.DemoIMAPStoreCache;
-import org.apache.hupa.server.guice.providers.DefaultUserSettingsProvider;
-import org.apache.hupa.server.guice.providers.JavaMailSessionProvider;
-import org.apache.hupa.server.handler.AbstractSendMessageHandler;
-import org.apache.hupa.server.handler.ContactsHandler;
-import org.apache.hupa.server.handler.CreateFolderHandler;
-import org.apache.hupa.server.handler.DeleteFolderHandler;
-import org.apache.hupa.server.handler.DeleteMessageByUidHandler;
-import org.apache.hupa.server.handler.FetchFoldersHandler;
-import org.apache.hupa.server.handler.FetchMessagesHandler;
-import org.apache.hupa.server.handler.ForwardMessageHandler;
-import org.apache.hupa.server.handler.GetMessageDetailsHandler;
-import org.apache.hupa.server.handler.IdleHandler;
-import org.apache.hupa.server.handler.LoginUserHandler;
-import org.apache.hupa.server.handler.LogoutUserHandler;
-import org.apache.hupa.server.handler.ReplyMessageHandler;
-import org.apache.hupa.server.handler.SendMessageHandler;
-import org.apache.hupa.server.mock.MockConstants;
-import org.apache.hupa.server.mock.MockHttpSessionProvider;
-import org.apache.hupa.server.mock.MockIMAPStore;
-import org.apache.hupa.server.mock.MockLogProvider;
-import org.apache.hupa.server.utils.ConfigurationProperties;
+import org.apache.hupa.server.guice.providers.LogProvider;
import org.apache.hupa.server.utils.SessionUtils;
import org.apache.hupa.server.utils.TestUtils;
import org.apache.hupa.shared.data.IMAPFolder;
import org.apache.hupa.shared.data.SMTPMessage;
-import org.apache.hupa.shared.data.Settings;
-import org.apache.hupa.shared.data.User;
-import org.apache.hupa.shared.rpc.Contacts;
import org.apache.hupa.shared.rpc.FetchMessages;
import org.apache.hupa.shared.rpc.FetchMessagesResult;
import org.apache.hupa.shared.rpc.SendMessage;
import com.google.inject.Module;
-import com.google.inject.Singleton;
-import com.google.inject.name.Names;
import com.sun.mail.imap.IMAPStore;
public class InImapUserPreferencesStorageTest extends HupaGuiceTestCase {
@@ -79,61 +48,28 @@ public class InImapUserPreferencesStorag
- Be sure the user and password are set correctly
- Comment the delay
*/
- static class MyModule extends GuiceServerTestModule {
- public MyModule() {
+ static class InImapUserPreferencesGuiceModule extends
GuiceServerTestModule {
+ public InImapUserPreferencesGuiceModule() {
+
// Select a valid imap provider, comment all to use Mock
// properties = courierProperties;
// properties = gmailProperties;
// properties = jamesProperties;
-
- // Uncomment to use production logger
- // logClass = LogProvider.class;
- // Change the default delay to run test faster
- InImapUserPreferencesStorage.IMAP_SAVE_DELAY = 400;
- }
-
- @Override
- protected void configureHandlers() {
- Properties p = MockConstants.mockProperties;
- ConfigurationProperties.validateProperties(p);
- Names.bindProperties(binder(), p);
-
- bind(Session.class).toProvider(JavaMailSessionProvider.class);
- bind(HttpSession.class).toProvider(MockHttpSessionProvider.class);
-
bind(Settings.class).toProvider(DefaultUserSettingsProvider.class).in(Singleton.class);
-
bind(Log.class).toProvider(MockLogProvider.class).in(Singleton.class);
-
- bind(IMAPStore.class).to(MockIMAPStore.class);
-
bind(IMAPStoreCache.class).to(DemoIMAPStoreCache.class).in(Singleton.class);
-
- bind(LoginUserHandler.class);
- bind(LogoutUserHandler.class);
- bind(IdleHandler.class);
+ // Uncomment to use production logger
+ logProviderClass = LogProvider.class;
+
+ userPreferencesStorageClass = InImapUserPreferencesStorage.class;
- bind(FetchFoldersHandler.class);
- bind(CreateFolderHandler.class);
- bind(DeleteFolderHandler.class);
- bind(FetchMessagesHandler.class);
- bind(DeleteMessageByUidHandler.class);
- bind(GetMessageDetailsHandler.class);
-
bind(AbstractSendMessageHandler.class).to(SendMessageHandler.class);
- bind(SendMessageHandler.class);
- bind(ReplyMessageHandler.class);
- bind(ForwardMessageHandler.class);
-
- bindHandler(Contacts.class, ContactsHandler.class);
- bindHandler(SendMessage.class, SendMessageHandler.class);
-
-
bind(UserPreferencesStorage.class).to(InImapUserPreferencesStorage.class);
-
- bind(User.class).to(TestUser.class).in(Singleton.class);
+ // to run test faster
+ InImapUserPreferencesStorage.IMAP_SAVE_DELAY = 400;
}
+
}
@Override
protected Module[] getModules() {
- return new Module[]{new MyModule()};
+ return new Module[]{new InImapUserPreferencesGuiceModule()};
}
/**
@@ -234,18 +170,19 @@ public class InImapUserPreferencesStorag
smtpmsg.setCc(new ArrayList<String>());
smtpmsg.setBcc(new ArrayList<String>());
SendMessage action = new SendMessage(smtpmsg);
- sendMessageHandler.execute(action, null);
-
- // The email has to be added to the contact list
- assertEquals(1, userPreferences.getContacts().length);
- // The imap is saved asynchronously after a delay, so the folder
exists after a while
String folderName = testUser.getSettings().getDraftsFolderName();
+
Folder folder = store.getFolder(folderName);
folder = store.getFolder(folderName);
if (folder.exists())
- assertTrue(folder.getMessageCount() == 0);
+ assertEquals("Folder " + folderName + " has messages" , 0,
folder.getMessageCount());
+ // When sending a new email new addresses should be added to the
contact list
+ sendMessageHandler.execute(action, null);
+ assertEquals(1, userPreferences.getContacts().length);
+
+ // The imap is saved asynchronously after a delay, so the folder
exists after a while
Thread.sleep(InImapUserPreferencesStorage.IMAP_SAVE_DELAY + 500);
folder = store.getFolder(folderName);
assertNotNull(folder);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]