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/UidSearch.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UidSearch.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UidSearch.java index 99481ed..5e1d5e1 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UidSearch.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UidSearch.java @@ -24,46 +24,74 @@ 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 UidSearch extends BaseAuthenticatedState { +public class UidSearch implements ImapTestConstants { @Inject private static HostSystem system; - public UidSearch() 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 testSearchAtomsUS() throws Exception { - scriptTest("UidSearchAtoms", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("UidSearchAtoms"); } @Test public void testSearchAtomsITALY() throws Exception { - scriptTest("UidSearchAtoms", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("UidSearchAtoms"); } @Test public void testSearchAtomsKOREA() throws Exception { - scriptTest("UidSearchAtoms", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("UidSearchAtoms"); } @Test public void testSearchCombinationsUS() throws Exception { - scriptTest("UidSearchCombinations", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("UidSearchCombinations"); } @Test public void testSearchCombinationsITALY() throws Exception { - scriptTest("UidSearchCombinations", Locale.ITALY); + simpleScriptedTestProtocol + .withLocale(Locale.ITALY) + .run("UidSearchCombinations"); } @Test public void testSearchCombinationsKOREA() throws Exception { - scriptTest("UidSearchCombinations", Locale.KOREA); + simpleScriptedTestProtocol + .withLocale(Locale.KOREA) + .run("UidSearchCombinations"); } }
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/UidSearchOnIndex.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UidSearchOnIndex.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UidSearchOnIndex.java index 25c1026..1029027 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UidSearchOnIndex.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UidSearchOnIndex.java @@ -19,25 +19,38 @@ package org.apache.james.mpt.imapmailbox.suite; -import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.imapmailbox.suite.base.BaseAuthenticatedState; -import org.junit.Test; +import java.util.Locale; import javax.inject.Inject; -import java.util.Locale; -public class UidSearchOnIndex extends BaseAuthenticatedState { +import org.apache.james.mpt.api.HostSystem; +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 UidSearchOnIndex implements ImapTestConstants { @Inject private static HostSystem system; - public UidSearchOnIndex() 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 testSearchAtomsUS() throws Exception { - scriptTest("UidSearchAtomsIndexer", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("UidSearchAtomsIndexer"); } } 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/UserFlagsSupport.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UserFlagsSupport.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UserFlagsSupport.java index 917f9af..b0c832e 100644 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UserFlagsSupport.java +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UserFlagsSupport.java @@ -19,28 +19,47 @@ package org.apache.james.mpt.imapmailbox.suite; -import com.google.inject.Inject; import java.util.Locale; import org.apache.james.mpt.api.ImapFeatures; import org.apache.james.mpt.api.ImapHostSystem; -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.Assume; +import org.junit.Before; import org.junit.Test; -public class UserFlagsSupport extends BaseAuthenticatedState { +import com.google.inject.Inject; + +public class UserFlagsSupport implements ImapTestConstants { @Inject private static ImapHostSystem system; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; - public UserFlagsSupport() throws Exception { - super(system); + @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 testUserFlagsSupport() throws Exception { Assume.assumeTrue(system.supports(ImapFeatures.Feature.USER_FLAGS_SUPPORT)); - scriptTest("UserFlagsSupport", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("UserFlagsSupport"); } } 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/base/BaseAuthenticatedState.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseAuthenticatedState.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseAuthenticatedState.java deleted file mode 100644 index 624306d..0000000 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseAuthenticatedState.java +++ /dev/null @@ -1,85 +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.imapmailbox.suite.base; - -import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.imapmailbox.ImapTestConstants; -import org.junit.Before; - -/** - * <p> - * Runs tests for commands valid in the AUTHENTICATED state. A login session - * precedes the execution of the test elements. - * </p> - * <p> - * Suggested tests: - * </p> - * <ul> - * <li>ValidSelected</li> - * <li>ValidNonAuthenticated</li> - * <li>Capability</li> - * <li>Noop</li> - * <li>Logout</li> - * <li>AppendExamineInbox</li> - * <li>AppendSelectInbox</li> - * <li>Create</li> - * <li>ExamineEmpty</li> - * <li>SelectEmpty</li> - * <li>ListNamespace</li> - * <li>ListMailboxes</li> - * <li>Status</li> - * <li>Subscribe</li> - * <li>Delete</li> - * <li>Append</li> - * <li>Compound: - * <ul> - * <li>AppendExpunge</li> - * <li>SelectAppend</li> - * <li>StringArgs</li> - * </ul> - * </li> - * </ul> - * </p> - */ -public class BaseAuthenticatedState extends - BaseImapProtocol implements ImapTestConstants { - public BaseAuthenticatedState(HostSystem hostSystem) throws Exception { - super(hostSystem); - } - - /** - * Sets up {@link #preElements} with a welcome message and login - * request/response. - * - * @throws Exception - */ - @Before - public void setUp() throws Exception { - super.setUp(); - addTestFile("Welcome.test", preElements); - addLogin(USER, PASSWORD); - } - - protected void addLogin(String username, String password) { - preElements.CL("a001 LOGIN " + username + " " + password); - preElements.SL("a001 OK .*", - "BaseAuthenticatedState.java:83"); - } -} 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/base/BaseImapProtocol.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseImapProtocol.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseImapProtocol.java deleted file mode 100644 index edb277c..0000000 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseImapProtocol.java +++ /dev/null @@ -1,39 +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.imapmailbox.suite.base; - -import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.imapmailbox.ImapTestConstants; -import org.apache.james.mpt.script.AbstractSimpleScriptedTestProtocol; -import org.junit.Before; - -/** - * Specialise the protocol test framework for IMAP. - */ -public class BaseImapProtocol extends AbstractSimpleScriptedTestProtocol implements ImapTestConstants { - - public BaseImapProtocol(HostSystem hostSystem) throws Exception { - super(hostSystem, USER, PASSWORD, "/org/apache/james/imap/scripts/"); - } - - @Before - public void setUp() throws Exception { - super.setUp(); - } -} 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/base/BaseNonAuthenticatedState.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseNonAuthenticatedState.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseNonAuthenticatedState.java deleted file mode 100644 index 46dda12..0000000 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseNonAuthenticatedState.java +++ /dev/null @@ -1,59 +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.imapmailbox.suite.base; - -import org.apache.james.mpt.api.HostSystem; -import org.junit.Before; - -/** - * <p> - * Runs tests for commands valid in the NON_AUTHENTICATED state. A welcome - * message precedes the execution of the test elements. - * </p> - * <p> - * Recommended test scripts: - * </p> - * <ul> - * <li>ValidAuthenticated</li> - * <li>ValidSelected</li> - * <li>Capability</li> - * <li>Noop</li> - * <li>Logout</li> - * <li>Authenticate</li> - * <li>Login</li> - * </ul> - */ -public class BaseNonAuthenticatedState extends BaseImapProtocol { - public BaseNonAuthenticatedState(HostSystem system) throws Exception { - super(system); - } - - /** - * Adds a welcome message to the {@link #preElements}. - * - * @throws Exception - */ - @Before - public void setUp() throws Exception { - super.setUp(); - - addTestFile("Welcome.test", preElements); - } -} 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/base/BaseSelectedInbox.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseSelectedInbox.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseSelectedInbox.java deleted file mode 100644 index c48c382..0000000 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseSelectedInbox.java +++ /dev/null @@ -1,75 +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.imapmailbox.suite.base; - -import org.apache.james.mpt.api.HostSystem; - -/** - * <p> - * Tests commands which are valid in AUTHENTICATED and NONAUTHENTICATED by - * running them in the SELECTED state. Many commands function identically, while - * others are invalid in this state. - * </p> - * <p> - * Recommended scripts: - * </p> - * <ul> - * <li>ValidNonAuthenticated</li> - * <li>Capability</li> - * <li>Noop</li> - * <li>Logout</li> - * <li>Create</li> - * <li>ExamineEmpty</li> - * <li>SelectEmpty</li> - * <li>ListNamespace</li> - * <li>ListMailboxes</li> - * <li>Status</li> - * <li>StringArgs</li> - * <li>Subscribe</li> - * <li>Append</li> - * <li>Delete</li> - * </ul> - * - * @author Darrell DeBoer <darr...@apache.org> - * - * @version $Revision: 560719 $ - */ -public class BaseSelectedInbox extends BaseAuthenticatedState { - public BaseSelectedInbox(HostSystem system) throws Exception { - super(system); - } - - /** - * Superclass sets up welcome message and login session in - * {@link #preElements}. A "SELECT INBOX" session is then added to these - * elements. - * - * @throws Exception - */ - public void setUp() throws Exception { - super.setUp(); - addTestFile("SelectInbox.test", preElements); - } - - protected void addCloseInbox() { - postElements.CL("a CLOSE"); - postElements.SL(".*", "AbstractBaseTestSelectedInbox.java:76"); - } -} 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/base/BaseSelectedState.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseSelectedState.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseSelectedState.java deleted file mode 100644 index 66a07b7..0000000 --- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BaseSelectedState.java +++ /dev/null @@ -1,64 +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.imapmailbox.suite.base; - -import org.apache.james.mpt.api.HostSystem; -import org.junit.Before; - -/** - * <p> - * Runs tests for commands valid only in the SELECTED state. A login session and - * setup of a "seleted" mailbox precedes the execution of the test elements. - * </p> - * <p> - * Recommended scripts: - * </p> - * <ul> - * <li>Check"</li> - * <li>Expunge"</li> - * <li>Search"</li> - * <li>FetchSingleMessage"</li> - * <li>FetchMultipleMessages"</li> - * <li>FetchPeek"</li> - * <li>Store"</li> - * <li>Copy"</li> - * <li>Uid"</li> - * </ul> - */ -public class BaseSelectedState extends BaseAuthenticatedState { - - public BaseSelectedState(HostSystem system) throws Exception { - super(system); - } - - /** - * Superclass sets up welcome message and login session in - * {@link #preElements}. A "SELECT INBOX" session is then added to these - * elements. - * - * @throws Exception - */ - @Before - public void setUp() throws Exception { - super.setUp(); - addTestFile("SelectedStateSetup.test", preElements); - addTestFile("SelectedStateCleanup.test", postElements); - } -} 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/base/BasicImapCommands.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BasicImapCommands.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BasicImapCommands.java new file mode 100644 index 0000000..9d508b0 --- /dev/null +++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/base/BasicImapCommands.java @@ -0,0 +1,68 @@ +/**************************************************************** + * 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.imapmailbox.suite.base; + +import org.apache.james.mpt.api.ProtocolInteractor; +import org.apache.james.mpt.imapmailbox.ImapTestConstants; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; + + +public class BasicImapCommands implements ImapTestConstants { + + public static void welcome(SimpleScriptedTestProtocol scriptedTestProtocol) { + scriptedTestProtocol.preElements().SL("\\* OK IMAP4rev1 Server ready", "BaseAuthenticatedState.java:32"); + } + + public static void authenticate(SimpleScriptedTestProtocol scriptedTestProtocol) { + addLogin(scriptedTestProtocol.preElements(), USER, PASSWORD); + } + + + private static void addLogin(ProtocolInteractor preElements, String username, String password) { + preElements.CL("a001 LOGIN " + username + " " + password); + preElements.SL("a001 OK .*", "BaseAuthenticatedState.java:53"); + } + + public static void selectInbox(SimpleScriptedTestProtocol scriptedTestProtocol) { + ProtocolInteractor preElements = scriptedTestProtocol.preElements(); + + preElements.CL("abcd SELECT inbox"); + preElements.SL("\\* FLAGS \\(\\\\Answered \\\\Deleted \\\\Draft \\\\Flagged \\\\Seen\\)", "BasicImapCommands"); + preElements.SL("\\* \\d+ EXISTS", "BasicImapCommands"); + preElements.SL("\\* \\d+ RECENT", "BasicImapCommands"); + preElements.SL("\\* OK \\[UIDVALIDITY \\d+\\].*", "BasicImapCommands"); + preElements.SL("\\* OK \\[PERMANENTFLAGS \\(\\\\Answered \\\\Deleted \\\\Draft \\\\Flagged \\\\\\Seen( \\\\\\*)?\\)\\].*", "BasicImapCommands"); + preElements.SL("\\* OK \\[HIGHESTMODSEQ \\d+\\].*", "BasicImapCommands"); + preElements.SL("\\* OK \\[UIDNEXT 1\\].*", "BasicImapCommands"); + preElements.SL("abcd OK \\[READ-WRITE\\] SELECT completed.", "BasicImapCommands"); + + addCloseInbox(scriptedTestProtocol.postElements()); + } + + private static void addCloseInbox(ProtocolInteractor postElements) { + postElements.CL("a CLOSE"); + postElements.SL(".*", "AbstractBaseTestSelectedInbox.java:76"); + } + + public static void prepareMailbox(SimpleScriptedTestProtocol scriptedTestProtocol) throws Exception { + scriptedTestProtocol.addTestFile("SelectedStateSetup.test", scriptedTestProtocol.preElements()); + scriptedTestProtocol.addTestFile("SelectedStateCleanup.test", scriptedTestProtocol.postElements()); + } +} http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/AuthenticateTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/AuthenticateTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/AuthenticateTest.java index 11aaa46..d802f72 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/AuthenticateTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/AuthenticateTest.java @@ -19,29 +19,42 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class AuthenticateTest extends ManageSieveMPTTest { +public class AuthenticateTest { @Inject private static ManageSieveHostSystem hostSystem; - public AuthenticateTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void authenticateShouldWork() throws Exception { - scriptTest("authenticate", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("authenticate"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/CapabilityTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/CapabilityTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/CapabilityTest.java index 3da29d8..f8a2fbd 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/CapabilityTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/CapabilityTest.java @@ -19,29 +19,42 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class CapabilityTest extends ManageSieveMPTTest { +public class CapabilityTest { @Inject private static ManageSieveHostSystem hostSystem; - public CapabilityTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void capabilityShouldWork() throws Exception { - scriptTest("capability", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("capability"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/CheckScriptTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/CheckScriptTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/CheckScriptTest.java index dc8877c..9363f67 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/CheckScriptTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/CheckScriptTest.java @@ -21,27 +21,39 @@ package org.apache.james.mpt.testsuite; import com.google.inject.Inject; import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; import java.util.Locale; -public class CheckScriptTest extends ManageSieveMPTTest { +public class CheckScriptTest { @Inject private static ManageSieveHostSystem hostSystem; - public CheckScriptTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void checkScriptShouldWork() throws Exception { - scriptTest("checkscript", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("checkscript"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/DeleteScriptTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/DeleteScriptTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/DeleteScriptTest.java index dcc3b2c..cdc7b53 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/DeleteScriptTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/DeleteScriptTest.java @@ -19,29 +19,42 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class DeleteScriptTest extends ManageSieveMPTTest { +public class DeleteScriptTest { @Inject private static ManageSieveHostSystem hostSystem; - - public DeleteScriptTest() throws Exception { - super(hostSystem); - } + + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void deleteScriptShouldWork() throws Exception { - scriptTest("deletescript", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("deletescript"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/GetScriptTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/GetScriptTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/GetScriptTest.java index aa67817..d302af4 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/GetScriptTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/GetScriptTest.java @@ -19,29 +19,42 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class GetScriptTest extends ManageSieveMPTTest { +public class GetScriptTest { @Inject private static ManageSieveHostSystem hostSystem; - public GetScriptTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void getScriptShouldWork() throws Exception { - scriptTest("getscript", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("getscript"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/HaveSpaceTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/HaveSpaceTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/HaveSpaceTest.java index b14bd13..213b012 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/HaveSpaceTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/HaveSpaceTest.java @@ -19,31 +19,44 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class HaveSpaceTest extends ManageSieveMPTTest { +public class HaveSpaceTest { @Inject private static ManageSieveHostSystem hostSystem; - public HaveSpaceTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); hostSystem.setMaxQuota(USER, 50); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void haveSpaceShouldWork() throws Exception { - scriptTest("havespace", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("havespace"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/ListScriptsTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/ListScriptsTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/ListScriptsTest.java index d568034..d27b3c9 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/ListScriptsTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/ListScriptsTest.java @@ -19,29 +19,42 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class ListScriptsTest extends ManageSieveMPTTest { +public class ListScriptsTest { @Inject private static ManageSieveHostSystem hostSystem; - public ListScriptsTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void listScriptsShouldWork() throws Exception { - scriptTest("listscripts", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("listscripts"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/LogoutTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/LogoutTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/LogoutTest.java index e51a50e..64b5079 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/LogoutTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/LogoutTest.java @@ -19,23 +19,42 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class LogoutTest extends ManageSieveMPTTest { +public class LogoutTest { @Inject private static ManageSieveHostSystem hostSystem; - public LogoutTest() throws Exception { - super(hostSystem); + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; + + @Before + public void setUp() throws Exception { + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void logoutShouldWork() throws Exception { - scriptTest("logout", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("logout"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/ManageSieveMPTTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/ManageSieveMPTTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/ManageSieveMPTTest.java deleted file mode 100644 index fc21957..0000000 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/ManageSieveMPTTest.java +++ /dev/null @@ -1,33 +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.testsuite; - -import org.apache.james.mpt.api.HostSystem; -import org.apache.james.mpt.script.AbstractSimpleScriptedTestProtocol; - -public class ManageSieveMPTTest extends AbstractSimpleScriptedTestProtocol { - - public static final String USER = "user"; - public static final String PASSWORD = "password"; - - public ManageSieveMPTTest(HostSystem hostSystem) throws Exception { - super(hostSystem, USER, PASSWORD, "/org/apache/james/managesieve/scripts/"); - } -} http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/NoopTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/NoopTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/NoopTest.java index 53d8559..e881477 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/NoopTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/NoopTest.java @@ -19,24 +19,43 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class NoopTest extends ManageSieveMPTTest { +public class NoopTest { @Inject private static ManageSieveHostSystem hostSystem; - public NoopTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; + @Before + public void setUp() throws Exception { + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); + } + @Test public void noopShouldWork() throws Exception { - scriptTest("noop", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("noop"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/PutScriptTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/PutScriptTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/PutScriptTest.java index be9010f..5337fcd 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/PutScriptTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/PutScriptTest.java @@ -19,29 +19,42 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class PutScriptTest extends ManageSieveMPTTest { +public class PutScriptTest { @Inject private static ManageSieveHostSystem hostSystem; - public PutScriptTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void putScriptShouldWork() throws Exception { - scriptTest("putscript", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("putscript"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/RenameScriptTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/RenameScriptTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/RenameScriptTest.java index 44b44dc..e1c6cb4 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/RenameScriptTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/RenameScriptTest.java @@ -19,29 +19,42 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class RenameScriptTest extends ManageSieveMPTTest { +public class RenameScriptTest { @Inject private static ManageSieveHostSystem hostSystem; - public RenameScriptTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void renameScriptShouldWork() throws Exception { - scriptTest("renamescript", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("renamescript"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/SetActiveTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/SetActiveTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/SetActiveTest.java index 1edad93..9a3f044 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/SetActiveTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/SetActiveTest.java @@ -19,29 +19,42 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class SetActiveTest extends ManageSieveMPTTest { +public class SetActiveTest { @Inject private static ManageSieveHostSystem hostSystem; - public SetActiveTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void setActiveShouldWork() throws Exception { - scriptTest("setactive", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("setactive"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/StartTlsTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/StartTlsTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/StartTlsTest.java index 140ac7a..ac61a1d 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/StartTlsTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/StartTlsTest.java @@ -19,29 +19,42 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class StartTlsTest extends ManageSieveMPTTest { +public class StartTlsTest { @Inject private static ManageSieveHostSystem hostSystem; - public StartTlsTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); + } + + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); } @Test public void startTlsShouldWork() throws Exception { - scriptTest("starttls", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("starttls"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/UnauthenticatedTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/UnauthenticatedTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/UnauthenticatedTest.java index b909d23..aa1f64f 100644 --- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/UnauthenticatedTest.java +++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/UnauthenticatedTest.java @@ -19,30 +19,43 @@ package org.apache.james.mpt.testsuite; -import com.google.inject.Inject; +import java.util.Locale; + import org.apache.james.mpt.host.ManageSieveHostSystem; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; +import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.Locale; +import com.google.inject.Inject; -public class UnauthenticatedTest extends ManageSieveMPTTest { +public class UnauthenticatedTest { @Inject private static ManageSieveHostSystem hostSystem; - public UnauthenticatedTest() throws Exception { - super(hostSystem); - } + public static final String USER = "user"; + public static final String PASSWORD = "password"; + + private SimpleScriptedTestProtocol simpleScriptedTestProtocol; @Before public void setUp() throws Exception { - super.setUp(); + simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem) + .withUser(USER, PASSWORD) + .withLocale(Locale.US); } + @After + public void tearDown() throws Exception { + hostSystem.afterTest(); + } + @Test public void unauthenticatedCommandShouldWork() throws Exception { - scriptTest("unauthenticate", Locale.US); + simpleScriptedTestProtocol + .withLocale(Locale.US) + .run("unauthenticate"); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java b/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java index cb8ca5f..c6e8814 100644 --- a/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java +++ b/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java @@ -28,7 +28,7 @@ import java.util.Locale; import javax.inject.Inject; -import org.apache.james.mpt.script.AbstractSimpleScriptedTestProtocol; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; import org.apache.james.util.streams.SwarmGenericContainer; import org.junit.Before; import org.junit.Rule; @@ -42,7 +42,7 @@ import com.jayway.restassured.RestAssured; import com.jayway.restassured.builder.RequestSpecBuilder; import com.jayway.restassured.http.ContentType; -public class ForwardSmtpTest extends AbstractSimpleScriptedTestProtocol { +public class ForwardSmtpTest { public static final String USER = "bob"; public static final String DOMAIN = "mydomain.tld"; @@ -59,13 +59,16 @@ public class ForwardSmtpTest extends AbstractSimpleScriptedTestProtocol { @Inject private static SmtpHostSystem hostSystem; + private SimpleScriptedTestProtocol scriptedTest; + public ForwardSmtpTest() throws Exception { - super(hostSystem, USER_AT_DOMAIN, PASSWORD, "/org/apache/james/smtp/scripts/"); + scriptedTest = new SimpleScriptedTestProtocol("/org/apache/james/smtp/scripts/", hostSystem) + .withLocale(Locale.US) + .withUser(USER_AT_DOMAIN, PASSWORD); } @Before public void setUp() throws Exception { - super.setUp(); InetAddress containerIp = InetAddresses.forString(fakeSmtp.getIp()); hostSystem.getInMemoryDnsService() .registerRecord("yopmail.com", containerIp, "yopmail.com"); @@ -82,7 +85,7 @@ public class ForwardSmtpTest extends AbstractSimpleScriptedTestProtocol { @Test public void forwardingAnEmailShouldWork() throws Exception { - scriptTest("helo", Locale.US); + scriptedTest.run("helo"); when() .get("/api/email") http://git-wip-us.apache.org/repos/asf/james-project/blob/986df60d/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/SmtpStarttlsCommandTest.java ---------------------------------------------------------------------- diff --git a/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/SmtpStarttlsCommandTest.java b/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/SmtpStarttlsCommandTest.java index 764cdc9..e667886 100644 --- a/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/SmtpStarttlsCommandTest.java +++ b/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/SmtpStarttlsCommandTest.java @@ -22,14 +22,13 @@ import java.util.Locale; import javax.inject.Inject; -import org.apache.james.mpt.script.AbstractSimpleScriptedTestProtocol; -import org.junit.Before; +import org.apache.james.mpt.script.SimpleScriptedTestProtocol; import org.junit.Rule; import org.junit.Test; import org.junit.rules.RuleChain; import org.junit.rules.TemporaryFolder; -public class SmtpStarttlsCommandTest extends AbstractSimpleScriptedTestProtocol { +public class SmtpStarttlsCommandTest { public static final String USER = "bob"; public static final String DOMAIN = "mydomain.tld"; @@ -43,41 +42,40 @@ public class SmtpStarttlsCommandTest extends AbstractSimpleScriptedTestProtocol @Inject private static SmtpHostSystem hostSystem; + + private SimpleScriptedTestProtocol scriptedTest; public SmtpStarttlsCommandTest() throws Exception { - super(hostSystem, USER_AT_DOMAIN, PASSWORD, "/org/apache/james/smtp/scripts/"); - } - - @Before - public void setUp() throws Exception { - super.setUp(); + String scriptDir = "/org/apache/james/smtp/scripts/"; + scriptedTest = new SimpleScriptedTestProtocol(scriptDir, hostSystem) + .withLocale(Locale.US) + .withUser(USER_AT_DOMAIN, PASSWORD); } @Test public void starttlsShouldWork() throws Exception { - scriptTest("starttls", Locale.US); + scriptedTest.run("starttls"); } @Test public void starttlsShouldBeRejectedWhenFollowedByCommand() throws Exception { - scriptTest("starttls_with_injection", Locale.US); + scriptedTest.run("starttls_with_injection"); } @Test public void shouldNotRejectContentWithStartTls() throws Exception { - scriptTest("data_with_starttls", Locale.US); + scriptedTest.run("data_with_starttls"); } @Test public void shouldNotRejectRcptWithStartTls() throws Exception { - hostSystem.addUser("start...@mydomain.tld", PASSWORD); - - scriptTest("rcpt_with_starttls", Locale.US); + scriptedTest.withUser("start...@mydomain.tld", PASSWORD); + scriptedTest.run("rcpt_with_starttls"); } @Test public void shouldNotRejectContentStartsWithStartTls() throws Exception { - scriptTest("data_starts_with_starttls", Locale.US); + scriptedTest.run("data_starts_with_starttls"); } } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org