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 no...@apache.org on 2010/03/17 08:23:23 UTC
svn commit: r924179 - in /james/imap/trunk:
deployment/src/test/java/org/apache/james/imap/functional/jcr/
deployment/src/test/resources/
protocol-tester/src/main/java/org/apache/james/test/functional/
seda/src/test/java/org/apache/james/imap/functional/
Author: norman
Date: Wed Mar 17 07:23:22 2010
New Revision: 924179
URL: http://svn.apache.org/viewvc?rev=924179&view=rev
Log:
fix JCR junit setup (IMAP-93)
Modified:
james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java
james/imap/trunk/deployment/src/test/resources/log4j.properties
james/imap/trunk/protocol-tester/src/main/java/org/apache/james/test/functional/AbstractProtocolTestFramework.java
james/imap/trunk/protocol-tester/src/main/java/org/apache/james/test/functional/AbstractSimpleScriptedTestProtocol.java
james/imap/trunk/seda/src/test/java/org/apache/james/imap/functional/FrameworkForAuthenticatedState.java
james/imap/trunk/seda/src/test/java/org/apache/james/imap/functional/FrameworkForNonAuthenticatedState.java
Modified: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java?rev=924179&r1=924178&r2=924179&view=diff
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java (original)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java Wed Mar 17 07:23:22 2010
@@ -19,8 +19,12 @@
package org.apache.james.imap.functional.jcr;
import java.io.File;
+import java.io.FileInputStream;
+
+import javax.jcr.Repository;
import org.apache.commons.io.FileUtils;
+import org.apache.jackrabbit.core.RepositoryImpl;
import org.apache.jackrabbit.core.TransientRepository;
import org.apache.jackrabbit.core.config.RepositoryConfig;
import org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
@@ -44,35 +48,30 @@ public class JCRHostSystem extends ImapH
private static final String JACKRABBIT_HOME = "deployment/target/jackrabbit";
public static final String META_DATA_DIRECTORY = "target/user-meta-data";
- private TransientRepository repository;
-
- private javax.jcr.Session session;
+ private RepositoryImpl repository;
public JCRHostSystem() throws Exception {
-
- File home = new File(JACKRABBIT_HOME);
- if (home.exists()) {
- FileUtils.deleteDirectory(home);
- }
- RepositoryConfig config = RepositoryConfig.create(new InputSource(this.getClass().getClassLoader().getResourceAsStream("test-repository.xml")), JACKRABBIT_HOME);
- repository = new TransientRepository(config);
- session = repository.login();
-
- userManager = new InMemoryUserManager();
-
-
-
- mailboxManager = new JCRGlobalUserMailboxManager(userManager, new JCRGlobalUserSubscriptionManager(repository, null, "user", "pass"), repository, null, "user", "pass");
-
- final DefaultImapProcessorFactory defaultImapProcessorFactory = new DefaultImapProcessorFactory();
- resetUserMetaData();
- mailboxManager.deleteEverything();
-
- defaultImapProcessorFactory.configure(mailboxManager);
- configure(new DefaultImapDecoderFactory().buildImapDecoder(),
- new DefaultImapEncoderFactory().buildImapEncoder(),
- defaultImapProcessorFactory.buildImapProcessor());
+ delete(new File(JACKRABBIT_HOME));
+ try {
+
+ RepositoryConfig config = RepositoryConfig.create(new InputSource(new FileInputStream("deployment/src/test/resources/test-repository.xml")), JACKRABBIT_HOME);
+ repository = RepositoryImpl.create(config);
+
+ userManager = new InMemoryUserManager();
+
+ mailboxManager = new JCRGlobalUserMailboxManager(userManager, new JCRGlobalUserSubscriptionManager(repository, null, "user", "pass"), repository, null, "user", "pass");
+
+ final DefaultImapProcessorFactory defaultImapProcessorFactory = new DefaultImapProcessorFactory();
+ resetUserMetaData();
+ mailboxManager.deleteEverything();
+
+ defaultImapProcessorFactory.configure(mailboxManager);
+ configure(new DefaultImapDecoderFactory().buildImapDecoder(), new DefaultImapEncoderFactory().buildImapEncoder(), defaultImapProcessorFactory.buildImapProcessor());
+ } catch (Exception e) {
+ shutdownRepository();
+ throw e;
+ }
}
@@ -97,9 +96,34 @@ public class JCRHostSystem extends ImapH
@Override
public void afterTests() throws Exception {
- session.logout();
- repository.shutdown();
- repository = null;
+ shutdownRepository();
+ }
+
+ private void shutdownRepository() throws Exception{
+ if (repository != null) {
+ repository.shutdown();
+ repository = null;
+ }
+
+
+ //File home = new File(JACKRABBIT_HOME);
+ //delete(home);
+ }
+
+ private void delete(File home) throws Exception{
+ if (home.exists()) {
+ File[] files = home.listFiles();
+ for (int i = 0;i < files.length; i++) {
+ File f = files[i];
+ if (f.isDirectory()) {
+ delete(f);
+ } else {
+ f.delete();
+ }
+ }
+ home.delete();
+ FileUtils.deleteDirectory(home);
+ }
}
Modified: james/imap/trunk/deployment/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/resources/log4j.properties?rev=924179&r1=924178&r2=924179&view=diff
==============================================================================
--- james/imap/trunk/deployment/src/test/resources/log4j.properties (original)
+++ james/imap/trunk/deployment/src/test/resources/log4j.properties Wed Mar 17 07:23:22 2010
@@ -1,4 +1,4 @@
-log4j.rootLogger=INGO, A1
+log4j.rootLogger=WARN, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
Modified: james/imap/trunk/protocol-tester/src/main/java/org/apache/james/test/functional/AbstractProtocolTestFramework.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/protocol-tester/src/main/java/org/apache/james/test/functional/AbstractProtocolTestFramework.java?rev=924179&r1=924178&r2=924179&view=diff
==============================================================================
--- james/imap/trunk/protocol-tester/src/main/java/org/apache/james/test/functional/AbstractProtocolTestFramework.java (original)
+++ james/imap/trunk/protocol-tester/src/main/java/org/apache/james/test/functional/AbstractProtocolTestFramework.java Wed Mar 17 07:23:22 2010
@@ -19,6 +19,7 @@
package org.apache.james.test.functional;
+import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -42,20 +43,28 @@ public abstract class AbstractProtocolTe
/** The Protocol session which is run after the testElements. */
protected ProtocolSession postElements = new ProtocolSession();
- private static HostSystem hostSystem;
+ private HostSystem hostSystem;
private final String userName;
private final String password;
public AbstractProtocolTestFramework(HostSystem hostSystem, String userName, String password) throws Exception {
- AbstractProtocolTestFramework.hostSystem = hostSystem;
+ this.hostSystem = hostSystem;
this.userName = userName;
this.password = password;
+ }
+
+ @Before
+ public void setUp() throws Exception {
hostSystem.beforeTests();
+ setUpEnvironment();
}
-
+ @After
+ public void tearDown() throws Exception {
+ hostSystem.afterTests();
+ }
protected void continueAfterFailure() {
preElements.setContinueAfterFailure(true);
testElements.setContinueAfterFailure(true);
@@ -111,15 +120,9 @@ public abstract class AbstractProtocolTe
/**
* Initialises the UsersRepository and ImapHost on first call.
*/
- @Before
public void setUpEnvironment() throws Exception {
hostSystem.reset();
hostSystem.addUser(userName, password);
}
-
- @AfterClass
- public static void afterTests() throws Exception {
- hostSystem.afterTests();
- }
}
Modified: james/imap/trunk/protocol-tester/src/main/java/org/apache/james/test/functional/AbstractSimpleScriptedTestProtocol.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/protocol-tester/src/main/java/org/apache/james/test/functional/AbstractSimpleScriptedTestProtocol.java?rev=924179&r1=924178&r2=924179&view=diff
==============================================================================
--- james/imap/trunk/protocol-tester/src/main/java/org/apache/james/test/functional/AbstractSimpleScriptedTestProtocol.java (original)
+++ james/imap/trunk/protocol-tester/src/main/java/org/apache/james/test/functional/AbstractSimpleScriptedTestProtocol.java Wed Mar 17 07:23:22 2010
@@ -56,6 +56,7 @@ public abstract class AbstractSimpleScri
@After
public void tearDown() throws Exception {
+ super.tearDown();
Locale.setDefault(BASE_DEFAULT_LOCALE);
}
Modified: james/imap/trunk/seda/src/test/java/org/apache/james/imap/functional/FrameworkForAuthenticatedState.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/seda/src/test/java/org/apache/james/imap/functional/FrameworkForAuthenticatedState.java?rev=924179&r1=924178&r2=924179&view=diff
==============================================================================
--- james/imap/trunk/seda/src/test/java/org/apache/james/imap/functional/FrameworkForAuthenticatedState.java (original)
+++ james/imap/trunk/seda/src/test/java/org/apache/james/imap/functional/FrameworkForAuthenticatedState.java Wed Mar 17 07:23:22 2010
@@ -71,6 +71,7 @@ public abstract class FrameworkForAuthen
*/
@Before
public void setUp() throws Exception {
+ super.setUp();
addTestFile("Welcome.test", preElements);
addLogin(USER, PASSWORD);
}
Modified: james/imap/trunk/seda/src/test/java/org/apache/james/imap/functional/FrameworkForNonAuthenticatedState.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/seda/src/test/java/org/apache/james/imap/functional/FrameworkForNonAuthenticatedState.java?rev=924179&r1=924178&r2=924179&view=diff
==============================================================================
--- james/imap/trunk/seda/src/test/java/org/apache/james/imap/functional/FrameworkForNonAuthenticatedState.java (original)
+++ james/imap/trunk/seda/src/test/java/org/apache/james/imap/functional/FrameworkForNonAuthenticatedState.java Wed Mar 17 07:23:22 2010
@@ -52,6 +52,8 @@ public abstract class FrameworkForNonAut
*/
@Before
public void setUp() throws Exception {
+ super.setUp();
+
addTestFile("Welcome.test", preElements);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org