Modified: james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java?rev=1157073&r1=1157072&r2=1157073&view=diff ============================================================================== --- james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java (original) +++ james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java Fri Aug 12 12:35:05 2011 @@ -28,15 +28,15 @@ import java.util.Map; import javax.mail.Flags; -import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.ImapMessage; import org.apache.james.imap.encode.FetchResponseEncoder; import org.apache.james.imap.encode.ImapEncoder; import org.apache.james.imap.encode.ImapResponseComposer; +import org.apache.james.imap.encode.base.ByteImapResponseWriter; +import org.apache.james.imap.encode.base.ImapResponseComposerImpl; import org.apache.james.imap.message.response.FetchResponse; import org.jmock.Expectations; import org.jmock.Mockery; -import org.jmock.Sequence; import org.jmock.integration.junit4.JMock; import org.jmock.integration.junit4.JUnit4Mockery; import org.junit.Before; @@ -45,27 +45,22 @@ import org.junit.runner.RunWith; @RunWith(JMock.class) public class FetchResponseEncoderNoExtensionsTest { + private ByteImapResponseWriter writer = new ByteImapResponseWriter(); + private ImapResponseComposer composer = new ImapResponseComposerImpl(writer); + private Flags flags; - Flags flags; + private FetchResponse.Structure stubStructure; - ImapResponseComposer composer; + private ImapEncoder mockNextEncoder; - FetchResponse.Structure stubStructure; - - ImapEncoder mockNextEncoder; - - FetchResponseEncoder encoder; - - ImapCommand stubCommand; + private FetchResponseEncoder encoder; private Mockery context = new JUnit4Mockery(); @Before public void setUp() throws Exception { - composer = context.mock(ImapResponseComposer.class); mockNextEncoder = context.mock(ImapEncoder.class); encoder = new FetchResponseEncoder(mockNextEncoder, true); - stubCommand = ImapCommand.anyStateCommand("COMMAND"); flags = new Flags(Flags.Flag.DELETED); stubStructure = context.mock(FetchResponse.Structure.class); } @@ -86,42 +81,26 @@ public class FetchResponseEncoderNoExten public void testShouldEncodeFlagsResponse() throws Exception { FetchResponse message = new FetchResponse(100, flags, null, null, null, null, null, null, null, null); - context.checking(new Expectations() {{ - final Sequence sequence = context.sequence("composition"); - oneOf(composer).openFetchResponse(with(equal(100L))); inSequence(sequence); - oneOf(composer).flags(with(equal(flags))); inSequence(sequence); - oneOf(composer).closeFetchResponse(); inSequence(sequence); - }}); encoder.doEncode(message, composer, new FakeImapSession()); + assertEquals("* 100 FETCH (FLAGS (\\Deleted))\r\n",writer.getString()); } @Test public void testShouldEncodeUidResponse() throws Exception { FetchResponse message = new FetchResponse(100, null, new Long(72), null, null, null, null, null, null, null); - context.checking(new Expectations() {{ - final Sequence sequence = context.sequence("composition"); - oneOf(composer).openFetchResponse(with(equal(100L))); inSequence(sequence); - oneOf(composer).message(with(equal("UID"))); inSequence(sequence); - oneOf(composer).message(with(equal(72L))); inSequence(sequence); - oneOf(composer).closeFetchResponse(); inSequence(sequence); - }}); encoder.doEncode(message, composer, new FakeImapSession()); + assertEquals("* 100 FETCH (UID 72)\r\n", writer.getString()); + } @Test public void testShouldEncodeAllResponse() throws Exception { FetchResponse message = new FetchResponse(100, flags, new Long(72), null, null, null, null, null, null, null); - context.checking(new Expectations() {{ - final Sequence sequence = context.sequence("composition"); - oneOf(composer).openFetchResponse(with(equal(100L))); inSequence(sequence); - oneOf(composer).flags(with(equal(flags))); inSequence(sequence); - oneOf(composer).message(with(equal("UID"))); inSequence(sequence); - oneOf(composer).message(with(equal(72L))); inSequence(sequence); - oneOf(composer).closeFetchResponse(); inSequence(sequence); - }}); encoder.doEncode(message, composer, new FakeImapSession()); + assertEquals("* 100 FETCH (FLAGS (\\Deleted) UID 72)\r\n",writer.getString()); + } @Test @@ -144,27 +123,12 @@ public class FetchResponseEncoderNoExten allowing(stubStructure).getParameters(); will(returnValue(parameterList)); allowing(stubStructure).getEncoding(); will(returnValue("7BIT")); ignoring(stubStructure); - - final Sequence sequence = context.sequence("composition"); - oneOf(composer).openFetchResponse(with(equal(100L))); inSequence(sequence); - oneOf(composer).flags(with(equal(flags))); inSequence(sequence); - oneOf(composer).message(with(equal("BODYSTRUCTURE")));inSequence(sequence); - oneOf(composer).openParen();will(returnValue(composer));inSequence(sequence); - oneOf(composer).quoteUpperCaseAscii("TEXT");will(returnValue(composer));inSequence(sequence); - oneOf(composer).quoteUpperCaseAscii("HTML");will(returnValue(composer));inSequence(sequence); - oneOf(composer).nillableQuotes(parameterList);will(returnValue(composer));inSequence(sequence); - oneOf(composer).nillableQuote("");will(returnValue(composer));inSequence(sequence); - oneOf(composer).nillableQuote("");will(returnValue(composer));inSequence(sequence); - oneOf(composer).quoteUpperCaseAscii("7BIT");will(returnValue(composer));inSequence(sequence); - oneOf(composer).message(octets);inSequence(sequence); - oneOf(composer).message(lines);inSequence(sequence); - oneOf(composer).closeParen();inSequence(sequence); - oneOf(composer).message(with(equal("UID"))); inSequence(sequence); - oneOf(composer).message(with(equal(72L))); inSequence(sequence); - oneOf(composer).closeFetchResponse(); inSequence(sequence); + ; }}); final FakeImapSession fakeImapSession = new FakeImapSession(); encoder.doEncode(message, composer, fakeImapSession); + assertEquals("* 100 FETCH (FLAGS (\\Deleted) BODYSTRUCTURE (\"TEXT\" \"HTML\" (\"CHARSET\" \"US-ASCII\") \"\" \"\" \"7BIT\" 2279 48) UID 72)\r\n", writer.getString()); + } }
Modified: james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java?rev=1157073&r1=1157072&r2=1157073&view=diff ============================================================================== --- james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java (original) +++ james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java Fri Aug 12 12:35:05 2011 @@ -22,15 +22,14 @@ package org.apache.james.imap.encode; import javax.mail.Flags; import static org.junit.Assert.*; -import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.ImapMessage; import org.apache.james.imap.encode.FetchResponseEncoder; import org.apache.james.imap.encode.ImapEncoder; import org.apache.james.imap.encode.ImapResponseComposer; +import org.apache.james.imap.encode.base.ByteImapResponseWriter; +import org.apache.james.imap.encode.base.ImapResponseComposerImpl; import org.apache.james.imap.message.response.FetchResponse; -import org.jmock.Expectations; import org.jmock.Mockery; -import org.jmock.Sequence; import org.jmock.integration.junit4.JMock; import org.jmock.integration.junit4.JUnit4Mockery; import org.junit.Before; @@ -39,26 +38,21 @@ import org.junit.runner.RunWith; @RunWith(JMock.class) public class FetchResponseEncoderTest { + private ByteImapResponseWriter writer = new ByteImapResponseWriter(); + private ImapResponseComposer composer = new ImapResponseComposerImpl(writer); + + private Flags flags; - Flags flags; + private ImapEncoder mockNextEncoder; - ImapResponseComposer composer; - - - ImapEncoder mockNextEncoder; - - FetchResponseEncoder encoder; - - ImapCommand stubCommand; + private FetchResponseEncoder encoder; private Mockery context = new JUnit4Mockery(); @Before public void setUp() throws Exception { - composer = context.mock(ImapResponseComposer.class); mockNextEncoder = context.mock(ImapEncoder.class); encoder = new FetchResponseEncoder(mockNextEncoder, false); - stubCommand = ImapCommand.anyStateCommand("COMMAND"); flags = new Flags(Flags.Flag.DELETED); } @@ -77,41 +71,28 @@ public class FetchResponseEncoderTest { public void testShouldEncodeFlagsResponse() throws Exception { FetchResponse message = new FetchResponse(100, flags, null, null, null, null, null, null, null, null); - context.checking(new Expectations() {{ - final Sequence sequence = context.sequence("composition"); - oneOf(composer).openFetchResponse(with(equal(100L))); inSequence(sequence); - oneOf(composer).flags(with(equal(flags))); inSequence(sequence); - oneOf(composer).closeFetchResponse(); inSequence(sequence); - }}); encoder.doEncode(message, composer, new FakeImapSession()); + assertEquals("* 100 FETCH (FLAGS (\\Deleted))\r\n", writer.getString()); + + } @Test public void testShouldEncodeUidResponse() throws Exception { FetchResponse message = new FetchResponse(100, null, new Long(72), null, - null, null, null, null, null, null); - context.checking(new Expectations() {{ - final Sequence sequence = context.sequence("composition"); - oneOf(composer).openFetchResponse(with(equal(100L))); inSequence(sequence); - oneOf(composer).message(with(equal("UID"))); inSequence(sequence); - oneOf(composer).message(with(equal(72L))); inSequence(sequence); - oneOf(composer).closeFetchResponse(); inSequence(sequence); - }}); + null, null, null, null, null, null); encoder.doEncode(message, composer, new FakeImapSession()); + assertEquals("* 100 FETCH (UID 72)\r\n", writer.getString()); + + } @Test public void testShouldEncodeAllResponse() throws Exception { FetchResponse message = new FetchResponse(100, flags, new Long(72), null, null, null, null, null, null, null); - context.checking(new Expectations() {{ - final Sequence sequence = context.sequence("composition"); - oneOf(composer).openFetchResponse(with(equal(100L))); inSequence(sequence); - oneOf(composer).flags(with(equal(flags))); inSequence(sequence); - oneOf(composer).message(with(equal("UID"))); inSequence(sequence); - oneOf(composer).message(with(equal(72L))); inSequence(sequence); - oneOf(composer).closeFetchResponse(); inSequence(sequence); - }}); encoder.doEncode(message, composer, new FakeImapSession()); + assertEquals("* 100 FETCH (FLAGS (\\Deleted) UID 72)\r\n", writer.getString()); + } } Modified: james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java?rev=1157073&r1=1157072&r2=1157073&view=diff ============================================================================== --- james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java (original) +++ james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java Fri Aug 12 12:35:05 2011 @@ -19,17 +19,15 @@ package org.apache.james.imap.encode; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import java.util.Arrays; -import java.util.List; - -import org.apache.james.imap.api.ImapConstants; import org.apache.james.imap.api.ImapMessage; +import org.apache.james.imap.encode.base.ByteImapResponseWriter; +import org.apache.james.imap.encode.base.ImapResponseComposerImpl; import org.apache.james.imap.message.response.LSubResponse; import org.apache.james.imap.message.response.ListResponse; -import org.jmock.Expectations; import org.jmock.Mockery; import org.jmock.integration.junit4.JMock; import org.jmock.integration.junit4.JUnit4Mockery; @@ -44,14 +42,14 @@ public class LSubResponseEncoderTest { ImapEncoder mockNextEncoder; - ImapResponseComposer composer; + ByteImapResponseWriter writer = new ByteImapResponseWriter(); + ImapResponseComposer composer = new ImapResponseComposerImpl(writer); private Mockery context = new JUnit4Mockery(); @Before public void setUp() throws Exception { mockNextEncoder = context.mock(ImapEncoder.class); - composer = context.mock(ImapResponseComposer.class); encoder = new LSubResponseEncoder(mockNextEncoder); } @@ -65,29 +63,24 @@ public class LSubResponseEncoderTest { } @Test - @SuppressWarnings("unchecked") public void testName() throws Exception { - context.checking(new Expectations() {{ - oneOf(composer).listResponse(with(equal("LSUB")),with(aNull(List.class)), with(equal('.')), with(equal("INBOX.name"))); - }}); encoder.encode(new LSubResponse("INBOX.name", false, '.'), composer, new FakeImapSession()); + assertEquals("* LSUB () \".\" \"INBOX.name\"\r\n", writer.getString()); + } @Test - @SuppressWarnings("unchecked") public void testDelimiter() throws Exception { - context.checking(new Expectations() {{ - oneOf(composer).listResponse(with(equal("LSUB")),with(aNull(List.class)), with(equal('.')), with(equal("INBOX.name"))); - }}); encoder.encode(new LSubResponse("INBOX.name", false, '.'), composer, new FakeImapSession()); + assertEquals("* LSUB () \".\" \"INBOX.name\"\r\n", writer.getString()); + } @Test public void testNoSelect() throws Exception { - final String[] values = { ImapConstants.NAME_ATTRIBUTE_NOSELECT }; - context.checking(new Expectations() {{ - oneOf(composer).listResponse(with(equal("LSUB")),with(equal(Arrays.asList(values))), with(equal('.')), with(equal("INBOX.name"))); - }}); encoder.encode(new LSubResponse("INBOX.name", true, '.'), composer, new FakeImapSession()); + assertEquals("* LSUB (\\Noselect) \".\" \"INBOX.name\"\r\n", writer.getString()); + + } } Modified: james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java?rev=1157073&r1=1157072&r2=1157073&view=diff ============================================================================== --- james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java (original) +++ james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java Fri Aug 12 12:35:05 2011 @@ -25,8 +25,9 @@ import org.apache.james.imap.api.ImapMes import org.apache.james.imap.encode.ImapEncoder; import org.apache.james.imap.encode.ImapResponseComposer; import org.apache.james.imap.encode.SearchResponseEncoder; +import org.apache.james.imap.encode.base.ByteImapResponseWriter; +import org.apache.james.imap.encode.base.ImapResponseComposerImpl; import org.apache.james.imap.message.response.SearchResponse; -import org.jmock.Expectations; import org.jmock.Mockery; import org.jmock.integration.junit4.JMock; import org.jmock.integration.junit4.JUnit4Mockery; @@ -39,20 +40,20 @@ public class ListResponseEncoderTest { private static final long[] IDS = { 1, 4, 9, 16 }; - SearchResponse response; + private SearchResponse response; - SearchResponseEncoder encoder; + private SearchResponseEncoder encoder; - ImapEncoder mockNextEncoder; + private ImapEncoder mockNextEncoder; - ImapResponseComposer composer; + private ByteImapResponseWriter writer = new ByteImapResponseWriter(); + private ImapResponseComposer composer = new ImapResponseComposerImpl(writer); private Mockery context = new JUnit4Mockery(); @Before public void setUp() throws Exception { mockNextEncoder = context.mock(ImapEncoder.class); - composer = context.mock(ImapResponseComposer.class); response = new SearchResponse(IDS, null); encoder = new SearchResponseEncoder(mockNextEncoder); } @@ -66,9 +67,7 @@ public class ListResponseEncoderTest { @Test public void testEncode() throws Exception { - context.checking(new Expectations() {{ - oneOf(composer).searchResponse(with(same(IDS))); - }}); encoder.encode(response, composer, new FakeImapSession()); + assertEquals("* SEARCH 1 4 9 16\r\n", writer.getString()); } } Modified: james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListingEncodingUtilsTest.java URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListingEncodingUtilsTest.java?rev=1157073&r1=1157072&r2=1157073&view=diff ============================================================================== --- james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListingEncodingUtilsTest.java (original) +++ james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListingEncodingUtilsTest.java Fri Aug 12 12:35:05 2011 @@ -21,36 +21,29 @@ package org.apache.james.imap.encode; import java.util.ArrayList; import java.util.List; +import junit.framework.Assert; + +import org.apache.james.imap.encode.base.ByteImapResponseWriter; +import org.apache.james.imap.encode.base.ImapResponseComposerImpl; import org.apache.james.imap.message.response.ListResponse; -import org.jmock.Expectations; -import org.jmock.Mockery; -import org.jmock.integration.junit4.JMock; -import org.jmock.integration.junit4.JUnit4Mockery; + import org.junit.Before; import org.junit.Test; -import org.junit.runner.RunWith; -@RunWith(JMock.class) public class ListingEncodingUtilsTest { final String nameParameter = "LIST"; final String typeNameParameters = "A Type Name"; List<String> attributesOutput; - - ImapResponseComposer mock; - - private Mockery context = new JUnit4Mockery(); + + private ByteImapResponseWriter writer = new ByteImapResponseWriter(); + private ImapResponseComposer composer = new ImapResponseComposerImpl(writer); @Before public void setUp() throws Exception { - mock = context.mock(ImapResponseComposer.class); attributesOutput = new ArrayList<String>(); - - context.checking (new Expectations() {{ - oneOf(mock).listResponse(with(equal(typeNameParameters)), with(equal(attributesOutput)), - with(equal('.')), with(equal(nameParameter))); - }}); + } @Test @@ -60,7 +53,8 @@ public class ListingEncodingUtilsTest { ListResponse input = new ListResponse(false, false, false, false, true, false, nameParameter, '.'); // Exercise - ListingEncodingUtils.encodeListingResponse(typeNameParameters, mock, input); + ListingEncodingUtils.encodeListingResponse(typeNameParameters, composer, input); + Assert.assertEquals("* A Type Name (\\HasChildren) \".\" \"LIST\"\r\n", writer.getString()); } @Test @@ -70,6 +64,8 @@ public class ListingEncodingUtilsTest { ListResponse input = new ListResponse(false, false, false, false, false, true, nameParameter, '.'); // Exercise - ListingEncodingUtils.encodeListingResponse(typeNameParameters, mock, input); + ListingEncodingUtils.encodeListingResponse(typeNameParameters, composer, input); + Assert.assertEquals("* A Type Name (\\HasNoChildren) \".\" \"LIST\"\r\n", writer.getString()); + } } Modified: james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/MailboxStatusResponseEncoderTest.java URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/MailboxStatusResponseEncoderTest.java?rev=1157073&r1=1157072&r2=1157073&view=diff ============================================================================== --- james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/MailboxStatusResponseEncoderTest.java (original) +++ james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/MailboxStatusResponseEncoderTest.java Fri Aug 12 12:35:05 2011 @@ -25,8 +25,9 @@ import org.apache.james.imap.api.ImapMes import org.apache.james.imap.encode.ImapEncoder; import org.apache.james.imap.encode.ImapResponseComposer; import org.apache.james.imap.encode.MailboxStatusResponseEncoder; +import org.apache.james.imap.encode.base.ByteImapResponseWriter; +import org.apache.james.imap.encode.base.ImapResponseComposerImpl; import org.apache.james.imap.message.response.MailboxStatusResponse; -import org.jmock.Expectations; import org.jmock.Mockery; import org.jmock.integration.junit4.JMock; import org.jmock.integration.junit4.JUnit4Mockery; @@ -41,14 +42,14 @@ public class MailboxStatusResponseEncode ImapEncoder mockNextEncoder; - ImapResponseComposer composer; - + ByteImapResponseWriter writer = new ByteImapResponseWriter(); + ImapResponseComposer composer = new ImapResponseComposerImpl(writer); + private Mockery context = new JUnit4Mockery(); @Before public void setUp() throws Exception { mockNextEncoder = context.mock(ImapEncoder.class); - composer = context.mock(ImapResponseComposer.class); encoder = new MailboxStatusResponseEncoder(mockNextEncoder); } @@ -69,19 +70,9 @@ public class MailboxStatusResponseEncode final Long uidValidity = new Long(7); final Long unseen = new Long(11); final String mailbox = "A mailbox named desire"; - context.checking(new Expectations() {{ - oneOf(composer).statusResponse( - with(same(messages)), - with(same(recent)), - with(same(uidNext)), - (Long) with(same(null)), - with(same(uidValidity)), - with(same(unseen)), - with(same(mailbox)) - ); - }}); encoder.encode(new MailboxStatusResponse(messages, recent, uidNext, null, uidValidity, unseen, mailbox), composer, new FakeImapSession()); + assertEquals("* STATUS \"A mailbox named desire\" (MESSAGES 2 RECENT 3 UIDNEXT 5 UIDVALIDITY 7 UNSEEN 11)\r\n", writer.getString()); } } Modified: james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java?rev=1157073&r1=1157072&r2=1157073&view=diff ============================================================================== --- james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java (original) +++ james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java Fri Aug 12 12:35:05 2011 @@ -21,17 +21,14 @@ package org.apache.james.imap.encode; import static org.junit.Assert.*; -import java.util.Arrays; -import java.util.List; - -import org.apache.james.imap.api.ImapConstants; import org.apache.james.imap.api.ImapMessage; import org.apache.james.imap.encode.ImapEncoder; import org.apache.james.imap.encode.ImapResponseComposer; import org.apache.james.imap.encode.ListResponseEncoder; +import org.apache.james.imap.encode.base.ByteImapResponseWriter; +import org.apache.james.imap.encode.base.ImapResponseComposerImpl; import org.apache.james.imap.message.response.LSubResponse; import org.apache.james.imap.message.response.ListResponse; -import org.jmock.Expectations; import org.jmock.Mockery; import org.jmock.integration.junit4.JMock; import org.jmock.integration.junit4.JUnit4Mockery; @@ -42,18 +39,18 @@ import org.junit.runner.RunWith; @RunWith(JMock.class) public class SearchResponseEncoderTest { - ListResponseEncoder encoder; + private ListResponseEncoder encoder; - ImapEncoder mockNextEncoder; + private ImapEncoder mockNextEncoder; - ImapResponseComposer composer; + private ByteImapResponseWriter writer = new ByteImapResponseWriter(); + private ImapResponseComposer composer = new ImapResponseComposerImpl(writer); private Mockery context = new JUnit4Mockery(); @Before public void setUp() throws Exception { mockNextEncoder = context.mock(ImapEncoder.class); - composer = context.mock(ImapResponseComposer.class); encoder = new ListResponseEncoder(mockNextEncoder); } @@ -67,97 +64,49 @@ public class SearchResponseEncoderTest { } @Test - @SuppressWarnings("unchecked") - public void testName() throws Exception { - context.checking(new Expectations() {{ - oneOf(composer).listResponse( - with(equal("LIST")), - with(aNull(List.class)), - with(equal('.')), - with(equal("INBOX.name"))); - }}); + public void testName() throws Exception { encoder.encode(new ListResponse(false, false, false, false, false, false, "INBOX.name", '.'), composer, new FakeImapSession()); + assertEquals("* LIST () \".\" \"INBOX.name\"\r\n", writer.getString()); } @Test - @SuppressWarnings("unchecked") public void testDelimiter() throws Exception { - context.checking(new Expectations() {{ - oneOf(composer).listResponse( - with(equal("LIST")), - with(aNull(List.class)), - with(equal('.')), - with(equal("INBOX.name"))); - }}); encoder.encode(new ListResponse(false, false, false, false, false, false, "INBOX.name", '.'), composer, new FakeImapSession()); + assertEquals("* LIST () \".\" \"INBOX.name\"\r\n", writer.getString()); } @Test public void testAllAttributes() throws Exception { - final String[] all = { ImapConstants.NAME_ATTRIBUTE_NOINFERIORS, - ImapConstants.NAME_ATTRIBUTE_NOSELECT, - ImapConstants.NAME_ATTRIBUTE_MARKED, - ImapConstants.NAME_ATTRIBUTE_UNMARKED }; - context.checking(new Expectations() {{ - oneOf(composer).listResponse( - with(equal("LIST")), - with(equal(Arrays.asList(all))), - with(equal('.')), - with(equal("INBOX.name"))); - }}); encoder.encode(new ListResponse(true, true, true, true, false, false, "INBOX.name", '.'), composer, new FakeImapSession()); + assertEquals("* LIST (\\Noinferiors \\Noselect \\Marked \\Unmarked) \".\" \"INBOX.name\"\r\n", writer.getString()); + } @Test - public void testNoInferiors() throws Exception { - final String[] values = { ImapConstants.NAME_ATTRIBUTE_NOINFERIORS }; - context.checking(new Expectations() {{ - oneOf(composer).listResponse( - with(equal("LIST")), - with(equal(Arrays.asList(values))), - with(equal('.')), - with(equal("INBOX.name"))); - }}); + public void testNoInferiors() throws Exception { encoder.encode(new ListResponse(true, false, false, false, false, false, "INBOX.name", '.'), composer, new FakeImapSession()); + assertEquals("* LIST (\\Noinferiors) \".\" \"INBOX.name\"\r\n", writer.getString()); } @Test public void testNoSelect() throws Exception { - final String[] values = { ImapConstants.NAME_ATTRIBUTE_NOSELECT }; - context.checking(new Expectations() {{ - oneOf(composer).listResponse( - with(equal("LIST")), - with(equal(Arrays.asList(values))), - with(equal('.')), - with(equal("INBOX.name"))); - }}); encoder.encode(new ListResponse(false, true, false, false, false, false, "INBOX.name", '.'), composer, new FakeImapSession()); + assertEquals("* LIST (\\Noselect) \".\" \"INBOX.name\"\r\n", writer.getString()); + } @Test public void testMarked() throws Exception { - final String[] values = { ImapConstants.NAME_ATTRIBUTE_MARKED }; - context.checking(new Expectations() {{ - oneOf(composer).listResponse( - with(equal("LIST")), - with(equal(Arrays.asList(values))), - with(equal('.')), - with(equal("INBOX.name"))); - }}); encoder.encode(new ListResponse(false, false, true, false, false, false, "INBOX.name", '.'), composer, new FakeImapSession()); + assertEquals("* LIST (\\Marked) \".\" \"INBOX.name\"\r\n", writer.getString()); + } @Test public void testUnmarked() throws Exception { - final String[] values = { ImapConstants.NAME_ATTRIBUTE_UNMARKED }; - context.checking(new Expectations() {{ - oneOf(composer).listResponse( - with(equal("LIST")), - with(equal(Arrays.asList(values))), - with(equal('.')), - with(equal("INBOX.name"))); - }}); encoder.encode(new ListResponse(false, false, false, true, false, false, "INBOX.name", '.'), composer, new FakeImapSession()); + assertEquals("* LIST (\\Unmarked) \".\" \"INBOX.name\"\r\n", writer.getString()); + } } Modified: james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java URL: http://svn.apache.org/viewvc/james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java?rev=1157073&r1=1157072&r2=1157073&view=diff ============================================================================== --- james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java (original) +++ james/imap/trunk/message/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java Fri Aug 12 12:35:05 2011 @@ -49,6 +49,10 @@ public class ByteImapResponseWriter impl return out.toByteArray(); } + public String getString() throws Exception { + return new String(getBytes()); + } + public void clear() { this.out = new ByteArrayOutputStream(); channel = Channels.newChannel(out); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
