View Javadoc
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  }