Migrate codec-smtp tests to JUnit 5 (#11309)

Motivation:

JUnit 5 is more expressive, extensible, and composable in many ways, and it's better able to run tests in parallel.

Modifications:

Use JUnit5 in codec-smtp tests

Result:

Related to https://github.com/netty/netty/issues/10757
This commit is contained in:
Riley Park 2021-05-26 00:44:06 -07:00 committed by Norman Maurer
parent cfaed1219f
commit e9a8eaeb18
3 changed files with 51 additions and 20 deletions

View File

@ -15,9 +15,13 @@
*/
package io.netty.handler.codec.smtp;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import static org.junit.Assert.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotSame;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class SmtpCommandTest {
@Test

View File

@ -20,11 +20,13 @@ import io.netty.buffer.Unpooled;
import io.netty.channel.embedded.EmbeddedChannel;
import io.netty.handler.codec.EncoderException;
import io.netty.util.CharsetUtil;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.function.Executable;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class SmtpRequestEncoderTest {
@ -106,12 +108,17 @@ public class SmtpRequestEncoderTest {
assertEquals("DATA\r\nSubject: Test\r\n\r\nTest\r\n.\r\n", getWrittenString(channel));
}
@Test(expected = EncoderException.class)
@Test
public void testThrowsIfContentExpected() {
EmbeddedChannel channel = new EmbeddedChannel(new SmtpRequestEncoder());
final EmbeddedChannel channel = new EmbeddedChannel(new SmtpRequestEncoder());
try {
assertTrue(channel.writeOutbound(SmtpRequests.data()));
channel.writeOutbound(SmtpRequests.noop());
assertThrows(EncoderException.class, new Executable() {
@Override
public void execute() {
channel.writeOutbound(SmtpRequests.noop());
}
});
} finally {
channel.finishAndReleaseAll();
}

View File

@ -20,11 +20,16 @@ import io.netty.buffer.Unpooled;
import io.netty.channel.embedded.EmbeddedChannel;
import io.netty.handler.codec.DecoderException;
import io.netty.util.CharsetUtil;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.function.Executable;
import java.util.List;
import static org.junit.Assert.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class SmtpResponseDecoderTest {
@ -106,22 +111,37 @@ public class SmtpResponseDecoderTest {
assertNull(channel.readInbound());
}
@Test(expected = DecoderException.class)
@Test
public void testDecodeInvalidSeparator() {
EmbeddedChannel channel = newChannel();
assertTrue(channel.writeInbound(newBuffer("200:Ok\r\n")));
final EmbeddedChannel channel = newChannel();
assertThrows(DecoderException.class, new Executable() {
@Override
public void execute() {
channel.writeInbound(newBuffer("200:Ok\r\n"));
}
});
}
@Test(expected = DecoderException.class)
@Test
public void testDecodeInvalidCode() {
EmbeddedChannel channel = newChannel();
assertTrue(channel.writeInbound(newBuffer("xyz Ok\r\n")));
final EmbeddedChannel channel = newChannel();
assertThrows(DecoderException.class, new Executable() {
@Override
public void execute() {
channel.writeInbound(newBuffer("xyz Ok\r\n"));
}
});
}
@Test(expected = DecoderException.class)
@Test
public void testDecodeInvalidLine() {
EmbeddedChannel channel = newChannel();
assertTrue(channel.writeInbound(newBuffer("Ok\r\n")));
final EmbeddedChannel channel = newChannel();
assertThrows(DecoderException.class, new Executable() {
@Override
public void execute() {
channel.writeInbound(newBuffer("Ok\r\n"));
}
});
}
private static EmbeddedChannel newChannel() {