View Javadoc
1   package com.github.jonasrutishauser.transactional.event.quarkus.deployment.it;
2   
3   import static org.hamcrest.Matchers.stringContainsInOrder;
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.EventHandler;
12  import com.github.jonasrutishauser.transactional.event.api.handler.Handler;
13  
14  import io.quarkus.test.QuarkusUnitTest;
15  import jakarta.enterprise.context.Dependent;
16  
17  class EventHandlerWrongParentTest {
18  
19      @RegisterExtension
20      static final QuarkusUnitTest config = new QuarkusUnitTest() //
21              .assertException(t -> assertThat(t.getMessage(),
22                      stringContainsInOrder("AbstractHandler type is missing on bean with implicit event type",
23                              "InvalidEventHandler"))) //
24              .withApplicationRoot(archive -> archive //
25                      .addClasses(ValidEventHandler.class, InvalidEventHandler.class) //
26                      .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml") //
27              );
28  
29      @Test
30      void test() {
31          fail("deployment error expected");
32      }
33  
34      @Dependent
35      @EventHandler
36      public static class InvalidEventHandler implements Handler {
37          @Override
38          public void handle(String event) {
39              fail();
40          }
41      }
42  
43      @Dependent
44      @EventHandler(eventType = "TestEvent")
45      public static class ValidEventHandler implements Handler {
46          @Override
47          public void handle(String event) {
48              fail();
49          }
50      }
51  }