You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2011/08/12 14:35:06 UTC
svn commit: r1157073 [2/2] - in /james/imap/trunk: api/target/
message/src/main/java/org/apache/james/imap/encode/
message/src/main/java/org/apache/james/imap/encode/base/
message/src/test/java/org/apache/james/imap/encode/
message/src/test/java/org/ap...
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org