MPT-39 remove crazy abstract test class hierarchy
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/986df60d Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/986df60d Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/986df60d Branch: refs/heads/master Commit: 986df60d3ebdbba3239a00810d427267c80d5921 Parents: 46cd28e Author: Matthieu Baechler <matth...@apache.org> Authored: Wed Jun 21 16:52:13 2017 +0200 Committer: Matthieu Baechler <matth...@apache.org> Committed: Thu Jul 6 10:32:17 2017 -0400 ---------------------------------------------------------------------- .../script/AbstractProtocolTestFramework.java | 115 --------- .../AbstractSimpleScriptedTestProtocol.java | 111 --------- .../mpt/script/SimpleScriptedTestProtocol.java | 181 ++++++++++++++ .../mpt/imapmailbox/suite/ACLCommands.java | 51 ++-- .../mpt/imapmailbox/suite/ACLIntegration.java | 89 +++---- .../imapmailbox/suite/AuthenticatePlain.java | 33 ++- .../imapmailbox/suite/AuthenticatedState.java | 234 +++++++++++++------ .../imapmailbox/suite/ConcurrentSessions.java | 115 ++++++--- .../james/mpt/imapmailbox/suite/Condstore.java | 25 +- .../james/mpt/imapmailbox/suite/Copy.java | 22 +- .../imapmailbox/suite/DeploymentValidation.java | 29 ++- .../james/mpt/imapmailbox/suite/Events.java | 37 ++- .../james/mpt/imapmailbox/suite/Expunge.java | 38 ++- .../james/mpt/imapmailbox/suite/Fetch.java | 122 +++++++--- .../mpt/imapmailbox/suite/FetchBodySection.java | 61 +++-- .../imapmailbox/suite/FetchBodyStructure.java | 74 ++++-- .../mpt/imapmailbox/suite/FetchHeaders.java | 50 +++- .../james/mpt/imapmailbox/suite/Listing.java | 47 +++- .../imapmailbox/suite/MailboxAnnotation.java | 39 +++- .../suite/MailboxWithLongNameError.java | 31 ++- .../suite/MailboxWithLongNameSuccess.java | 26 ++- .../james/mpt/imapmailbox/suite/Move.java | 30 ++- .../suite/NonAuthenticatedState.java | 107 +++++++-- .../mpt/imapmailbox/suite/PartialFetch.java | 74 ++++-- .../james/mpt/imapmailbox/suite/QuotaTest.java | 41 +++- .../james/mpt/imapmailbox/suite/Rename.java | 62 +++-- .../james/mpt/imapmailbox/suite/Search.java | 48 +++- .../james/mpt/imapmailbox/suite/Security.java | 112 ++++++--- .../james/mpt/imapmailbox/suite/Select.java | 36 ++- .../mpt/imapmailbox/suite/SelectedInbox.java | 193 +++++++++++---- .../mpt/imapmailbox/suite/SelectedState.java | 146 +++++++++--- .../james/mpt/imapmailbox/suite/UidSearch.java | 48 +++- .../mpt/imapmailbox/suite/UidSearchOnIndex.java | 31 ++- .../mpt/imapmailbox/suite/UserFlagsSupport.java | 31 ++- .../suite/base/BaseAuthenticatedState.java | 85 ------- .../suite/base/BaseImapProtocol.java | 39 ---- .../suite/base/BaseNonAuthenticatedState.java | 59 ----- .../suite/base/BaseSelectedInbox.java | 75 ------ .../suite/base/BaseSelectedState.java | 64 ----- .../suite/base/BasicImapCommands.java | 68 ++++++ .../james/mpt/testsuite/AuthenticateTest.java | 29 ++- .../james/mpt/testsuite/CapabilityTest.java | 29 ++- .../james/mpt/testsuite/CheckScriptTest.java | 24 +- .../james/mpt/testsuite/DeleteScriptTest.java | 31 ++- .../james/mpt/testsuite/GetScriptTest.java | 29 ++- .../james/mpt/testsuite/HaveSpaceTest.java | 29 ++- .../james/mpt/testsuite/ListScriptsTest.java | 29 ++- .../apache/james/mpt/testsuite/LogoutTest.java | 31 ++- .../james/mpt/testsuite/ManageSieveMPTTest.java | 33 --- .../apache/james/mpt/testsuite/NoopTest.java | 33 ++- .../james/mpt/testsuite/PutScriptTest.java | 29 ++- .../james/mpt/testsuite/RenameScriptTest.java | 29 ++- .../james/mpt/testsuite/SetActiveTest.java | 29 ++- .../james/mpt/testsuite/StartTlsTest.java | 29 ++- .../mpt/testsuite/UnauthenticatedTest.java | 29 ++- .../apache/james/mpt/smtp/ForwardSmtpTest.java | 13 +- .../james/mpt/smtp/SmtpStarttlsCommandTest.java | 30 ++- 57 files changed, 2138 insertions(+), 1226 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/core/src/main/java/org/apache/james/mpt/script/AbstractProtocolTestFramework.java ---------------------------------------------------------------------- diff --git a/mpt/core/src/main/java/org/apache/james/mpt/script/AbstractProtocolTestFramework.java b/mpt/core/src/main/java/org/apache/james/mpt/script/AbstractProtocolTestFramework.java deleted file mode 100644 index 3d2ac5d..0000000 --- a/mpt/core/src/main/java/org/apache/james/mpt/script/AbstractProtocolTestFramework.java +++ /dev/null @@ -1,115 +0,0 @@ -/**************************************************************** - * 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.mpt.script; - -import org.apache.james.mpt.Runner; -import org.apache.james.mpt.api.Continuation; -import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.api.Session; -import org.apache.james.mpt.protocol.ProtocolSession; - -/** - * Abstract Protocol Test is the root of all of the scripted test cases. It - * provides basic functionality for running a protocol session as a JUnit test, - * and failing if exceptions are thrown. To create a test which reads the entire - * protocol session from a single protocol definition file, use the - * {@link AbstractSimpleScriptedTestProtocol}. - * - * @author Darrell DeBoer - * @author Andrew C. Oliver - */ -public abstract class AbstractProtocolTestFramework { - - /** The Protocol session which is run before the testElements */ - protected ProtocolSession preElements = new ProtocolSession(); - - /** The Protocol session which contains the tests elements */ - protected ProtocolSession testElements = new ProtocolSession(); - - /** The Protocol session which is run after the testElements. */ - protected ProtocolSession postElements = new ProtocolSession(); - - protected final Runner runner; - private final HostSystem hostSystem; - - private final String userName; - private final String password; - - public AbstractProtocolTestFramework(HostSystem hostSystem, String userName, String password) { - this.hostSystem = hostSystem; - this.userName = userName; - this.password = password; - runner = new Runner(); - } - - protected void setUp() throws Exception { - hostSystem.beforeTest(); - hostSystem.addUser(userName, password); - } - - protected void tearDown() throws Exception { - hostSystem.afterTest(); - } - - /** - * <p> - * Runs the pre,test and post protocol sessions against a local copy of the - * Server. This is useful for rapid development and debugging. - * </p> - * Instead of sending requests to a socket connected to a running instance - * of James, this method uses the {@link HostSystem} to simplify testing. - * One mock instance is required per protocol session/connection. - */ - protected void runSessions() throws Exception { - class SessionContinuation implements Continuation { - - public ProtocolSession session; - - public void doContinue() { - if (session != null) { - session.doContinue(); - } - } - - } - SessionContinuation continuation = new SessionContinuation(); - - Session[] sessions = new Session[testElements.getSessionCount()]; - - for (int i = 0; i < sessions.length; i++) { - sessions[i] = hostSystem.newSession(continuation); - sessions[i].start(); - } - try { - continuation.session = preElements; - preElements.runSessions(sessions); - continuation.session = testElements; - testElements.runSessions(sessions); - continuation.session = postElements; - postElements.runSessions(sessions); - } - finally { - for (Session session : sessions) { - session.stop(); - } - } - } - -} http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/core/src/main/java/org/apache/james/mpt/script/AbstractSimpleScriptedTestProtocol.java ---------------------------------------------------------------------- diff --git a/mpt/core/src/main/java/org/apache/james/mpt/script/AbstractSimpleScriptedTestProtocol.java b/mpt/core/src/main/java/org/apache/james/mpt/script/AbstractSimpleScriptedTestProtocol.java deleted file mode 100644 index f761f00..0000000 --- a/mpt/core/src/main/java/org/apache/james/mpt/script/AbstractSimpleScriptedTestProtocol.java +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************** - * 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.mpt.script; - -import java.io.InputStream; -import java.util.Locale; - -import org.apache.commons.io.IOUtils; -import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.protocol.FileProtocolSessionBuilder; -import org.apache.james.mpt.protocol.ProtocolSession; -import org.junit.After; - -/** - * A Protocol test which reads the test protocol session from a file. The file - * read is taken as "<test-name>.test", where <test-name> is the value passed - * into the constructor. Subclasses of this test can set up {@link #preElements} - * and {@link #postElements} for extra elements not defined in the protocol - * session file. - */ -public abstract class AbstractSimpleScriptedTestProtocol extends AbstractProtocolTestFramework { - - private static final Locale BASE_DEFAULT_LOCALE = Locale.getDefault(); - - private final FileProtocolSessionBuilder builder = new FileProtocolSessionBuilder(); - private final String scriptDirectory; - - /** - * Sets up a SimpleFileProtocolTest which reads the protocol session from a - * file of name "<fileName>.test". This file should be available in the - * classloader in the same location as this test class. - * - * @param scriptDirectory - * name of the directory containing the scripts to be run - * @param fileName - * The name of the file to read protocol elements from. - * @throws Exception - */ - public AbstractSimpleScriptedTestProtocol(HostSystem hostSystem, String userName, String password, - String scriptDirectory) throws Exception { - super(hostSystem, userName, password); - this.scriptDirectory = scriptDirectory; - } - - @After - public void tearDown() throws Exception { - super.tearDown(); - Locale.setDefault(BASE_DEFAULT_LOCALE); - } - - /** - * Reads test elements from the protocol session file and adds them to the - * {@link #testElements} ProtocolSession. Then calls {@link #runSessions}. - * - * @param locale - * execute the test using this locale - */ - protected void scriptTest(String fileName, Locale locale) throws Exception { - Locale.setDefault(locale); - addTestFile(fileName + ".test", testElements); - runSessions(); - } - - /** - * Finds the protocol session file identified by the test name, and builds - * protocol elements from it. All elements from the definition file are - * added to the supplied ProtocolSession. - * - * @param fileName - * The name of the file to read - * @param session - * The ProtocolSession to add elements to. - */ - protected void addTestFile(String fileName, ProtocolSession session) throws Exception { - - fileName = scriptDirectory + fileName; - - // Need to find local resource. - InputStream is = this.getClass().getResourceAsStream(fileName); - - if (is == null) { - throw new Exception("Test Resource '" + fileName + "' not found."); - } - - try { - builder.addProtocolLinesFromStream(is, session, fileName); - } - finally { - IOUtils.closeQuietly(is); - } - - } - -} http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/core/src/main/java/org/apache/james/mpt/script/SimpleScriptedTestProtocol.java ---------------------------------------------------------------------- diff --git a/mpt/core/src/main/java/org/apache/james/mpt/script/SimpleScriptedTestProtocol.java b/mpt/core/src/main/java/org/apache/james/mpt/script/SimpleScriptedTestProtocol.java new file mode 100644 index 0000000..f412df6 --- /dev/null +++ b/mpt/core/src/main/java/org/apache/james/mpt/script/SimpleScriptedTestProtocol.java @@ -0,0 +1,181 @@ +/**************************************************************** + * 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.mpt.script; + +import java.io.InputStream; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.commons.io.IOUtils; +import org.apache.james.mpt.api.Continuation; +import org.apache.james.mpt.api.HostSystem; +import org.apache.james.mpt.api.Session; +import org.apache.james.mpt.protocol.FileProtocolSessionBuilder; +import org.apache.james.mpt.protocol.ProtocolSession; + +public final class SimpleScriptedTestProtocol { + + private final FileProtocolSessionBuilder builder = new FileProtocolSessionBuilder(); + private final String scriptDirectory; + + /** The Protocol session which is run before the testElements */ + private ProtocolSession preElements = new ProtocolSession(); + + /** The Protocol session which contains the tests elements */ + private ProtocolSession testElements = new ProtocolSession(); + + /** The Protocol session which is run after the testElements. */ + private ProtocolSession postElements = new ProtocolSession(); + + private Locale locale; + private HostSystem hostSystem; + private Map<String, String> users; + + public SimpleScriptedTestProtocol(String scriptDirectory, HostSystem hostSystem) throws Exception { + this.scriptDirectory = scriptDirectory; + this.hostSystem = hostSystem; + this.locale = Locale.getDefault(); + this.users = new HashMap<String, String>(); + } + + public SimpleScriptedTestProtocol withLocale(Locale locale) { + this.locale = locale; + return this; + } + + public SimpleScriptedTestProtocol withUser(String userAtDomain, String password) { + users.put(userAtDomain, password); + return this; + } + + public ProtocolSession preElements() { + return preElements; + } + + public ProtocolSession testElements() { + return testElements; + } + + public ProtocolSession postElements() { + return postElements; + } + + /** + * Reads test elements from the protocol session file and adds them to the + * {@link #testElements} ProtocolSession. Then calls {@link #runSessions}. + * @param locale + * execute the test using this locale + */ + public void run(String fileName) throws Exception { + createUsers(); + Locale previousLocale = Locale.getDefault(); + try { + Locale.setDefault(locale); + addTestFile(fileName + ".test", testElements); + runSessions(hostSystem); + } finally { + Locale.setDefault(previousLocale); + } + } + + + private void createUsers() throws Exception { + for (Entry<String, String> user: users.entrySet()) { + hostSystem.addUser(user.getKey(), user.getValue()); + } + } + + /** + * <p> + * Runs the pre,test and post protocol sessions against a local copy of the + * Server. This is useful for rapid development and debugging. + * </p> + * Instead of sending requests to a socket connected to a running instance + * of James, this method uses the {@link HostSystem} to simplify testing. + * One mock instance is required per protocol session/connection. + */ + private void runSessions(HostSystem hostSystem) throws Exception { + class SessionContinuation implements Continuation { + + public ProtocolSession session; + + public void doContinue() { + if (session != null) { + session.doContinue(); + } + } + + } + SessionContinuation continuation = new SessionContinuation(); + + Session[] sessions = new Session[testElements.getSessionCount()]; + + for (int i = 0; i < sessions.length; i++) { + sessions[i] = hostSystem.newSession(continuation); + sessions[i].start(); + } + try { + continuation.session = preElements; + preElements.runSessions(sessions); + continuation.session = testElements; + testElements.runSessions(sessions); + continuation.session = postElements; + postElements.runSessions(sessions); + } + finally { + for (Session session : sessions) { + session.stop(); + } + } + } + + /** + * Finds the protocol session file identified by the test name, and builds + * protocol elements from it. All elements from the definition file are + * added to the supplied ProtocolSession. + * + * @param fileName + * The name of the file to read + * @param session + * The ProtocolSession to add elements to. + */ + public void addTestFile(String fileName, ProtocolSession session) throws Exception { + + fileName = scriptDirectory + fileName; + + // Need to find local resource. + InputStream is = this.getClass().getResourceAsStream(fileName); + + if (is == null) { + throw new Exception("Test Resource '" + fileName + "' not found."); + } + + try { + builder.addProtocolLinesFromStream(is, session, fileName); + } + finally { + IOUtils.closeQuietly(is); + } + + } + +} http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ACLCommands.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ACLCommands.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ACLCommands.java index 8ff42f3..2fd93d2 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ACLCommands.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ACLCommands.java @@ -19,68 +19,85 @@ package org.apache.james.mpt.imapmailbox.suite; +import java.util.Locale; + +import javax.inject.Inject; + import org.apache.james.mailbox.model.MailboxACL; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.SimpleMailboxACL; import org.apache.james.mpt.api.HostSystem; import org.apache.james.mpt.imapmailbox.GrantRightsOnHost; -import org.apache.james.mpt.imapmailbox.suite.base.BaseImapProtocol; +import org.apache.james.mpt.imapmailbox.ImapTestConstants; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.Before; import org.junit.Test; -import javax.inject.Inject; -import java.util.Locale; - -public class ACLCommands extends BaseImapProtocol { +public class ACLCommands implements ImapTestConstants { public static final String OTHER_USER_NAME = "Boby"; public static final String OTHER_USER_PASSWORD = "password"; public static final MailboxPath OTHER_USER_MAILBOX = new MailboxPath("#private", OTHER_USER_NAME, "") ; - private final MailboxACL.MailboxACLRights readWriteSeenRight; @Inject private static HostSystem system; + @Inject private GrantRightsOnHost grantRightsOnHost; - public ACLCommands() throws Exception { - super(system); + private MailboxACL.MailboxACLRights readWriteSeenRight; + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; + + @Before + public void setUp() throws Exception { + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system) + .withUser(TO_ADDRESS, PASSWORD) + .withLocale(Locale.US); readWriteSeenRight = new SimpleMailboxACL.Rfc4314Rights("rsw"); } @Test public void testACLCommandsOwnerUS() throws Exception { - scriptTest("ACLCommandsOnOwner", Locale.US); + simpleScriptedTestProtocol.run("ACLCommandsOnOwner"); } @Test public void testACLCommandsOtherUserUS() throws Exception { - system.addUser(OTHER_USER_NAME, OTHER_USER_PASSWORD); + simpleScriptedTestProtocol + .withUser(OTHER_USER_NAME, OTHER_USER_PASSWORD); grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, readWriteSeenRight); - scriptTest("ACLCommandsOnOtherUser", Locale.US); + simpleScriptedTestProtocol.run("ACLCommandsOnOtherUser"); } @Test public void testACLCommandsOwnerKorea() throws Exception { - scriptTest("ACLCommandsOnOwner", Locale.KOREA); + simpleScriptedTestProtocol.withLocale(Locale.KOREA); + simpleScriptedTestProtocol.run("ACLCommandsOnOwner"); } @Test public void testACLCommandsOtherUserKorea() throws Exception { - system.addUser(OTHER_USER_NAME, OTHER_USER_PASSWORD); + simpleScriptedTestProtocol + .withUser(OTHER_USER_NAME, OTHER_USER_PASSWORD) + .withLocale(Locale.KOREA); grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, readWriteSeenRight); - scriptTest("ACLCommandsOnOtherUser", Locale.KOREA); + simpleScriptedTestProtocol.run("ACLCommandsOnOtherUser"); } @Test public void testACLCommandsOwnerItaly() throws Exception { - scriptTest("ACLCommandsOnOwner", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY); + simpleScriptedTestProtocol.run("ACLCommandsOnOwner"); } @Test public void testACLCommandsOtherUserItaly() throws Exception { - system.addUser(OTHER_USER_NAME, OTHER_USER_PASSWORD); + simpleScriptedTestProtocol + .withUser(OTHER_USER_NAME, OTHER_USER_PASSWORD) + .withLocale(Locale.ITALY); grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, readWriteSeenRight); - scriptTest("ACLCommandsOnOtherUser", Locale.ITALY); + simpleScriptedTestProtocol.run("ACLCommandsOnOtherUser"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ACLIntegration.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ACLIntegration.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ACLIntegration.java index 165a230..c31a5fd 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ACLIntegration.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ACLIntegration.java @@ -19,18 +19,21 @@ package org.apache.james.mpt.imapmailbox.suite; +import java.util.Locale; + +import javax.inject.Inject; + import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.SimpleMailboxACL; import org.apache.james.mpt.api.ImapHostSystem; import org.apache.james.mpt.imapmailbox.GrantRightsOnHost; +import org.apache.james.mpt.imapmailbox.ImapTestConstants; import org.apache.james.mpt.imapmailbox.MailboxMessageAppender; -import org.apache.james.mpt.imapmailbox.suite.base.BaseImapProtocol; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.Before; import org.junit.Test; -import javax.inject.Inject; -import java.util.Locale; - -public class ACLIntegration extends BaseImapProtocol { +public class ACLIntegration implements ImapTestConstants { public static final String OTHER_USER_NAME = "Boby"; public static final String OTHER_USER_PASSWORD = "password"; public static final MailboxPath OTHER_USER_MAILBOX = new MailboxPath("#private", OTHER_USER_NAME, ""); @@ -43,64 +46,64 @@ public class ACLIntegration extends BaseImapProtocol { @Inject private MailboxMessageAppender mailboxMessageAppender; - public ACLIntegration() throws Exception { - super(system); - } + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; - @Override + @Before public void setUp() throws Exception { - super.setUp(); - system.addUser(OTHER_USER_NAME, OTHER_USER_PASSWORD); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system) + .withUser(TO_ADDRESS, PASSWORD) + .withUser(OTHER_USER_NAME, OTHER_USER_PASSWORD) + .withLocale(Locale.US); } - + @Test public void rightRShouldBeSufficientToPerformStatusSelectCloseExamineUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("r")); - scriptTest("aclIntegration/ACLIntegrationRightR", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightR"); } @Test public void rightRShouldBeNeededToPerformStatusSelectCloseExamineUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("lswipkxtecda")); - scriptTest("aclIntegration/ACLIntegrationWithoutRightR", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationWithoutRightR"); } @Test public void rightLShouldBeSufficientToPerformListUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("l")); - scriptTest("aclIntegration/ACLIntegrationRightL", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightL"); } @Test public void rightLShouldBeNeededToPerformListLsubSubscribeUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rswipkxtecda")); - scriptTest("aclIntegration/ACLIntegrationWithoutRightL", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationWithoutRightL"); } @Test public void rightAShouldBeSufficientToManageACLUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("a")); - scriptTest("aclIntegration/ACLIntegrationRightA", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightA"); } @Test public void rightAShouldBeNeededToManageACLUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rswipkxtecdl")); - scriptTest("aclIntegration/ACLIntegrationWithoutRightA", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationWithoutRightA"); } @Test public void rightXOnOriginShouldBeSufficientToRenameAMailboxUS() throws Exception { system.createMailbox(new MailboxPath("#private","Boby","test")); grantRightsOnHost.grantRights(new MailboxPath("#private", OTHER_USER_NAME, "test"), USER, new SimpleMailboxACL.Rfc4314Rights("x")); - scriptTest("aclIntegration/ACLIntegrationRightX", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightX"); } @Test public void rightXOnOriginShouldBeNeededToRenameAMailboxUS() throws Exception { system.createMailbox(new MailboxPath("#private","Boby","test")); grantRightsOnHost.grantRights(new MailboxPath("#private", OTHER_USER_NAME, "test"), USER, new SimpleMailboxACL.Rfc4314Rights("rswipktela")); - scriptTest("aclIntegration/ACLIntegrationWithoutRightX", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationWithoutRightX"); } @Test @@ -109,7 +112,7 @@ public class ACLIntegration extends BaseImapProtocol { system.createMailbox(newMailbox); grantRightsOnHost.grantRights(newMailbox, USER, new SimpleMailboxACL.Rfc4314Rights("x")); grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("k")); - scriptTest("aclIntegration/ACLIntegrationRightK", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightK"); } @Test @@ -118,146 +121,146 @@ public class ACLIntegration extends BaseImapProtocol { system.createMailbox(newMailbox); grantRightsOnHost.grantRights(newMailbox, USER, new SimpleMailboxACL.Rfc4314Rights("x")); grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rswipxtela")); - scriptTest("aclIntegration/ACLIntegrationWithoutRightK", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationWithoutRightK"); } @Test public void rightREShouldBeSufficientToPerformExpungeUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("re")); - scriptTest("aclIntegration/ACLIntegrationRightRE", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightRE"); } @Test public void rightEShouldBeNeededToPerformExpungeUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rswipxtclak")); - scriptTest("aclIntegration/ACLIntegrationWithoutRightE", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationWithoutRightE"); } @Test public void rightIShouldBeSufficientToPerformAppendUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("ri")); - scriptTest("aclIntegration/ACLIntegrationRightI", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightI"); } @Test public void rightIShouldBeNeededToPerformAppendUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rswepxtcdlak")); - scriptTest("aclIntegration/ACLIntegrationWithoutRightI", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationWithoutRightI"); } @Test public void rightISShouldBeSufficientToPerformAppendOfSeenMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("ris")); - scriptTest("aclIntegration/ACLIntegrationRightIS", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightIS"); } @Test public void rightITShouldBeSufficientToPerformAppendOfDeletedMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rit")); - scriptTest("aclIntegration/ACLIntegrationRightIT", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightIT"); } @Test public void rightIWShouldBeSufficientToPerformAppendOfDeletedMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("riw")); - scriptTest("aclIntegration/ACLIntegrationRightIW", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightIW"); } @Test public void rightRSShouldBeSufficientToPerformStoreAndFetchOnSeenMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rs")); mailboxMessageAppender.fillMailbox(OTHER_USER_MAILBOX); - scriptTest("aclIntegration/ACLIntegrationRightRS", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightRS"); } @Test public void rightSShouldBeNeededToPerformStoreAndFetchOnSeenMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rwipxtcdlake")); mailboxMessageAppender.fillMailbox(OTHER_USER_MAILBOX); - scriptTest("aclIntegration/ACLIntegrationWithoutRightS", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationWithoutRightS"); } @Test public void rightRWShouldBeSufficientToPerformStoreOnFlaggedMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rw")); mailboxMessageAppender.fillMailbox(OTHER_USER_MAILBOX); - scriptTest("aclIntegration/ACLIntegrationRightRW", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightRW"); } @Test public void rightWShouldBeNeededToPerformStoreOnFlaggedMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rsipxtcdlake")); mailboxMessageAppender.fillMailbox(OTHER_USER_MAILBOX); - scriptTest("aclIntegration/ACLIntegrationWithoutRightW", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationWithoutRightW"); } @Test public void rightRTShouldBeSufficientToPerformStoreOnDeletedMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rt")); mailboxMessageAppender.fillMailbox(OTHER_USER_MAILBOX); - scriptTest("aclIntegration/ACLIntegrationRightRT", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationRightRT"); } @Test public void rightTShouldBeNeededToPerformStoreOnFlaggedMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rwipxslake")); mailboxMessageAppender.fillMailbox(OTHER_USER_MAILBOX); - scriptTest("aclIntegration/ACLIntegrationWithoutRightT", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationWithoutRightT"); } @Test public void rightIShouldBeSufficientToPerformCopyUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("i")); mailboxMessageAppender.fillMailbox(MY_INBOX); - scriptTest("aclIntegration/ACLIntegrationCopyI", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationCopyI"); } @Test public void rightIShouldBeNeededToPerformCopyUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rswpxtcdlake")); mailboxMessageAppender.fillMailbox(MY_INBOX); - scriptTest("aclIntegration/ACLIntegrationCopyWithoutI", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationCopyWithoutI"); } @Test public void rightIShouldBeSufficientToPerformOfSeenMessagesCopyUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("ris")); mailboxMessageAppender.fillMailbox(MY_INBOX); - scriptTest("aclIntegration/ACLIntegrationCopyIS", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationCopyIS"); } @Test public void rightSShouldBeNeededToPerformCopyOfSeenMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("riwpxtcdlake")); mailboxMessageAppender.fillMailbox(MY_INBOX); - scriptTest("aclIntegration/ACLIntegrationCopyWithoutS", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationCopyWithoutS"); } @Test public void rightIWShouldBeSufficientToPerformOfFlaggedMessagesCopyUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("riw")); mailboxMessageAppender.fillMailbox(MY_INBOX); - scriptTest("aclIntegration/ACLIntegrationCopyIW", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationCopyIW"); } @Test public void rightWShouldBeNeededToPerformCopyOfFlaggedMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rispxtcdlake")); mailboxMessageAppender.fillMailbox(MY_INBOX); - scriptTest("aclIntegration/ACLIntegrationCopyWithoutW", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationCopyWithoutW"); } @Test public void rightITShouldBeSufficientToPerformOfDeletedMessagesCopyUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rit")); mailboxMessageAppender.fillMailbox(MY_INBOX); - scriptTest("aclIntegration/ACLIntegrationCopyIT", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationCopyIT"); } @Test public void rightTShouldBeNeededToPerformCopyOfDeletedMessageUS() throws Exception { grantRightsOnHost.grantRights(OTHER_USER_MAILBOX, USER, new SimpleMailboxACL.Rfc4314Rights("rispxwlake")); mailboxMessageAppender.fillMailbox(MY_INBOX); - scriptTest("aclIntegration/ACLIntegrationCopyWithoutT", Locale.US); + simpleScriptedTestProtocol.run("aclIntegration/ACLIntegrationCopyWithoutT"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatePlain.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatePlain.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatePlain.java index 6f241bb..b11eca8 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatePlain.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatePlain.java @@ -26,16 +26,31 @@ import javax.inject.Inject; import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mpt.api.ImapHostSystem; -import org.apache.james.mpt.imapmailbox.suite.base.BaseNonAuthenticatedState; +import org.apache.james.mpt.imapmailbox.ImapTestConstants; +import org.apache.james.mpt.imapmailbox.suite.base.BasicImapCommands; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -public class AuthenticatePlain extends BaseNonAuthenticatedState { +public class AuthenticatePlain implements ImapTestConstants { @Inject private static ImapHostSystem system; - public AuthenticatePlain() throws Exception { - super(system); + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; + + @Before + public void setUp() throws Exception { + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + BasicImapCommands.welcome(simpleScriptedTestProtocol); + } + + @After + public void tearDown() throws Exception { + system.afterTest(); } @Test @@ -43,7 +58,7 @@ public class AuthenticatePlain extends BaseNonAuthenticatedState { system.addUser("delegate", "123456"); system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, "delegate", "delegate")); system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, "imapuser", "imapuser")); - scriptTest("AuthenticatePlain", Locale.US); + simpleScriptedTestProtocol.run("AuthenticatePlain"); } @Test @@ -51,7 +66,9 @@ public class AuthenticatePlain extends BaseNonAuthenticatedState { system.addUser("delegate", "123456"); system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, "delegate", "delegate")); system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, "imapuser", "imapuser")); - scriptTest("AuthenticatePlain", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("AuthenticatePlain"); } @Test @@ -59,6 +76,8 @@ public class AuthenticatePlain extends BaseNonAuthenticatedState { system.addUser("delegate", "123456"); system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, "delegate", "delegate")); system.createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, "imapuser", "imapuser")); - scriptTest("AuthenticatePlain", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("AuthenticatePlain"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatedState.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatedState.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatedState.java index c6680e1..45bafa6 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatedState.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/AuthenticatedState.java @@ -26,341 +26,441 @@ import javax.inject.Inject; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mpt.api.ImapFeatures.Feature; import org.apache.james.mpt.api.ImapHostSystem; -import org.apache.james.mpt.imapmailbox.suite.base.BaseAuthenticatedState; +import org.apache.james.mpt.imapmailbox.suite.base.BasicImapCommands; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Assume; +import org.junit.Before; import org.junit.Test; -public class AuthenticatedState extends BaseAuthenticatedState { +public class AuthenticatedState extends BasicImapCommands { @Inject private static ImapHostSystem system; - public AuthenticatedState() throws Exception { - super(system); + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; + + @Before + public void setUp() throws Exception { + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + BasicImapCommands.welcome(simpleScriptedTestProtocol); + BasicImapCommands.authenticate(simpleScriptedTestProtocol); + } + + @After + public void tearDown() throws Exception { + system.afterTest(); } @Test public void testNoopUS() throws Exception { - scriptTest("Noop", Locale.US); + simpleScriptedTestProtocol.run("Noop"); } @Test public void testLogoutUS() throws Exception { - scriptTest("Logout", Locale.US); + simpleScriptedTestProtocol.run("Logout"); } @Test public void testCapabilityUS() throws Exception { - scriptTest("Capability", Locale.US); + simpleScriptedTestProtocol.run("Capability"); } @Test public void testAppendExamineInboxUS() throws Exception { - scriptTest("AppendExamineInbox", Locale.US); + simpleScriptedTestProtocol.run("AppendExamineInbox"); } @Test public void testAppendSelectInboxUS() throws Exception { - scriptTest("AppendSelectInbox", Locale.US); + simpleScriptedTestProtocol.run("AppendSelectInbox"); } @Test public void testCreateUS() throws Exception { - scriptTest("Create", Locale.US); + simpleScriptedTestProtocol.run("Create"); } @Test public void testExamineEmptyUS() throws Exception { - scriptTest("ExamineEmpty", Locale.US); + simpleScriptedTestProtocol.run("ExamineEmpty"); } @Test public void testSelectEmptyUS() throws Exception { - scriptTest("SelectEmpty", Locale.US); + simpleScriptedTestProtocol.run("SelectEmpty"); } @Test public void testListNamespaceUS() throws Exception { - scriptTest("ListNamespace", Locale.US); + simpleScriptedTestProtocol.run("ListNamespace"); } @Test public void testListMailboxesUS() throws Exception { - scriptTest("ListMailboxes", Locale.US); + simpleScriptedTestProtocol.run("ListMailboxes"); } @Test public void testStatusUS() throws Exception { - scriptTest("Status", Locale.US); + simpleScriptedTestProtocol.run("Status"); } @Test public void testSubscribeUS() throws Exception { - scriptTest("Subscribe", Locale.US); + simpleScriptedTestProtocol.run("Subscribe"); } @Test public void testDeleteUS() throws Exception { - scriptTest("Delete", Locale.US); + simpleScriptedTestProtocol.run("Delete"); } @Test public void testAppendUS() throws Exception { - scriptTest("Append", Locale.US); + simpleScriptedTestProtocol.run("Append"); } @Test public void testAppendExpungeUS() throws Exception { - scriptTest("AppendExpunge", Locale.US); + simpleScriptedTestProtocol.run("AppendExpunge"); } @Test public void testSelectAppendUS() throws Exception { - scriptTest("SelectAppend", Locale.US); + simpleScriptedTestProtocol.run("SelectAppend"); } @Test public void testStringArgsUS() throws Exception { - scriptTest("StringArgs", Locale.US); + simpleScriptedTestProtocol.run("StringArgs"); } @Test public void testValidNonAuthenticatedUS() throws Exception { - scriptTest("ValidNonAuthenticated", Locale.US); + simpleScriptedTestProtocol.run("ValidNonAuthenticated"); } @Test public void testNoopITALY() throws Exception { - scriptTest("Noop", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("Noop"); } @Test public void testLogoutITALY() throws Exception { - scriptTest("Logout", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY).run("Logout"); } @Test public void testCapabilityITALY() throws Exception { - scriptTest("Capability", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("Capability"); } @Test public void testAppendExamineInboxITALY() throws Exception { - scriptTest("AppendExamineInbox", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("AppendExamineInbox"); } @Test public void testAppendSelectInboxITALY() throws Exception { - scriptTest("AppendSelectInbox", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("AppendSelectInbox"); } @Test public void testCreateITALY() throws Exception { - scriptTest("Create", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("Create"); } @Test public void testExamineEmptyITALY() throws Exception { - scriptTest("ExamineEmpty", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ExamineEmpty"); } @Test public void testSelectEmptyITALY() throws Exception { - scriptTest("SelectEmpty", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("SelectEmpty"); } @Test public void testListNamespaceITALY() throws Exception { - scriptTest("ListNamespace", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ListNamespace"); } @Test public void testListMailboxesITALY() throws Exception { - scriptTest("ListMailboxes", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ListMailboxes"); } @Test public void testStatusITALY() throws Exception { - scriptTest("Status", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("Status"); } @Test public void testSubscribeITALY() throws Exception { - scriptTest("Subscribe", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("Subscribe"); } @Test public void testDeleteITALY() throws Exception { - scriptTest("Delete", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("Delete"); } @Test public void testAppendITALY() throws Exception { - scriptTest("Append", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("Append"); } @Test public void testAppendExpungeITALY() throws Exception { - scriptTest("AppendExpunge", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("AppendExpunge"); } @Test public void testSelectAppendITALY() throws Exception { - scriptTest("SelectAppend", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("SelectAppend"); } @Test public void testStringArgsITALY() throws Exception { - scriptTest("StringArgs", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("StringArgs"); } @Test public void testValidNonAuthenticatedITALY() throws Exception { - scriptTest("ValidNonAuthenticated", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ValidNonAuthenticated"); } @Test public void testNoopKOREA() throws Exception { - scriptTest("Noop", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("Noop"); } @Test public void testLogoutKOREA() throws Exception { - scriptTest("Logout", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("Logout"); } @Test public void testCapabilityKOREA() throws Exception { - scriptTest("Capability", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("Capability"); } @Test public void testAppendExamineInboxKOREA() throws Exception { - scriptTest("AppendExamineInbox", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("AppendExamineInbox"); } @Test public void testAppendSelectInboxKOREA() throws Exception { - scriptTest("AppendSelectInbox", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("AppendSelectInbox"); } @Test public void testCreateKOREA() throws Exception { - scriptTest("Create", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("Create"); } @Test public void testExamineEmptyKOREA() throws Exception { - scriptTest("ExamineEmpty", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ExamineEmpty"); } @Test public void testSelectEmptyKOREA() throws Exception { - scriptTest("SelectEmpty", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("SelectEmpty"); } @Test public void testListNamespaceKOREA() throws Exception { - scriptTest("ListNamespace", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ListNamespace"); } @Test public void testListMailboxesKOREA() throws Exception { - scriptTest("ListMailboxes", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ListMailboxes"); } @Test public void testStatusKOREA() throws Exception { - scriptTest("Status", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("Status"); } @Test public void testSubscribeKOREA() throws Exception { - scriptTest("Subscribe", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("Subscribe"); } @Test public void testDeleteKOREA() throws Exception { - scriptTest("Delete", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("Delete"); } @Test public void testAppendKOREA() throws Exception { - scriptTest("Append", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("Append"); } @Test public void testAppendExpungeKOREA() throws Exception { - scriptTest("AppendExpunge", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("AppendExpunge"); } @Test public void testSelectAppendKOREA() throws Exception { - scriptTest("SelectAppend", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("SelectAppend"); } @Test public void testStringArgsKOREA() throws Exception { - scriptTest("StringArgs", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("StringArgs"); } @Test public void testValidNonAuthenticatedKOREA() throws Exception { - scriptTest("ValidNonAuthenticated", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ValidNonAuthenticated"); } @Test public void testNamespaceUS() throws Exception { - scriptTest("Namespace", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("Namespace"); } @Test public void testNamespaceITALY() throws Exception { - scriptTest("Namespace", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("Namespace"); } @Test public void testNamespaceKOREA() throws Exception { - scriptTest("Namespace", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("Namespace"); } @Test public void listShouldNotListMailboxWithOtherNamspaceUS() throws Exception { Assume.assumeTrue(system.supports(Feature.NAMESPACE_SUPPORT)); system.createMailbox(new MailboxPath("#namespace", USER, "Other")); - scriptTest("ListMailboxes", Locale.US); + simpleScriptedTestProtocol.run("ListMailboxes"); } @Test public void listShouldNotListMailboxWithOtherNamspaceITALY() throws Exception { Assume.assumeTrue(system.supports(Feature.NAMESPACE_SUPPORT)); system.createMailbox(new MailboxPath("#namespace", USER, "Other")); - scriptTest("ListMailboxes", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ListMailboxes"); } @Test public void listShouldNotListMailboxWithOtherNamspaceKOREA() throws Exception { Assume.assumeTrue(system.supports(Feature.NAMESPACE_SUPPORT)); system.createMailbox(new MailboxPath("#namespace", USER, "Other")); - scriptTest("ListMailboxes", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ListMailboxes"); } @Test public void listShouldNotListMailboxWithOtherUserUS() throws Exception { system.createMailbox(new MailboxPath("#namespace", USER + "2", "Other")); - scriptTest("ListMailboxes", Locale.US); + simpleScriptedTestProtocol.run("ListMailboxes"); } @Test public void listShouldNotListMailboxWithOtherUserITALY() throws Exception { system.createMailbox(new MailboxPath("#namespace", USER + "2", "Other")); - scriptTest("ListMailboxes", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ListMailboxes"); } @Test public void listShouldNotListMailboxWithOtherUserKOREA() throws Exception { system.createMailbox(new MailboxPath("#namespace", USER + "2", "Other")); - scriptTest("ListMailboxes", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ListMailboxes"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ConcurrentSessions.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ConcurrentSessions.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ConcurrentSessions.java index 4a55ed1..6945e94 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ConcurrentSessions.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/ConcurrentSessions.java @@ -24,130 +24,191 @@ import java.util.Locale; import javax.inject.Inject; import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.imapmailbox.suite.base.BaseAuthenticatedState; +import org.apache.james.mpt.imapmailbox.ImapTestConstants; +import org.apache.james.mpt.imapmailbox.suite.base.BasicImapCommands; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -public class ConcurrentSessions extends BaseAuthenticatedState { +public class ConcurrentSessions implements ImapTestConstants { @Inject private static HostSystem system; - public ConcurrentSessions() throws Exception { - super(system); + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; + + @Before + public void setUp() throws Exception { + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system) + .withUser(USER, PASSWORD); + BasicImapCommands.welcome(simpleScriptedTestProtocol); + BasicImapCommands.authenticate(simpleScriptedTestProtocol); } + @After + public void tearDown() throws Exception { + system.afterTest(); + } + @Test public void testConcurrentExpungeResponseUS() throws Exception { - scriptTest("ConcurrentExpungeResponse", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("ConcurrentExpungeResponse"); } @Test public void testConcurrentExpungeResponseITALY() throws Exception { - scriptTest("ConcurrentExpungeResponse", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ConcurrentExpungeResponse"); } @Test public void testConcurrentExpungeResponseKOREA() throws Exception { - scriptTest("ConcurrentExpungeResponse", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ConcurrentExpungeResponse"); } @Test public void testConcurrentCrossExpungeUS() throws Exception { - scriptTest("ConcurrentCrossExpunge", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("ConcurrentCrossExpunge"); } @Test public void testConcurrentCrossExpungeITALY() throws Exception { - scriptTest("ConcurrentCrossExpunge", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ConcurrentCrossExpunge"); } @Test public void testConcurrentCrossExpungeKOREA() throws Exception { - scriptTest("ConcurrentCrossExpunge", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ConcurrentCrossExpunge"); } @Test public void testConcurrentRenameSelectedSubUS() throws Exception { - scriptTest("ConcurrentRenameSelectedSub", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("ConcurrentRenameSelectedSub"); } @Test public void testConcurrentExistsResponseUS() throws Exception { - scriptTest("ConcurrentExistsResponse", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("ConcurrentExistsResponse"); } @Test public void testConcurrentDeleteSelectedUS() throws Exception { - scriptTest("ConcurrentDeleteSelected", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("ConcurrentDeleteSelected"); } @Test public void testConcurrentFetchResponseUS() throws Exception { - scriptTest("ConcurrentFetchResponse", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("ConcurrentFetchResponse"); } @Test public void testConcurrentRenameSelectedUS() throws Exception { - scriptTest("ConcurrentRenameSelected", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("ConcurrentRenameSelected"); } @Test public void testConcurrentRenameSelectedSubKOREA() throws Exception { - scriptTest("ConcurrentRenameSelectedSub", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ConcurrentRenameSelectedSub"); } @Test public void testConcurrentExistsResponseKOREA() throws Exception { - scriptTest("ConcurrentExistsResponse", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ConcurrentExistsResponse"); } @Test public void testConcurrentDeleteSelectedKOREA() throws Exception { - scriptTest("ConcurrentDeleteSelected", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ConcurrentDeleteSelected"); } @Test public void testConcurrentFetchResponseKOREA() throws Exception { - scriptTest("ConcurrentFetchResponse", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ConcurrentFetchResponse"); } @Test public void testConcurrentRenameSelectedKOREA() throws Exception { - scriptTest("ConcurrentRenameSelected", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ConcurrentRenameSelected"); } @Test public void testConcurrentRenameSelectedSubITALY() throws Exception { - scriptTest("ConcurrentRenameSelectedSub", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ConcurrentRenameSelectedSub"); } @Test public void testConcurrentExistsResponseITALY() throws Exception { - scriptTest("ConcurrentExistsResponse", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ConcurrentExistsResponse"); } @Test public void testConcurrentDeleteSelectedITALY() throws Exception { - scriptTest("ConcurrentDeleteSelected", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ConcurrentDeleteSelected"); } @Test public void testConcurrentFetchResponseITALY() throws Exception { - scriptTest("ConcurrentFetchResponse", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ConcurrentFetchResponse"); } @Test public void testConcurrentRenameSelectedITALY() throws Exception { - scriptTest("ConcurrentRenameSelected", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ConcurrentRenameSelected"); } @Test public void expungeShouldNotBreakUIDToMSNMapping() throws Exception { - scriptTest("ConcurrentExpungeUIDToMSNMapping", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("ConcurrentExpungeUIDToMSNMapping"); } @Test public void appendShouldNotBreakUIDToMSNMapping() throws Exception { - scriptTest("ConcurrentAppendUIDToMSNMapping", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("ConcurrentAppendUIDToMSNMapping"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Condstore.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Condstore.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Condstore.java index 73caef5..0336638 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Condstore.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Condstore.java @@ -25,33 +25,44 @@ import javax.inject.Inject; import org.apache.james.imap.api.ImapConfiguration; import org.apache.james.mpt.host.JamesImapHostSystem; -import org.apache.james.mpt.imapmailbox.suite.base.BaseAuthenticatedState; +import org.apache.james.mpt.imapmailbox.ImapTestConstants; +import org.apache.james.mpt.imapmailbox.suite.base.BasicImapCommands; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.Before; import org.junit.Test; -public class Condstore extends BaseAuthenticatedState { +public class Condstore implements ImapTestConstants { @Inject private static JamesImapHostSystem system; - public Condstore() throws Exception { - super(system); + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; + + @Before + public void setUp() throws Exception { + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system) + .withUser(TO_ADDRESS, PASSWORD) + .withLocale(Locale.US); + BasicImapCommands.welcome(simpleScriptedTestProtocol); + BasicImapCommands.authenticate(simpleScriptedTestProtocol); } + @Test public void condstoreShouldBeDisableByDefault() throws Exception { system.configure(ImapConfiguration.builder().build()); - scriptTest("CondstoreDisable", Locale.US); + simpleScriptedTestProtocol.run("CondstoreDisable"); } @Test public void condstoreShouldBeDisableWhenGivenAndFalse() throws Exception { system.configure(ImapConfiguration.builder().isCondstoreEnable(false).build()); - scriptTest("CondstoreDisable", Locale.US); + simpleScriptedTestProtocol.run("CondstoreDisable"); } @Test public void condstoreShouldBeEnableWhenGivenAndTrue() throws Exception { system.configure(ImapConfiguration.builder().isCondstoreEnable(true).build()); - scriptTest("CondstoreEnable", Locale.US); + simpleScriptedTestProtocol.run("CondstoreEnable"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Copy.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Copy.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Copy.java index 339be7f..81f62f9 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Copy.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Copy.java @@ -24,20 +24,30 @@ import java.util.Locale; import javax.inject.Inject; import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.imapmailbox.suite.base.BaseSelectedState; +import org.apache.james.mpt.imapmailbox.ImapTestConstants; +import org.apache.james.mpt.imapmailbox.suite.base.BasicImapCommands; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.Before; import org.junit.Test; -public class Copy extends BaseSelectedState { +public class Copy implements ImapTestConstants { @Inject private static HostSystem system; - public Copy() throws Exception { - super(system); - } + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; + @Before + public void setUp() throws Exception { + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + BasicImapCommands.welcome(simpleScriptedTestProtocol); + BasicImapCommands.authenticate(simpleScriptedTestProtocol); + } + @Test public void copyCommandShouldRespectTheRFC() throws Exception { - scriptTest("Copy", Locale.US); + simpleScriptedTestProtocol.run("Copy"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/DeploymentValidation.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/DeploymentValidation.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/DeploymentValidation.java index 304709d..b92ac5f 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/DeploymentValidation.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/DeploymentValidation.java @@ -19,33 +19,40 @@ package org.apache.james.mpt.imapmailbox.suite; -import javax.inject.Inject; import java.util.Locale; +import javax.inject.Inject; + import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.imapmailbox.suite.base.BaseImapProtocol; +import org.apache.james.mpt.imapmailbox.ImapTestConstants; +import org.apache.james.mpt.imapmailbox.suite.base.BasicImapCommands; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.Before; import org.junit.Test; -public class DeploymentValidation extends BaseImapProtocol { +public class DeploymentValidation implements ImapTestConstants { public static final String DOMAIN = "domain"; - public static final String USER = "imapuser@" + DOMAIN; @Inject private static HostSystem system; + public static final String USER = "imapuser"; + public static final String PASSWORD = "password"; - public DeploymentValidation() throws Exception { - super(system); - } + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; - @Override + @Before public void setUp() throws Exception { - + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system) + .withUser(USER + "@" + DOMAIN, PASSWORD) + .withLocale(Locale.US); + BasicImapCommands.welcome(simpleScriptedTestProtocol); + BasicImapCommands.authenticate(simpleScriptedTestProtocol); } - + @Test public void validateDeployment() throws Exception { - scriptTest("ValidateDeployment", Locale.US); + simpleScriptedTestProtocol.run("ValidateDeployment"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Events.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Events.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Events.java index 4f220e7..e0470b9 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Events.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Events.java @@ -24,30 +24,53 @@ import java.util.Locale; import javax.inject.Inject; import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.imapmailbox.suite.base.BaseSelectedState; +import org.apache.james.mpt.imapmailbox.ImapTestConstants; +import org.apache.james.mpt.imapmailbox.suite.base.BasicImapCommands; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -public class Events extends BaseSelectedState { +public class Events implements ImapTestConstants { @Inject private static HostSystem system; - public Events() throws Exception { - super(system); + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; + + @Before + public void setUp() throws Exception { + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + BasicImapCommands.welcome(simpleScriptedTestProtocol); + BasicImapCommands.authenticate(simpleScriptedTestProtocol); + BasicImapCommands.prepareMailbox(simpleScriptedTestProtocol); + } + + @After + public void tearDown() throws Exception { + system.afterTest(); } @Test public void testAppendToSelectedUS() throws Exception { - scriptTest("AppendToSelected", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("AppendToSelected"); } @Test public void testAppendToSelectedKOREA() throws Exception { - scriptTest("AppendToSelected", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("AppendToSelected"); } @Test public void testAppendToSelectedITALY() throws Exception { - scriptTest("AppendToSelected", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("AppendToSelected"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Expunge.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Expunge.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Expunge.java index 4cba7ac..87787f6 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Expunge.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Expunge.java @@ -24,30 +24,54 @@ import java.util.Locale; import javax.inject.Inject; import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.imapmailbox.suite.base.BaseSelectedState; +import org.apache.james.mpt.imapmailbox.ImapTestConstants; +import org.apache.james.mpt.imapmailbox.suite.base.BasicImapCommands; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -public class Expunge extends BaseSelectedState { +public class Expunge implements ImapTestConstants { @Inject private static HostSystem system; - public Expunge() throws Exception { - super(system); + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; + + @Before + public void setUp() throws Exception { + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/imap/scripts/", system) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + BasicImapCommands.welcome(simpleScriptedTestProtocol); + BasicImapCommands.authenticate(simpleScriptedTestProtocol); + BasicImapCommands.prepareMailbox(simpleScriptedTestProtocol); } + @After + public void tearDown() throws Exception { + system.afterTest(); + } + @Test public void testBasicExpungeUS() throws Exception { - scriptTest("ExpungeBasics", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("ExpungeBasics"); } @Test public void testBasicExpungeIT() throws Exception { - scriptTest("ExpungeBasics", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("ExpungeBasics"); } @Test public void testBasicExpungeKO() throws Exception { - scriptTest("ExpungeBasics", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("ExpungeBasics"); } } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org