[arquillian-issues] [JBoss JIRA] (ARQ-2153) Enable @Deployment @ShouldThrowException(DefinitionException.class) in WebSphere Liberty Managed Container

Gerhard Poul (JIRA) issues at jboss.org
Thu Mar 29 16:03:01 EDT 2018


     [ https://issues.jboss.org/browse/ARQ-2153?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gerhard Poul updated ARQ-2153:
------------------------------
           Status: Resolved  (was: Pull Request Sent)
    Fix Version/s: was_1.0.0.next
       Resolution: Done


> Enable @Deployment @ShouldThrowException(DefinitionException.class) in WebSphere Liberty Managed Container
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: ARQ-2153
>                 URL: https://issues.jboss.org/browse/ARQ-2153
>             Project: Arquillian
>          Issue Type: Feature Request
>          Components: WebSphere Containers
>    Affects Versions: 1.0.0.Final
>         Environment: MicroProfile FaultTolerance TCK testing with arquillian-wlp-managed-8.5  container.
> For example testing
> https://github.com/eclipse/microprofile-fault-tolerance/blob/master/tck/src/main/java/org/eclipse/microprofile/fault/tolerance/tck/invalidParameters/InvalidCircuitBreakerDelayTest.java
> with open Liberty or any other Arquillian test testing for DefinitionExceptions that cause
> Deployment Exceptions.
>            Reporter: Gordon Hutchison
>            Assignee: Gerhard Poul
>            Priority: Minor
>             Fix For: was_1.0.0.next
>
>
> When running the MicroProfile Fault Tolerance TCK there are numerous tests'
> deploy methods that have:
> {code:java}
>     @Deployment
>     @ShouldThrowException(DefinitionException.class)
>     public static WebArchive deploy() {...
> {code}
> The current wlp-managed-8.5 container return these as Deployment
> Exceptions to the test client which makes the TCK tests fail even if the server
> has raised a definition exception. 
> I have a code patch from an IBM colleague Nathan Mittlestat (whose permission I have to
> make this 'issue' and a pull request from on his behalf ) along the lines of:
> {code:java}
>    private void checkForDefinitionExceptions(String applicationName)
>    {
>       String messagesFile = containerConfiguration.getWlpHome() + "/usr/servers/" + containerConfiguration.getServerName() + "/logs/messages.log";
>       BufferedReader br = null;
>       try {
>          br = new BufferedReader(new InputStreamReader(new FileInputStream(messagesFile)));
>          String line;
>          while ((line = br.readLine()) != null) {
>             if (line.contains("CWWKZ0002E: An exception occurred while starting the application " + applicationName + ".")
>                   && (line.contains("org.jboss.weld.exceptions.DefinitionException") || line.contains("javax.enterprise.inject.spi.DefinitionException"))) {
>                System.out.println("############DEBUG found CWWKZ0002E for application: " + applicationName);
>                System.out.println(line);
>                throw new DefinitionException(line);
>             }
>          }
>       } catch (IOException e) {
>          System.err.println("Exception while reading messages.log" + e.toString());
>          e.printStackTrace();
>          //    } catch (FileNotFoundException e) {
>          //        System.err.println("Exception while reading messages.log" + e.toString());
>          //        e.printStackTrace();
>       } finally {
>          try {
>             if (br != null)
>                br.close();
>          } catch (Exception e) {
>             System.err.println("Exception while closing bufferedreader " + e.toString());
>             e.printStackTrace();
>          }
>       }
>    }
> {code}
> This method is called in waitForApplicationTargetState if a wrapping Deployment exception
> is observed:
>  
> {code:java}
>      } catch (Exception e) {
>          checkForDefinitionExceptions(applicationName);
>          throw new DeploymentException("Exception while checking application state.", e);
>       }
> {code}
> I will do a PR shortly.
>  



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the arquillian-issues mailing list