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