1 package com.github.jonasrutishauser.transactional.event.quarkus.deployment.it;
2
3 import static org.hamcrest.CoreMatchers.containsString;
4 import static org.hamcrest.MatcherAssert.assertThat;
5 import static org.junit.jupiter.api.Assertions.fail;
6
7 import org.jboss.shrinkwrap.api.asset.EmptyAsset;
8 import org.junit.jupiter.api.Test;
9 import org.junit.jupiter.api.extension.RegisterExtension;
10
11 import com.github.jonasrutishauser.transactional.event.api.handler.AbstractHandler;
12
13 import io.quarkus.test.QuarkusUnitTest;
14 import jakarta.enterprise.context.Dependent;
15
16 class EventHandlerMissingAnnotationTest {
17
18 @RegisterExtension
19 static final QuarkusUnitTest config = new QuarkusUnitTest()
20 .assertException(
21 t -> assertThat(t.getMessage(), containsString("EventHandler annotation is missing on bean")))
22 .withApplicationRoot(archive -> archive
23 .addClasses(TestEvent.class, InvalidEventHandler.class)
24 .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml")
25 );
26
27 @Test
28 void test() {
29 fail("deployment error expected");
30 }
31
32 @Dependent
33 public static class InvalidEventHandler extends AbstractHandler<TestEvent> {
34 @Override
35 protected void handle(TestEvent event) {
36 fail();
37 }
38 }
39 }