Best Testng code snippet using org.testng.Assert.expectThrows
Source:BodySubscribersTest.java
...39import static java.nio.charset.StandardCharsets.UTF_8;40import static java.nio.file.StandardOpenOption.CREATE;41import static org.testng.Assert.assertTrue;42import static org.testng.Assert.assertNotNull;43import static org.testng.Assert.expectThrows;44import static org.testng.Assert.fail;45public class BodySubscribersTest {46 static final Class<NullPointerException> NPE = NullPointerException.class;47 // Supplier of BodySubscriber<?>, with a descriptive name48 static class BSSupplier implements Supplier<BodySubscriber<?>> {49 private final Supplier<BodySubscriber<?>> supplier;50 private final String name;51 private BSSupplier(Supplier<BodySubscriber<?>> supplier, String name) {52 this.supplier = supplier;53 this.name = name;54 }55 static BSSupplier create(String name, Supplier<BodySubscriber<?>> supplier) {56 return new BSSupplier(supplier, name);57 }58 @Override public BodySubscriber<?> get() { return supplier.get(); }59 @Override public String toString() { return name; }60 }61 static class LineSubscriber implements Flow.Subscriber<String> {62 @Override public void onSubscribe(Flow.Subscription subscription) { }63 @Override public void onNext(String item) { fail(); }64 @Override public void onError(Throwable throwable) { fail(); }65 @Override public void onComplete() { fail(); }66 }67 static class BBSubscriber implements Flow.Subscriber<List<ByteBuffer>> {68 @Override public void onSubscribe(Flow.Subscription subscription) { }69 @Override public void onNext(List<ByteBuffer> item) { fail(); }70 @Override public void onError(Throwable throwable) { fail(); }71 @Override public void onComplete() { fail(); }72 }73 @DataProvider(name = "bodySubscriberSuppliers")74 public Object[][] bodySubscriberSuppliers() { ;75 List<Supplier<BodySubscriber<?>>> list = List.of(76 BSSupplier.create("ofByteArray", () -> ofByteArray()),77 BSSupplier.create("ofInputStream", () -> ofInputStream()),78 BSSupplier.create("ofBAConsumer", () -> ofByteArrayConsumer(ba -> { })),79 BSSupplier.create("ofLines", () -> ofLines(UTF_8)),80 BSSupplier.create("ofPublisher", () -> ofPublisher()),81 BSSupplier.create("ofFile", () -> ofFile(Path.of("f"))),82 BSSupplier.create("ofFile-opts)", () -> ofFile(Path.of("f"), CREATE)),83 BSSupplier.create("ofString", () -> ofString(UTF_8)),84 BSSupplier.create("buffering", () -> buffering(ofByteArray(), 10)),85 BSSupplier.create("discarding", () -> discarding()),86 BSSupplier.create("mapping", () -> mapping(ofString(UTF_8), s -> s)),87 BSSupplier.create("replacing", () -> replacing("hello")),88 BSSupplier.create("fromSubscriber-1", () -> fromSubscriber(new BBSubscriber())),89 BSSupplier.create("fromSubscriber-2", () -> fromSubscriber(new BBSubscriber(), s -> s)),90 BSSupplier.create("fromLineSubscriber-1", () -> fromLineSubscriber(new LineSubscriber())),91 BSSupplier.create("fromLineSubscriber-2", () -> fromLineSubscriber(new LineSubscriber(), s -> s, UTF_8, ","))92 );93 return list.stream().map(x -> new Object[] { x }).toArray(Object[][]::new);94 }95 @Test(dataProvider = "bodySubscriberSuppliers")96 void nulls(Supplier<BodySubscriber<?>> bodySubscriberSupplier) {97 BodySubscriber<?> bodySubscriber = bodySubscriberSupplier.get();98 boolean subscribed = false;99 do {100 assertNotNull(bodySubscriber.getBody());101 assertNotNull(bodySubscriber.getBody());102 assertNotNull(bodySubscriber.getBody());103 expectThrows(NPE, () -> bodySubscriber.onSubscribe(null));104 expectThrows(NPE, () -> bodySubscriber.onSubscribe(null));105 expectThrows(NPE, () -> bodySubscriber.onSubscribe(null));106 expectThrows(NPE, () -> bodySubscriber.onNext(null));107 expectThrows(NPE, () -> bodySubscriber.onNext(null));108 expectThrows(NPE, () -> bodySubscriber.onNext(null));109 expectThrows(NPE, () -> bodySubscriber.onNext(null));110 expectThrows(NPE, () -> bodySubscriber.onError(null));111 expectThrows(NPE, () -> bodySubscriber.onError(null));112 expectThrows(NPE, () -> bodySubscriber.onError(null));113 if (!subscribed) {114 out.println("subscribing");115 // subscribe the Subscriber and repeat116 bodySubscriber.onSubscribe(new Flow.Subscription() {117 @Override public void request(long n) { /* do nothing */ }118 @Override public void cancel() { fail(); }119 });120 subscribed = true;121 continue;122 }123 break;124 } while (true);125 }126 @Test(dataProvider = "bodySubscriberSuppliers")...
Source:KafkaAbstractSourceTest.java
...43 @FunctionalInterface44 public interface ThrowingRunnable {45 void run() throws Throwable;46 }47 private static <T extends Exception> void expectThrows(Class<T> expectedType, String expectedMessage, ThrowingRunnable runnable) {48 try {49 runnable.run();50 Assert.fail();51 } catch (Throwable e) {52 if (expectedType.isInstance(e)) {53 T ex = expectedType.cast(e);54 assertEquals(expectedMessage, ex.getMessage());55 return;56 }57 throw new AssertionError("Unexpected exception type, expected " + expectedType.getSimpleName() + " but got " + e);58 }59 throw new AssertionError("Expected exception");60 }61 @Test62 public void testInvalidConfigWillThrownException() throws Exception {63 KafkaAbstractSource source = new DummySource();64 SourceContext ctx = new SourceContext() {65 @Override66 public int getInstanceId() {67 return 0;68 }69 @Override70 public int getNumInstances() {71 return 0;72 }73 @Override74 public void recordMetric(String metricName, double value) {75 }76 @Override77 public String getOutputTopic() {78 return null;79 }80 @Override81 public String getTenant() {82 return null;83 }84 @Override85 public String getNamespace() {86 return null;87 }88 @Override89 public String getSourceName() {90 return null;91 }92 @Override93 public Logger getLogger() {94 return null;95 }96 @Override97 public String getSecret(String key) { return null; }98 };99 Map<String, Object> config = new HashMap<>();100 ThrowingRunnable openAndClose = ()->{101 try {102 source.open(config, ctx);103 fail();104 } finally {105 source.close();106 }107 };108 expectThrows(NullPointerException.class, "Kafka topic is not set", openAndClose);109 config.put("topic", "topic_1");110 expectThrows(NullPointerException.class, "Kafka bootstrapServers is not set", openAndClose);111 config.put("bootstrapServers", "localhost:8080");112 expectThrows(NullPointerException.class, "Kafka consumer group id is not set", openAndClose);113 config.put("groupId", "test-group");114 config.put("fetchMinBytes", -1);115 expectThrows(IllegalArgumentException.class, "Invalid Kafka Consumer fetchMinBytes : -1", openAndClose);116 config.put("fetchMinBytes", 1000);117 config.put("autoCommitEnabled", true);118 config.put("autoCommitIntervalMs", -1);119 expectThrows(IllegalArgumentException.class, "Invalid Kafka Consumer autoCommitIntervalMs : -1", openAndClose);120 config.put("autoCommitIntervalMs", 100);121 config.put("sessionTimeoutMs", -1);122 expectThrows(IllegalArgumentException.class, "Invalid Kafka Consumer sessionTimeoutMs : -1", openAndClose);123 config.put("sessionTimeoutMs", 10000);124 config.put("heartbeatIntervalMs", -100);125 expectThrows(IllegalArgumentException.class, "Invalid Kafka Consumer heartbeatIntervalMs : -100", openAndClose);126 config.put("heartbeatIntervalMs", 20000);127 expectThrows(IllegalArgumentException.class, "Unable to instantiate Kafka consumer", openAndClose);128 config.put("heartbeatIntervalMs", 5000);129 source.open(config, ctx);130 source.close();131 }132 @Test133 public final void loadFromYamlFileTest() throws IOException {134 File yamlFile = getFile("kafkaSourceConfig.yaml");135 KafkaSourceConfig config = KafkaSourceConfig.load(yamlFile.getAbsolutePath());136 assertNotNull(config);137 assertEquals("localhost:6667", config.getBootstrapServers());138 assertEquals("test", config.getTopic());139 assertEquals(Long.parseLong("10000"), config.getSessionTimeoutMs());140 assertEquals(Boolean.parseBoolean("false"), config.isAutoCommitEnabled());141 assertNotNull(config.getConsumerConfigProperties());...
Source:TestDefaultBehavior.java
...37import org.testng.annotations.Test;38import static java.lang.Boolean.*;39import static java.net.StandardSocketOptions.*;40import static org.testng.Assert.assertEquals;41import static org.testng.Assert.expectThrows;42public class TestDefaultBehavior {43 static final Class<NullPointerException> NPE = NullPointerException.class;44 static final Class<UnsupportedOperationException> UOE = UnsupportedOperationException.class;45 @Test46 public void socketImpl() {47 CustomSocketImpl csi = new CustomSocketImpl();48 assertEquals(csi.supportedOptions().size(), 0);49 expectThrows(NPE, () -> csi.setOption(null, null));50 expectThrows(NPE, () -> csi.setOption(null, 1));51 expectThrows(UOE, () -> csi.setOption(SO_RCVBUF, 100));52 expectThrows(UOE, () -> csi.setOption(SO_KEEPALIVE, TRUE));53 expectThrows(UOE, () -> csi.setOption(SO_KEEPALIVE, FALSE));54 expectThrows(UOE, () -> csi.setOption(FAKE_SOCK_OPT, TRUE));55 expectThrows(UOE, () -> csi.setOption(FAKE_SOCK_OPT, FALSE));56 expectThrows(UOE, () -> csi.setOption(SO_KEEPALIVE, TRUE));57 expectThrows(NPE, () -> csi.getOption(null));58 expectThrows(UOE, () -> csi.getOption(SO_RCVBUF));59 expectThrows(UOE, () -> csi.getOption(SO_KEEPALIVE));60 expectThrows(UOE, () -> csi.getOption(FAKE_SOCK_OPT));61 }62 static final SocketOption<Boolean> FAKE_SOCK_OPT = new SocketOption<>() {63 @Override public String name() { return "FAKE_SOCK_OPT"; }64 @Override public Class<Boolean> type() { return Boolean.class; }65 };66 // A SocketImpl that delegates the three new-style socket option67 // methods to the default java.net.SocketImpl implementation.68 static class CustomSocketImpl extends SocketImpl {69 @Override70 public <T> void setOption(SocketOption<T> name, T value) throws IOException {71 super.setOption(name, value);72 }73 @Override74 public Set<SocketOption<?>> supportedOptions() {...
Source:AssertTest.java
...7import java.util.Set;8import static org.junit.Assert.assertEquals;9import static org.junit.Assert.assertSame;10import static org.junit.Assert.fail;11import static org.testng.Assert.expectThrows;12public class AssertTest {13 @Test14 public void noOrderSuccess() {15 String[] rto1 = { "boolean", "BigInteger", "List",};16 String[] rto2 = { "List", "BigInteger", "boolean",};17 Assert.assertEqualsNoOrder(rto1, rto2);18 }19 @Test(expectedExceptions = AssertionError.class)20 public void noOrderFailure() {21 String[] rto1 = { "a", "a", "b",};22 String[] rto2 = { "a", "b", "b",};23 Assert.assertEqualsNoOrder(rto1, rto2);24 }25 @Test26 public void intArray_Issue4() {27 int[] intArr00 = {1};28 int[] intArr01 = {1};29 Assert.assertEquals(intArr00, intArr01);30 }31 @Test(expectedExceptions = AssertionError.class)32 public void arraysFailures_1() {33 int[] intArr = {1, 2};34 long[] longArr = {1, 2};35 Assert.assertEquals(intArr, longArr);36 }37 @Test(expectedExceptions = AssertionError.class)38 public void arraysFailures_2() {39 int[] intArr = {1, 2};40 Assert.assertEquals(intArr, (long) 1);41 }42 @Test(expectedExceptions = AssertionError.class)43 public void arraysFailures_3() {44 long[] longArr = {1};45 Assert.assertEquals((long) 1, longArr);46 }47 @Test48 public void setsSuccess() {49 Set<Integer> set1 = Sets.newHashSet();50 Set<Integer> set2 = Sets.newHashSet();51 set1.add(1);52 set2.add(1);53 set1.add(3);54 set2.add(3);55 set1.add(2);56 set2.add(2);57 Assert.assertEquals(set1, set2);58 Assert.assertEquals(set2, set1);59 }60 @Test(expectedExceptions = AssertionError.class)61 public void expectThrowsRequiresAnExceptionToBeThrown() {62 expectThrows(Throwable.class, nonThrowingRunnable());63 }64 @Test65 public void expectThrowsIncludesAnInformativeDefaultMessage() {66 try {67 expectThrows(Throwable.class, nonThrowingRunnable());68 } catch (AssertionError ex) {69 assertEquals("Expected Throwable to be thrown, but nothing was thrown", ex.getMessage());70 return;71 }72 fail();73 }74 @Test75 public void expectThrowsReturnsTheSameObjectThrown() {76 NullPointerException npe = new NullPointerException();77 Throwable throwable = expectThrows(Throwable.class, throwingRunnable(npe));78 assertSame(npe, throwable);79 }80 @Test(expectedExceptions = AssertionError.class)81 public void expectThrowsDetectsTypeMismatchesViaExplicitTypeHint() {82 NullPointerException npe = new NullPointerException();83 expectThrows(IOException.class, throwingRunnable(npe));84 }85 @Test86 public void expectThrowsWrapsAndPropagatesUnexpectedExceptions() {87 NullPointerException npe = new NullPointerException("inner-message");88 try {89 expectThrows(IOException.class, throwingRunnable(npe));90 } catch (AssertionError ex) {91 assertSame(npe, ex.getCause());92 assertEquals("inner-message", ex.getCause().getMessage());93 return;94 }95 fail();96 }97 @Test98 public void expectThrowsSuppliesACoherentErrorMessageUponTypeMismatch() {99 NullPointerException npe = new NullPointerException();100 try {101 expectThrows(IOException.class, throwingRunnable(npe));102 } catch (AssertionError error) {103 assertEquals("Expected IOException to be thrown, but NullPointerException was thrown",104 error.getMessage());105 assertSame(npe, error.getCause());106 return;107 }108 fail();109 }110 private static ThrowingRunnable nonThrowingRunnable() {111 return new ThrowingRunnable() {112 public void run() throws Throwable {113 }114 };115 }...
Source:EndpointConfigurationTest.java
...14import org.eclipse.milo.opcua.stack.core.types.enumerated.MessageSecurityMode;15import org.eclipse.milo.opcua.stack.core.types.structured.UserTokenPolicy;16import org.testng.annotations.Test;17import static org.testng.Assert.assertEquals;18import static org.testng.Assert.expectThrows;19public class EndpointConfigurationTest {20 @Test21 public void securityMismatchThrows() {22 expectThrows(23 IllegalArgumentException.class,24 () ->25 // mismatch between securityPolicy and securityMode26 EndpointConfiguration.newBuilder()27 .setSecurityPolicy(SecurityPolicy.Basic128Rsa15)28 .setSecurityMode(MessageSecurityMode.None)29 .build()30 );31 expectThrows(32 IllegalArgumentException.class,33 () ->34 // mismatch between securityPolicy and securityMode35 EndpointConfiguration.newBuilder()36 .setSecurityPolicy(SecurityPolicy.None)37 .setSecurityMode(MessageSecurityMode.SignAndEncrypt)38 .build()39 );40 }41 @Test42 public void missingCertificateThrows() {43 expectThrows(44 IllegalStateException.class,45 () ->46 // missing certificate47 EndpointConfiguration.newBuilder()48 .setSecurityPolicy(SecurityPolicy.Basic128Rsa15)49 .setSecurityMode(MessageSecurityMode.SignAndEncrypt)50 .build()51 );52 }53 @Test54 public void unsupportedTransportThrows() {55 expectThrows(56 IllegalArgumentException.class,57 () ->58 EndpointConfiguration.newBuilder()59 .setTransportProfile(TransportProfile.HTTPS_UAXML)60 .build()61 );62 expectThrows(63 IllegalArgumentException.class,64 () ->65 EndpointConfiguration.newBuilder()66 .setTransportProfile(TransportProfile.HTTPS_UAJSON)67 .build()68 );69 expectThrows(70 IllegalArgumentException.class,71 () ->72 EndpointConfiguration.newBuilder()73 .setTransportProfile(TransportProfile.WSS_UAJSON)74 .build()75 );76 expectThrows(77 IllegalArgumentException.class,78 () ->79 EndpointConfiguration.newBuilder()80 .setTransportProfile(TransportProfile.WSS_UASC_UABINARY)81 .build()82 );83 }84 @Test85 public void missingTokenPolicyDefaultsToAnonymous() {86 EndpointConfiguration endpointConfiguration =87 EndpointConfiguration.newBuilder().build();88 ImmutableList<UserTokenPolicy> tokenPolicies = endpointConfiguration.getTokenPolicies();89 assertEquals(tokenPolicies.size(), 1);90 assertEquals(tokenPolicies.get(0), EndpointConfiguration.Builder.USER_TOKEN_POLICY_ANONYMOUS);...
Source:TokenTest.java
1package com.codenjoy.clientrunner.model;2import org.testng.annotations.Test;3import static com.codenjoy.clientrunner.ExceptionAssert.expectThrows;4import static org.testng.Assert.assertEquals;5public class TokenTest {6 private static final String SERVER_URL_PATTERN7 = "^https?://[0-9A-Za-z_.\\-:]+/codenjoy-contest/board/player/([\\w]+)\\?code=([\\w]+)";8 public static final String PLAYER_ID = "SuperMario";9 public static final String CODE = "000000000000";10 public static final String VALID_SERVER_URL11 = "http://5.189.144.144/codenjoy-contest/board/player/" +12 PLAYER_ID + "?code=" + CODE;13 public static Token generateValidToken() {14 return Token.from(VALID_SERVER_URL, SERVER_URL_PATTERN);15 }16 @Test17 public void shouldGenerateValidToken_whenValidServerUrlPassed() {18 // when19 Token result = Token.from(VALID_SERVER_URL, SERVER_URL_PATTERN);20 // then21 assertEquals(result.getServerUrl(), VALID_SERVER_URL);22 assertEquals(result.getPlayerId(), PLAYER_ID);23 assertEquals(result.getCode(), CODE);24 }25 @Test26 public void shouldThrowException_whenInvalidServerUrlPassed() {27 expectThrows(IllegalArgumentException.class,28 "Given invalid server URL: 'Invalid server URL' is not match",29 () -> Token.from("Invalid server URL", SERVER_URL_PATTERN));30 }31 @Test32 public void shouldThrowException_whenNullPassed_asServerUrl() {33 expectThrows(IllegalArgumentException.class,34 "Server URL must not be null",35 () -> Token.from(null, "not null"));36 }37 @Test38 public void shouldThrowException_whenNullPassed_asUrlPattern() {39 expectThrows(IllegalArgumentException.class,40 "URL pattern must not be null",41 () -> Token.from("not null", null));42 }43}...
Source:DockerConfigTest.java
1package com.codenjoy.clientrunner.config;2import org.testng.annotations.BeforeMethod;3import org.testng.annotations.Test;4import javax.validation.ValidationException;5import static com.codenjoy.clientrunner.ExceptionAssert.expectThrows;6import static org.testng.Assert.assertEquals;7public class DockerConfigTest {8 private DockerConfig.Container container;9 @BeforeMethod10 public void setUp() {11 container = new DockerConfig.Container();12 }13 @Test14 public void shouldValidateException_whenBadMemoryLimit() {15 // then16 expectThrows(ValidationException.class,17 "the value should be not less than 6MB",18 // when19 () -> container.setMemoryLimitMB(1));20 }21 @Test22 public void shouldSet_whenMemoryLimitIsZerro() {23 // when24 container.setMemoryLimitMB(0);25 // then26 assertEquals(container.getMemoryLimitMB(), 0);27 }28 @Test29 public void shouldSet_whenMemoryLimitIsMoreThanMinimal() {30 // when...
expectThrows
Using AI Code Generation
1import org.testng.Assert;2import org.testng.annotations.Test;3import static org.testng.Assert.assertEquals;4public class TestNGAssertExpectThrows {5 public void testExpectThrows() {6 String message = "TestNG Assert expectThrows method";7 Throwable exception = Assert.expectThrows(8 () -> Integer.parseInt("abc"),9 message);10 assertEquals(exception.getMessage(), message);11 }12}13Method testExpectThrows() should have thrown an exception of type java.lang.NumberFormatException14at org.testng.internal.ExpectedExceptionsHolder.verifyException(ExpectedExceptionsHolder.java:84)15at org.testng.internal.Invoker.runTestListeners(Invoker.java:1472)16at org.testng.internal.Invoker.runTestListeners(Invoker.java:1446)17at org.testng.internal.Invoker.invokeMethod(Invoker.java:651)18at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:867)19at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193)20at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)21at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)22at org.testng.TestRunner.privateRun(TestRunner.java:773)23at org.testng.TestRunner.run(TestRunner.java:623)24at org.testng.SuiteRunner.runTest(SuiteRunner.java:357)25at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352)26at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310)27at org.testng.SuiteRunner.run(SuiteRunner.java:259)28at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)29at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)30at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)31at org.testng.TestNG.runSuitesLocally(TestNG.java:1110)32at org.testng.TestNG.runSuites(TestNG.java:1029)33at org.testng.TestNG.run(TestNG.java:996)34at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)35at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)36at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
expectThrows
Using AI Code Generation
1 public void testExpectThrows(){2 String expectedMessage = "My expected exception message";3 Throwable thrown = expectThrows(IllegalArgumentException.class, () -> {4 throw new IllegalArgumentException(expectedMessage);5 });6 assertEquals(thrown.getMessage(), expectedMessage);7 }8}9import static org.junit.jupiter.api.Assertions.assertEquals;10import static org.junit.jupiter.api.Assertions.assertThrows;11import org.junit.jupiter.api.Test;12public class JUnit5TestExpectThrows {13 public void testExpectThrows(){14 String expectedMessage = "My expected exception message";15 IllegalArgumentException thrown = assertThrows(IllegalArgumentException.class, () -> {16 throw new IllegalArgumentException(expectedMessage);17 });18 assertEquals(thrown.getMessage(), expectedMessage);19 }20}
TestNG is a Java-based open-source framework for test automation that includes various test types, such as unit testing, functional testing, E2E testing, etc. TestNG is in many ways similar to JUnit and NUnit. But in contrast to its competitors, its extensive features make it a lot more reliable framework. One of the major reasons for its popularity is its ability to structure tests and improve the scripts' readability and maintainability. Another reason can be the important characteristics like the convenience of using multiple annotations, reliance, and priority that make this framework popular among developers and testers for test design. You can refer to the TestNG tutorial to learn why you should choose the TestNG framework.
You can push your abilities to do automated testing using TestNG and advance your career by earning a TestNG certification. Check out our TestNG certification.
Watch this complete tutorial to learn how you can leverage the capabilities of the TestNG framework for Selenium automation testing.
Get 100 minutes of automation test minutes FREE!!