package org.subethamail.smtp.server;
import org.subethamail.smtp.util.Client;
import org.subethamail.smtp.util.ServerTestCase;
/**
* @author Erik van Oosten
*/
public class RequireTlsTest extends ServerTestCase
{
/** */
public RequireTlsTest(String name)
{
super(name);
}
/*
* (non-Javadoc)
*
* @see org.subethamail.smtp.ServerTestCase#setUp()
*/
@Override
protected void setUp() throws Exception
{
this.wiser = new TestWiser();
this.wiser.setHostname("localhost");
this.wiser.setPort(PORT);
this.wiser.getServer().setRequireTLS(true);
this.wiser.start();
this.c = new Client("localhost", PORT);
}
/*
* (non-Javadoc)
*
* @see org.subethamail.smtp.ServerTestCase#tearDown()
*/
@Override
protected void tearDown() throws Exception
{
super.tearDown();
}
/** */
public void testNeedSTARTTLS() throws Exception
{
this.expect("220");
this.send("HELO foo.com");
this.expect("530 Must issue a STARTTLS command first");
this.send("EHLO foo.com");
this.expect("250");
this.send("NOOP");
this.expect("250");
this.send("MAIL FROM: test@example.com");
this.expect("530 Must issue a STARTTLS command first");
this.send("STARTTLS foo");
this.expect("501 Syntax error (no parameters allowed)");
this.send("QUIT");
this.expect("221 Bye");
}
}