- update extension to quarkus 1.5.2
- Set graal native image dependency as provided
diff --git a/extensions/quarkus/pom.xml b/extensions/quarkus/pom.xml
index 0144304..fdb82bd 100644
--- a/extensions/quarkus/pom.xml
+++ b/extensions/quarkus/pom.xml
@@ -43,7 +43,7 @@
     </modules>
 
     <properties>
-        <quarkus.version>1.5.1.Final</quarkus.version>
+        <quarkus.version>1.5.2.Final</quarkus.version>
     </properties>
 
     <build>
diff --git a/extensions/quarkus/runtime/pom.xml b/extensions/quarkus/runtime/pom.xml
index 1b922c6..2883382 100644
--- a/extensions/quarkus/runtime/pom.xml
+++ b/extensions/quarkus/runtime/pom.xml
@@ -127,7 +127,8 @@
         <dependency>
             <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
-            <version>20.0.0</version>
+            <version>20.1.0</version>
+            <scope>provided</scope>
         </dependency>
     </dependencies>
 
diff --git a/extensions/quarkus/showcase/pom.xml b/extensions/quarkus/showcase/pom.xml
index 6c8dc96..d3c3a61 100644
--- a/extensions/quarkus/showcase/pom.xml
+++ b/extensions/quarkus/showcase/pom.xml
@@ -25,7 +25,7 @@
     <name>Apache MyFaces Core 2.3-next - Extensions - Quarkus - Showcase</name>
 
     <properties>
-        <quarkus.version>1.5.1.Final</quarkus.version>
+        <quarkus.version>1.5.2.Final</quarkus.version>
         <myfaces.version>2.3-next-SNAPSHOT</myfaces.version>
         <failsafe.version>2.22.0</failsafe.version>
         <surefire.version>2.22.0</surefire.version>
@@ -86,7 +86,7 @@
         <dependency>
             <groupId>net.sourceforge.htmlunit</groupId>
             <artifactId>htmlunit</artifactId>
-            <version>2.35.0</version>
+            <version>2.41.0</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/extensions/quarkus/showcase/src/test/java/org/apache/myfaces/core/extensions/quarkus/showcase/QuarkusMyFacesShowcaseTest.java b/extensions/quarkus/showcase/src/test/java/org/apache/myfaces/core/extensions/quarkus/showcase/QuarkusMyFacesShowcaseTest.java
index 0f595bc..c9ac66e 100644
--- a/extensions/quarkus/showcase/src/test/java/org/apache/myfaces/core/extensions/quarkus/showcase/QuarkusMyFacesShowcaseTest.java
+++ b/extensions/quarkus/showcase/src/test/java/org/apache/myfaces/core/extensions/quarkus/showcase/QuarkusMyFacesShowcaseTest.java
@@ -21,12 +21,18 @@
 import com.gargoylesoftware.htmlunit.BrowserVersion;
 import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController;
 import com.gargoylesoftware.htmlunit.WebClient;
+import com.gargoylesoftware.htmlunit.html.DomElement;
 import com.gargoylesoftware.htmlunit.html.HtmlDivision;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
 import io.quarkus.test.common.http.TestHTTPResource;
 import io.quarkus.test.junit.QuarkusTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
+import java.io.IOException;
 import java.net.URL;
 
 import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
@@ -37,25 +43,48 @@
     @TestHTTPResource
     URL url;
 
-    @Test
-    public void shouldOpenIndexPage() throws Exception {
-        try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
-            webClient.getOptions().setJavaScriptEnabled(true);
-            webClient.getOptions().setCssEnabled(false);
-            webClient.getOptions().setUseInsecureSSL(true);
-            webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
-            webClient.getCookieManager().setCookiesEnabled(true);
-            webClient.setAjaxController(new NicelyResynchronizingAjaxController());
-            webClient.getCookieManager().setCookiesEnabled(true);
+    private static WebClient webClient;
 
-            final HtmlPage page = webClient.getPage(url + "/index.xhtml");
+    @BeforeAll
+    public static void initWebClient() {
+        webClient = new WebClient(BrowserVersion.CHROME);
+        webClient.getOptions().setJavaScriptEnabled(true);
+        webClient.getOptions().setCssEnabled(false);
+        webClient.getOptions().setUseInsecureSSL(true);
+        webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
+        webClient.getCookieManager().setCookiesEnabled(true);
+        webClient.setAjaxController(new NicelyResynchronizingAjaxController());
+    }
 
-            final HtmlDivision datatable = (HtmlDivision) page.getElementById("form:carTable");
-
-            assertThat(datatable).isNotNull();
-            assertThat(datatable.getByXPath("//tr[contains(@role,'row') and contains(@class,'ui-datatable-selectable')]"))
-                    .hasSize(10);
-
+    @AfterAll
+    public static void closeWebClient() {
+        if (webClient != null) {
+            webClient.close();
         }
     }
+
+
+    @Test
+    public void shouldOpenIndexPage() throws Exception {
+        final HtmlPage page = webClient.getPage(url + "/index.xhtml");
+        final HtmlDivision datatable = (HtmlDivision) page.getElementById("form:carTable");
+        assertThat(datatable).isNotNull();
+        assertThat(datatable.getByXPath("//tr[contains(@role,'row') and contains(@class,'ui-datatable-selectable')]"))
+                .hasSize(10);
+    }
+
+    @Test
+    @Disabled("Check HtmlUnit websocket support, for now this test is not working")
+    public void shouldCallWebSocket() throws IOException {
+        HtmlPage page = webClient.getPage(url + "/socket.xhtml");
+        final HtmlSubmitInput sendMessageBtn = (HtmlSubmitInput) page.getElementById("form:sendMessage");
+        page = sendMessageBtn.click();
+        webClient.waitForBackgroundJavaScript(5000);
+        DomElement message = page.getElementById("message");
+        assertThat(message.asXml())
+                .contains("hello at");
+
+    }
+
+
 }