Author: norman Date: Wed Jan 18 16:23:28 2012 New Revision: 1232949 URL: http://svn.apache.org/viewvc?rev=1232949&view=rev Log: Add tests for POP3 STLS (starttls)
Added: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java (with props) james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java (with props) james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/ james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3Client.java (with props) james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3SClient.java (with props) james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java (with props) james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java (with props) Modified: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractPOP3ServerTest.java james/protocols/trunk/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractStartTlsSMTPServerTest.java Modified: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractPOP3ServerTest.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractPOP3ServerTest.java?rev=1232949&r1=1232948&r2=1232949&view=diff ============================================================================== --- james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractPOP3ServerTest.java (original) +++ james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractPOP3ServerTest.java Wed Jan 18 16:23:28 2012 @@ -25,17 +25,11 @@ import static org.junit.Assert.assertNul import static org.junit.Assert.assertTrue; import java.io.BufferedReader; -import java.io.ByteArrayInputStream; import java.io.IOException; -import java.io.InputStream; import java.io.Reader; -import java.io.SequenceInputStream; import java.net.InetSocketAddress; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.concurrent.atomic.AtomicLong; import org.apache.commons.net.pop3.POP3Client; import org.apache.commons.net.pop3.POP3MessageInfo; @@ -48,8 +42,9 @@ import org.apache.james.protocols.api.ut import org.apache.james.protocols.pop3.core.AbstractApopCmdHandler; import org.apache.james.protocols.pop3.core.AbstractPassCmdHandler; import org.apache.james.protocols.pop3.mailbox.Mailbox; -import org.apache.james.protocols.pop3.mailbox.MessageMetaData; - +import org.apache.james.protocols.pop3.utils.MockMailbox; +import org.apache.james.protocols.pop3.utils.MockMailbox.Message; +import org.apache.james.protocols.pop3.utils.TestPassCmdHandler; import org.junit.Test; public abstract class AbstractPOP3ServerTest { @@ -533,21 +528,7 @@ public abstract class AbstractPOP3Server assertEquals(lines, linesRead); } - - private final class TestPassCmdHandler extends AbstractPassCmdHandler { - private final Map<String, Mailbox> mailboxes = new HashMap<String, Mailbox>(); - - public void add(String username, Mailbox mailbox) { - mailboxes.put(username, mailbox); - } - - protected Mailbox auth(POP3Session session, String username, String password) throws Exception{ - return mailboxes.get(username); - } - - } - private final class TestApopCmdHandler extends AbstractApopCmdHandler { private final Map<String, Mailbox> mailboxes = new HashMap<String, Mailbox>(); @@ -563,85 +544,5 @@ public abstract class AbstractPOP3Server } - private final class MockMailbox implements Mailbox { - - private final Map<Long, Message> messages = new HashMap<Long, AbstractPOP3ServerTest.Message>(); - private final String identifier; - - public MockMailbox(String identifier, Message... messages) { - this.identifier = identifier; - for (Message m: messages) { - this.messages.put(m.meta.getUid(), m); - } - } - - public MockMailbox(String identifier) { - this(identifier, new Message[0]); - } - public InputStream getMessageBody(long uid) throws IOException { - Message m = messages.get(uid); - if (m == null) { - return null; - } - return new ByteArrayInputStream(m.body.getBytes("US-ASCII")); - } - - public InputStream getMessageHeaders(long uid) throws IOException { - Message m = messages.get(uid); - if (m == null) { - return null; - } - return new ByteArrayInputStream((m.headers + "\r\n").getBytes("US-ASCII")); - } - - public InputStream getMessage(long uid) throws IOException { - InputStream body = getMessageBody(uid); - InputStream headers = getMessageHeaders(uid); - if (body == null || headers == null) { - return null; - } - return new SequenceInputStream(headers, body); - } - - public List<MessageMetaData> getMessages() throws IOException { - List<MessageMetaData> meta = new ArrayList<MessageMetaData>(); - for (Message m: messages.values()) { - meta.add(m.meta); - } - return meta; - } - - public void remove(long... uids) throws IOException { - for (long uid: uids) { - messages.remove(uid); - } - } - - public String getIdentifier() throws IOException { - return identifier; - } - - public void close() throws IOException { - // nothing - } - - } - - private static final class Message { - private static final AtomicLong UIDS = new AtomicLong(0); - public final String headers; - public final String body; - public final MessageMetaData meta; - - public Message(String headers, String body) { - this.headers = headers; - this.body = body; - this.meta = new MessageMetaData(UIDS.incrementAndGet(), headers.length() + body.length() + 2); - } - - public String toString() { - return headers + "\r\n" + body; - } - - } + } Added: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java?rev=1232949&view=auto ============================================================================== --- james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java (added) +++ james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java Wed Jan 18 16:23:28 2012 @@ -0,0 +1,95 @@ +/**************************************************************** + * 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.protocols.pop3; + +import static org.junit.Assert.assertTrue; + +import java.net.InetSocketAddress; + +import org.apache.james.protocols.api.Encryption; +import org.apache.james.protocols.api.Protocol; +import org.apache.james.protocols.api.ProtocolServer; +import org.apache.james.protocols.api.handler.WiringException; +import org.apache.james.protocols.api.utils.BogusSslContextFactory; +import org.apache.james.protocols.api.utils.BogusTrustManagerFactory; +import org.apache.james.protocols.api.utils.MockLogger; +import org.apache.james.protocols.api.utils.TestUtils; +import org.apache.james.protocols.pop3.core.AbstractPassCmdHandler; +import org.apache.james.protocols.pop3.utils.AdvancedPOP3SClient; +import org.apache.james.protocols.pop3.utils.MockMailbox; +import org.apache.james.protocols.pop3.utils.TestPassCmdHandler; +import org.junit.Test; + +public abstract class AbstractStartTlsPOP3ServerTest { + + private POP3Protocol createProtocol(AbstractPassCmdHandler handler) throws WiringException { + return new POP3Protocol(new POP3ProtocolHandlerChain(handler), new POP3Configuration(), new MockLogger()); + } + + protected AdvancedPOP3SClient createClient() { + AdvancedPOP3SClient client = new AdvancedPOP3SClient(false, BogusSslContextFactory.getClientContext()); + client.setTrustManager(BogusTrustManagerFactory.getTrustManagers()[0]); + return client; + } + + protected abstract ProtocolServer createServer(Protocol protocol, InetSocketAddress address, Encryption enc); + + + @Test + public void testStartTls() throws Exception { + InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); + + ProtocolServer server = null; + try { + String identifier = "id"; + TestPassCmdHandler handler = new TestPassCmdHandler(); + + handler.add("valid", new MockMailbox(identifier)); + server = createServer(createProtocol(handler), address, Encryption.createStartTls(BogusSslContextFactory.getServerContext())); + server.bind(); + + AdvancedPOP3SClient client = createClient(); + client.connect(address.getAddress().getHostAddress(), address.getPort()); + assertTrue(client.capa()); + + boolean startTlsCapa = false; + for (String cap: client.getReplyStrings()) { + if (cap.equalsIgnoreCase("STLS")) { + startTlsCapa = true; + break; + } + } + assertTrue(startTlsCapa); + + assertTrue(client.execTLS()); + // TODO: Reenable when commons-net 3.1.0 was released + // See NET-430 + // + //assertTrue(client.logout()); + client.disconnect(); + + } finally { + if (server != null) { + server.unbind(); + } + } + + } + +} Propchange: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java?rev=1232949&view=auto ============================================================================== --- james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java (added) +++ james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java Wed Jan 18 16:23:28 2012 @@ -0,0 +1,39 @@ +/**************************************************************** + * 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.protocols.pop3.netty; + +import java.net.InetSocketAddress; + +import org.apache.james.protocols.api.Encryption; +import org.apache.james.protocols.api.Protocol; +import org.apache.james.protocols.api.ProtocolServer; +import org.apache.james.protocols.netty.NettyServer; +import org.apache.james.protocols.pop3.AbstractStartTlsPOP3ServerTest; + +public class NettyStartTlsPOP3ServerTest extends AbstractStartTlsPOP3ServerTest{ + + @Override + protected ProtocolServer createServer(Protocol protocol, InetSocketAddress address, Encryption enc) { + NettyServer server = new NettyServer(protocol, enc); + server.setListenAddresses(address); + + return server; + } + +} Propchange: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3Client.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3Client.java?rev=1232949&view=auto ============================================================================== --- james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3Client.java (added) +++ james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3Client.java Wed Jan 18 16:23:28 2012 @@ -0,0 +1,38 @@ +/**************************************************************** + * 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.protocols.pop3.utils; + +import java.io.IOException; + +import org.apache.commons.net.pop3.POP3Client; +import org.apache.commons.net.pop3.POP3Reply; + +public class AdvancedPOP3Client extends POP3Client{ + + public boolean capa() throws IOException { + + int code = sendCommand("CAPA"); + if (code == POP3Reply.OK) { + getAdditionalReply(); + return true; + } + return false; + + } +} Propchange: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3Client.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3SClient.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3SClient.java?rev=1232949&view=auto ============================================================================== --- james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3SClient.java (added) +++ james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3SClient.java Wed Jan 18 16:23:28 2012 @@ -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.protocols.pop3.utils; + +import java.io.IOException; + +import javax.net.ssl.SSLContext; + +import org.apache.commons.net.pop3.POP3Reply; +import org.apache.commons.net.pop3.POP3SClient; + +public class AdvancedPOP3SClient extends POP3SClient { + + public AdvancedPOP3SClient() { + super(); + } + + public AdvancedPOP3SClient(boolean implicit, SSLContext ctx) { + super(implicit, ctx); + } + + public AdvancedPOP3SClient(boolean implicit) { + super(implicit); + } + + public AdvancedPOP3SClient(SSLContext context) { + super(context); + } + + public AdvancedPOP3SClient(String proto, boolean implicit, SSLContext ctx) { + super(proto, implicit, ctx); + } + + public AdvancedPOP3SClient(String proto, boolean implicit) { + super(proto, implicit); + } + + public AdvancedPOP3SClient(String proto) { + super(proto); + } + + public boolean capa() throws IOException { + + int code = sendCommand("CAPA"); + if (code == POP3Reply.OK) { + getAdditionalReply(); + return true; + } + return false; + + } +} Propchange: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/AdvancedPOP3SClient.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java?rev=1232949&view=auto ============================================================================== --- james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java (added) +++ james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java Wed Jan 18 16:23:28 2012 @@ -0,0 +1,116 @@ +/**************************************************************** + * 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.protocols.pop3.utils; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.SequenceInputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; + +import org.apache.james.protocols.pop3.mailbox.Mailbox; +import org.apache.james.protocols.pop3.mailbox.MessageMetaData; + +public class MockMailbox implements Mailbox { + + private final Map<Long, Message> messages = new HashMap<Long, Message>(); + private final String identifier; + + public MockMailbox(String identifier, Message... messages) { + this.identifier = identifier; + for (Message m: messages) { + this.messages.put(m.meta.getUid(), m); + } + } + + public MockMailbox(String identifier) { + this(identifier, new Message[0]); + } + public InputStream getMessageBody(long uid) throws IOException { + Message m = messages.get(uid); + if (m == null) { + return null; + } + return new ByteArrayInputStream(m.body.getBytes("US-ASCII")); + } + + public InputStream getMessageHeaders(long uid) throws IOException { + Message m = messages.get(uid); + if (m == null) { + return null; + } + return new ByteArrayInputStream((m.headers + "\r\n").getBytes("US-ASCII")); + } + + public InputStream getMessage(long uid) throws IOException { + InputStream body = getMessageBody(uid); + InputStream headers = getMessageHeaders(uid); + if (body == null || headers == null) { + return null; + } + return new SequenceInputStream(headers, body); + } + + public List<MessageMetaData> getMessages() throws IOException { + List<MessageMetaData> meta = new ArrayList<MessageMetaData>(); + for (Message m: messages.values()) { + meta.add(m.meta); + } + return meta; + } + + public void remove(long... uids) throws IOException { + for (long uid: uids) { + messages.remove(uid); + } + } + + public String getIdentifier() throws IOException { + return identifier; + } + + public void close() throws IOException { + // nothing + } + + public static final class Message { + private static final AtomicLong UIDS = new AtomicLong(0); + public final String headers; + public final String body; + public final MessageMetaData meta; + + public Message(String headers, String body) { + this.headers = headers; + this.body = body; + this.meta = new MessageMetaData(UIDS.incrementAndGet(), headers.length() + body.length() + 2); + } + + public String toString() { + return headers + "\r\n" + body; + } + + } + +} + + Propchange: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java?rev=1232949&view=auto ============================================================================== --- james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java (added) +++ james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java Wed Jan 18 16:23:28 2012 @@ -0,0 +1,39 @@ +/**************************************************************** + * 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.protocols.pop3.utils; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.james.protocols.pop3.POP3Session; +import org.apache.james.protocols.pop3.core.AbstractPassCmdHandler; +import org.apache.james.protocols.pop3.mailbox.Mailbox; + +public class TestPassCmdHandler extends AbstractPassCmdHandler { + private final Map<String, Mailbox> mailboxes = new HashMap<String, Mailbox>(); + + public void add(String username, Mailbox mailbox) { + mailboxes.put(username, mailbox); + } + + protected Mailbox auth(POP3Session session, String username, String password) throws Exception{ + return mailboxes.get(username); + } + +} Propchange: james/protocols/trunk/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: james/protocols/trunk/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractStartTlsSMTPServerTest.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractStartTlsSMTPServerTest.java?rev=1232949&r1=1232948&r2=1232949&view=diff ============================================================================== --- james/protocols/trunk/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractStartTlsSMTPServerTest.java (original) +++ james/protocols/trunk/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractStartTlsSMTPServerTest.java Wed Jan 18 16:23:28 2012 @@ -24,6 +24,7 @@ import java.net.InetSocketAddress; import java.util.Arrays; import java.util.Locale; + import org.apache.commons.net.smtp.SMTPReply; import org.apache.commons.net.smtp.SMTPSClient; import org.apache.james.protocols.api.Encryption; @@ -57,7 +58,7 @@ public abstract class AbstractStartTlsSM @Test - public void testStartTLSAnnounced() throws Exception { + public void testStartTLS() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); @@ -82,10 +83,14 @@ public abstract class AbstractStartTlsSM } assertTrue(startTLSAnnounced); - // assertTrue(client.execTLS()); + assertTrue(client.execTLS()); + + // TODO: Add back once commons-net 3.1.0 was released. + // See: NET-421 + // + //client.quit(); + //assertTrue("Reply="+ client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); - client.quit(); - assertTrue("Reply="+ client.getReplyString(), SMTPReply.isPositiveCompletion(client.getReplyCode())); client.disconnect(); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org