You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rd...@apache.org on 2008/09/06 19:30:32 UTC
svn commit: r692689 - in /james/protocols/imap/trunk: ./
main-deployment/src/test/java/org/apache/james/experimental/imapserver/
main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/
main-deployment/src/test/java/org/apache/james/mailboxm...
Author: rdonkin
Date: Sat Sep 6 10:30:32 2008
New Revision: 692689
URL: http://svn.apache.org/viewvc?rev=692689&view=rev
Log:
Functional tests compile but need to configure database defaults.
Added:
james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/experimental/imapserver/MockLogger.java
james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/SimpleUserManager.java
james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/UserDetails.java
Removed:
james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/MockUser.java
james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/redundant/
Modified:
james/protocols/imap/trunk/ (props changed)
james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/experimental/imapserver/ExperimentalHostSystem.java
james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/TorqueMailboxManagerProviderSingleton.java
Propchange: james/protocols/imap/trunk/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Sat Sep 6 10:30:32 2008
@@ -1 +1,2 @@
dist
+.*
Modified: james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/experimental/imapserver/ExperimentalHostSystem.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/experimental/imapserver/ExperimentalHostSystem.java?rev=692689&r1=692688&r2=692689&view=diff
==============================================================================
--- james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/experimental/imapserver/ExperimentalHostSystem.java (original)
+++ james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/experimental/imapserver/ExperimentalHostSystem.java Sat Sep 6 10:30:32 2008
@@ -33,14 +33,11 @@
import java.util.Set;
import org.apache.james.api.imap.process.ImapProcessor;
-import org.apache.james.api.user.User;
-import org.apache.james.api.user.UsersRepository;
import org.apache.james.imapserver.codec.decode.ImapDecoder;
import org.apache.james.imapserver.codec.encode.ImapEncoder;
import org.apache.james.test.functional.imap.HostSystem;
-import org.apache.james.test.mock.avalon.MockLogger;
-public class ExperimentalHostSystem implements HostSystem, UsersRepository {
+public class ExperimentalHostSystem implements HostSystem {
private ImapDecoder decoder;
private ImapEncoder encoder;
@@ -61,13 +58,6 @@
this.dataReset = dataReset;
}
- public boolean addUser(String username, String password) {
- User user = new MockUser(username, password);
- users.add(user);
- return true;
-
- }
-
public HostSystem.Session newSession(Continuation continuation) throws Exception {
return new Session(continuation);
}
@@ -97,48 +87,6 @@
return Integer.MAX_VALUE;
}
- public boolean addUser(User user) {
- users.add(user);
- return true;
- }
-
- public void addUser(String name, Object attributes) {
- User user = new MockUser(name, "SHA");
- users.add(user);
- }
-
- public boolean contains(String name) {
- boolean result = false;
- if (name != null)
- {
- for (Iterator it=users.iterator();it.hasNext();)
- {
- User user = (User) it.next();
- if (name.equals(user.getUserName())){
- result = true;
- break;
- }
- }
- }
- return result;
- }
-
- public boolean containsCaseInsensitive(String name) {
- boolean result = false;
- if (name != null)
- {
- for (Iterator it=users.iterator();it.hasNext();)
- {
- User user = (User) it.next();
- if (name.equalsIgnoreCase(user.getUserName())){
- result = true;
- break;
- }
- }
- }
- return result;
- }
-
public int countUsers() {
return users.size();
}
@@ -147,84 +95,6 @@
return name;
}
- public User getUserByName(String name) {
- User result = null;
- if (name != null)
- {
- for (Iterator it=users.iterator();it.hasNext();)
- {
- User user = (User) it.next();
- if (name.equals(user.getUserName())){
- result = user;
- break;
- }
- }
- }
- return result;
- }
-
- public User getUserByNameCaseInsensitive(String name) {
- User result = null;
- if (name != null)
- {
- for (Iterator it=users.iterator();it.hasNext();)
- {
- User user = (User) it.next();
- if (name.equalsIgnoreCase(user.getUserName())){
- result = user;
- break;
- }
- }
- }
- return result;
- }
-
- public Iterator list() {
- Collection results = new ArrayList();
- for (Iterator it=users.iterator();it.hasNext();)
- {
- User user = (User) it.next();
- results.add(user.getUserName());
- }
-
- return results.iterator();
- }
-
- public void removeUser(String name) {
- if (name != null)
- {
- for (Iterator it=users.iterator();it.hasNext();)
- {
- User user = (User) it.next();
- if (name.equals(user.getUserName())){
- it.remove();
- break;
- }
- }
- }
- }
-
- public boolean test(String name, String password) {
- boolean result = false;
- if (name != null)
- {
- for (Iterator it=users.iterator();it.hasNext();)
- {
- User user = (User) it.next();
- if (name.equals(user.getUserName())){
- result = user.verifyPassword(password);
- break;
- }
- }
- }
- return result;
- }
-
- public boolean updateUser(User user) {
- users.add(user);
- return true;
- }
-
class Session implements HostSystem.Session
{
ByteBufferOutputStream out;
@@ -364,57 +234,12 @@
}
}
- static class MockUser implements User {
-
- private final String user;
- private String password;
-
-
-
- public MockUser(final String user, final String password) {
- super();
- this.user = user;
- this.password = password;
- }
-
- public String getUserName() {
- return user;
- }
-
- public boolean setPassword(String newPass) {
- this.password = newPass;
- return true;
- }
-
- public boolean verifyPassword(String pass) {
- return password.equals(pass);
- }
-
- public int hashCode() {
- final int PRIME = 31;
- int result = 1;
- result = PRIME * result + ((user == null) ? 0 : user.hashCode());
- return result;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- final MockUser other = (MockUser) obj;
- if (user == null) {
- if (other.user != null)
- return false;
- } else if (!user.equals(other.user))
- return false;
- return true;
- }
- }
-
public interface Resetable {
public void reset() throws Exception;
}
+
+ public boolean addUser(String user, String password) throws Exception {
+
+ return false;
+ }
}
Added: james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/experimental/imapserver/MockLogger.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/experimental/imapserver/MockLogger.java?rev=692689&view=auto
==============================================================================
--- james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/experimental/imapserver/MockLogger.java (added)
+++ james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/experimental/imapserver/MockLogger.java Sat Sep 6 10:30:32 2008
@@ -0,0 +1,60 @@
+package org.apache.james.experimental.imapserver;
+
+import org.apache.avalon.framework.logger.Logger;
+
+public class MockLogger implements Logger {
+
+ public void debug(String arg0) {}
+
+ public void debug(String arg0, Throwable arg1) {
+ }
+
+ public void error(String arg0) {
+ }
+
+ public void error(String arg0, Throwable arg1) {
+ }
+
+ public void fatalError(String arg0) {
+ }
+
+ public void fatalError(String arg0, Throwable arg1) {
+ }
+
+ public Logger getChildLogger(String arg0) {
+ return this;
+ }
+
+ public void info(String arg0) {
+ }
+
+ public void info(String arg0, Throwable arg1) {
+ }
+
+ public boolean isDebugEnabled() {
+ return false;
+ }
+
+ public boolean isErrorEnabled() {
+ return false;
+ }
+
+ public boolean isFatalErrorEnabled() {
+ return false;
+ }
+
+ public boolean isInfoEnabled() {
+ return false;
+ }
+
+ public boolean isWarnEnabled() {
+ return false;
+ }
+
+ public void warn(String arg0) {
+ }
+
+ public void warn(String arg0, Throwable arg1) {
+ }
+
+}
Added: james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/SimpleUserManager.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/SimpleUserManager.java?rev=692689&view=auto
==============================================================================
--- james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/SimpleUserManager.java (added)
+++ james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/SimpleUserManager.java Sat Sep 6 10:30:32 2008
@@ -0,0 +1,86 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.mailboxmanager.mock;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.james.mailboxmanager.manager.SubscriptionException;
+import org.apache.james.mailboxmanager.torque.UserManager;
+
+public class SimpleUserManager implements UserManager {
+
+ private final Map users;
+
+ public SimpleUserManager() {
+ this.users = new HashMap();
+ }
+
+ public boolean isAuthentic(String userid, String passwd) {
+ UserDetails user = (UserDetails) users.get(userid);
+ final boolean result;
+ if (user == null) {
+ result = false;
+ } else {
+ result = (passwd.equals(user.getPassword()));
+ }
+ return result;
+ }
+
+ public void subscribe(String userid, String mailbox)
+ throws SubscriptionException {
+ UserDetails user = (UserDetails) users.get(userid);
+ if (user == null) {
+ user = new UserDetails(userid);
+ users.put(userid, user);
+ }
+ user.addSubscription(mailbox);
+ }
+
+ public Collection subscriptions(String userid) throws SubscriptionException {
+ UserDetails user = (UserDetails) users.get(userid);
+ if (user == null) {
+ user = new UserDetails(userid);
+ users.put(userid, user);
+ }
+ return user.getSubscriptions();
+ }
+
+ public void unsubscribe(String userid, String mailbox)
+ throws SubscriptionException {
+ UserDetails user = (UserDetails) users.get(userid);
+ if (user == null) {
+ user = new UserDetails(userid);
+ users.put(userid, user);
+ }
+ user.removeSubscription(mailbox);
+ }
+
+ public void addUser(String userid, String password) {
+ UserDetails user = (UserDetails) users.get(userid);
+ if (user == null) {
+ user = new UserDetails(userid);
+ users.put(userid, user);
+ }
+ user.setPassword(password);
+ }
+
+}
Modified: james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/TorqueMailboxManagerProviderSingleton.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/TorqueMailboxManagerProviderSingleton.java?rev=692689&r1=692688&r2=692689&view=diff
==============================================================================
--- james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/TorqueMailboxManagerProviderSingleton.java (original)
+++ james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/TorqueMailboxManagerProviderSingleton.java Sat Sep 6 10:30:32 2008
@@ -19,46 +19,46 @@
package org.apache.james.mailboxmanager.mock;
-import org.apache.commons.configuration.ConfigurationException;
+import java.util.Collection;
+
import org.apache.james.experimental.imapserver.ExperimentalHostSystem;
import org.apache.james.experimental.imapserver.HostSystemFactory;
import org.apache.james.mailboxmanager.impl.DefaultMailboxManagerProvider;
import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
-import org.apache.james.mailboxmanager.torque.PheonixUserManager;
-import org.apache.james.mailboxmanager.torque.TorqueMailboxManagerFactory;
-import org.apache.james.test.mock.james.MockFileSystem;
-import org.apache.james.user.impl.file.FileUserMetaDataRepository;
+import org.apache.james.mailboxmanager.manager.SubscriptionException;
+import org.apache.james.mailboxmanager.torque.TorqueMailboxManager;
public class TorqueMailboxManagerProviderSingleton {
-
- private static TorqueMailboxManagerFactory torqueMailboxManagerFactory;
+
+ private static TorqueMailboxManager torqueMailboxManager;
+ private static SimpleUserManager userManager;
private static DefaultMailboxManagerProvider defaultMailboxManagerProvider;
public static final ExperimentalHostSystem host = new ExperimentalHostSystem();
public synchronized static MailboxManagerProvider getTorqueMailboxManagerProviderInstance() throws Exception {
if (defaultMailboxManagerProvider==null) {
- getTorqueFactory();
+ getMailboxManager();
defaultMailboxManagerProvider=new DefaultMailboxManagerProvider();
- defaultMailboxManagerProvider.setMailboxManagerInstance(torqueMailboxManagerFactory);
+ defaultMailboxManagerProvider.setMailboxManagerInstance(torqueMailboxManager);
}
return defaultMailboxManagerProvider;
}
- private static TorqueMailboxManagerFactory getTorqueFactory() throws ConfigurationException, Exception {
- if (torqueMailboxManagerFactory == null) {
- torqueMailboxManagerFactory=new TorqueMailboxManagerFactory(new PheonixUserManager(
- new FileUserMetaDataRepository(HostSystemFactory.META_DATA_DIRECTORY), host)) {{
- setFileSystem(new MockFileSystem());
- }};
- torqueMailboxManagerFactory.configureDefaults();
- torqueMailboxManagerFactory.initialize();
+ public static void addUser(String user, String password) {
+ userManager.addUser(user, password);
+ }
+
+ private static TorqueMailboxManager getMailboxManager() throws Exception {
+ if (torqueMailboxManager == null) {
+ userManager = new SimpleUserManager();
+ torqueMailboxManager=new TorqueMailboxManager(userManager);
}
- return torqueMailboxManagerFactory;
+ return torqueMailboxManager;
}
public static void reset() throws Exception {
- getTorqueFactory().deleteEverything();
+ getMailboxManager().deleteEverything();
}
}
Added: james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/UserDetails.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/UserDetails.java?rev=692689&view=auto
==============================================================================
--- james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/UserDetails.java (added)
+++ james/protocols/imap/trunk/main-deployment/src/test/java/org/apache/james/mailboxmanager/mock/UserDetails.java Sat Sep 6 10:30:32 2008
@@ -0,0 +1,54 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.mailboxmanager.mock;
+
+import java.util.Collection;
+import java.util.HashSet;
+
+public class UserDetails {
+ private final String userName;
+ private String password;
+ private final Collection subscriptions;
+
+ public UserDetails(final String userName) {
+ this.userName = userName;
+ this.subscriptions = new HashSet();
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public Collection getSubscriptions() {
+ return subscriptions;
+ }
+
+ public void addSubscription(String subscription) {
+ this.subscriptions.add(subscription);
+ }
+
+ public void removeSubscription(String mailbox) {
+ this.subscriptions.remove(mailbox);
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org