Closed JohannesLichtenberger closed 5 years ago
Can you provide more details on this issue please ? I'm intersted on working on this
I think basically we only need to add database specific roles in Keycloak and then check for "${dbname}-view" for checking if a user is permitted to view/read a specific database. And equivalent for the other roles.
@JohannesLichtenberger is there a reason why the auth role passed to Auth.kt always begins with "realm:" for example create "realm:create ?
@yiss, if I'm not mistaken it's because Keycloak differentiates between realm roles and application roles and Vert.x seems to support realm roles at least.
BTW: There's also:
and
which check the roles as a user can execute a full-blown XQuery or JSONiq like Script sent via POST to the "/" endpoint. And within the script databases can be opened, manipulated...
I've also just updated the documentation of how to setup Keycloak with the SirixDB HTTP-Server:
https://sirix.io/rest-api.html
For instance the realm export should now be automatically imported by docker-compose. To run the integration tests an admin user with the pass admin is missing which has all the roles assigned.
Maybe we should also provide the roles as they currently are (for instance a special admin or group could have permission to access and manipulate all databases) plus the additional database wide roles :-)
@JohannesLichtenberger Yeah, it was new for me because I've never used KeyCloack, but I've just read the documentation and now I understand. Also thank you for all the infromations. I'll satrt working on it :-)
Cool, I'm also not an expert with Vert.x, Kotlin and Keycloak... :-)
@JohannesLichtenberger Hey I'm getting this exception when I try to run the project any idea why ?
/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java "-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=50281:/Applications/IntelliJ IDEA.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/tools.jar:/Users/ilias/Workspace/sirix/bundles/sirix-rest-api/target/classes:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.3.10/kotlin-stdlib-1.3.10.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.10/kotlin-stdlib-common-1.3.10.jar:/Users/ilias/.m2/repository/org/jetbrains/annotations/13.0/annotations-13.0.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.0.1/kotlinx-coroutines-core-1.0.1.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.0.1/kotlinx-coroutines-core-common-1.0.1.jar:/Users/ilias/.m2/repository/io/vertx/vertx-core/3.7.0/vertx-core-3.7.0.jar:/Users/ilias/.m2/repository/io/netty/netty-common/4.1.30.Final/netty-common-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-buffer/4.1.30.Final/netty-buffer-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-transport/4.1.30.Final/netty-transport-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-handler/4.1.30.Final/netty-handler-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-codec/4.1.30.Final/netty-codec-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-handler-proxy/4.1.30.Final/netty-handler-proxy-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-codec-socks/4.1.30.Final/netty-codec-socks-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-codec-http/4.1.30.Final/netty-codec-http-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-codec-http2/4.1.30.Final/netty-codec-http2-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-resolver/4.1.30.Final/netty-resolver-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-resolver-dns/4.1.30.Final/netty-resolver-dns-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-codec-dns/4.1.30.Final/netty-codec-dns-4.1.30.Final.jar:/Users/ilias/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.8/jackson-core-2.9.8.jar:/Users/ilias/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.8/jackson-databind-2.9.8.jar:/Users/ilias/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-web/3.7.0/vertx-web-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-web-common/3.7.0/vertx-web-common-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-auth-common/3.7.0/vertx-auth-common-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-bridge-common/3.7.0/vertx-bridge-common-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-lang-kotlin/3.7.0/vertx-lang-kotlin-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-lang-kotlin-coroutines/3.7.0/vertx-lang-kotlin-coroutines-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-auth-oauth2/3.7.0/vertx-auth-oauth2-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-jwt/3.7.0/vertx-jwt-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-web-client/3.7.0/vertx-web-client-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-config/3.7.0/vertx-config-3.7.0.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.10/kotlin-stdlib-jdk8-1.3.10.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.10/kotlin-stdlib-jdk7-1.3.10.jar:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar:/Users/ilias/.m2/repository/org/xerial/snappy/snappy-java/1.1.7.2/snappy-java-1.1.7.2.jar:/Users/ilias/.m2/repository/org/magicwerk/brownies-collections/0.9.13/brownies-collections-0.9.13.jar:/Users/ilias/.m2/repository/com/google/crypto/tink/tink/1.2.1/tink-1.2.1.jar:/Users/ilias/.m2/repository/com/amazonaws/aws-java-sdk-core/1.11.166/aws-java-sdk-core-1.11.166.jar:/Users/ilias/.m2/repository/software/amazon/ion/ion-java/1.0.2/ion-java-1.0.2.jar:/Users/ilias/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.6.7/jackson-dataformat-cbor-2.6.7.jar:/Users/ilias/.m2/repository/com/amazonaws/aws-java-sdk-kms/1.11.166/aws-java-sdk-kms-1.11.166.jar:/Users/ilias/.m2/repository/com/amazonaws/jmespath-java/1.11.166/jmespath-java-1.11.166.jar:/Users/ilias/.m2/repository/com/google/api-client/google-api-client/1.22.0/google-api-client-1.22.0.jar:/Users/ilias/.m2/repository/com/google/oauth-client/google-oauth-client/1.22.0/google-oauth-client-1.22.0.jar:/Users/ilias/.m2/repository/com/google/http-client/google-http-client/1.22.0/google-http-client-1.22.0.jar:/Users/ilias/.m2/repository/org/apache/httpcomponents/httpclient/4.0.1/httpclient-4.0.1.jar:/Users/ilias/.m2/repository/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar:/Users/ilias/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/Users/ilias/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar:/Users/ilias/.m2/repository/com/google/http-client/google-http-client-jackson2/1.22.0/google-http-client-jackson2-1.22.0.jar:/Users/ilias/.m2/repository/com/google/apis/google-api-services-cloudkms/v1-rev9-1.22.0/google-api-services-cloudkms-v1-rev9-1.22.0.jar:/Users/ilias/.m2/repository/com/google/auto/service/auto-service/1.0-rc4/auto-service-1.0-rc4.jar:/Users/ilias/.m2/repository/com/google/auto/auto-common/0.8/auto-common-0.8.jar:/Users/ilias/.m2/repository/com/google/protobuf/protobuf-java/3.6.0/protobuf-java-3.6.0.jar:/Users/ilias/.m2/repository/org/json/json/20170516/json-20170516.jar:/Users/ilias/.m2/repository/io/sirix/sirix-xquery/0.9.4-SNAPSHOT/sirix-xquery-0.9.4-20191018.124727-147.jar:/Users/ilias/.m2/repository/org/jsoup/jsoup/1.11.3/jsoup-1.11.3.jar:/Users/ilias/.m2/repository/com/beust/jcommander/1.69/jcommander-1.69.jar:/Users/ilias/.m2/repository/org/aspectj/aspectjrt/1.8.10/aspectjrt-1.8.10.jar:/Users/ilias/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/Users/ilias/.m2/repository/org/perfidix/perfidix/3.6.9/perfidix-3.6.9.jar:/Users/ilias/.m2/repository/commons-primitives/commons-primitives/20041207.202534/commons-primitives-20041207.202534.jar:/Users/ilias/.m2/repository/commons-math/commons-math/1.2/commons-math-1.2.jar:/Users/ilias/.m2/repository/joda-time/joda-time/2.1/joda-time-2.1.jar:/Users/ilias/.m2/repository/xmlunit/xmlunit/1.6/xmlunit-1.6.jar:/Users/ilias/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/Users/ilias/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/Users/ilias/.m2/repository/com/google/inject/guice/4.2.2/guice-4.2.2.jar:/Users/ilias/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/Users/ilias/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/ilias/.m2/repository/com/google/code/gson/gson/2.8.1/gson-2.8.1.jar:/Users/ilias/.m2/repository/com/google/guava/guava/27.0-jre/guava-27.0-jre.jar:/Users/ilias/.m2/repository/com/google/guava/failureaccess/1.0/failureaccess-1.0.jar:/Users/ilias/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/Users/ilias/.m2/repository/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2.jar:/Users/ilias/.m2/repository/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.jar:/Users/ilias/.m2/repository/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar:/Users/ilias/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar:/Users/ilias/.m2/repository/com/google/guava/guava-testlib/27.0-jre/guava-testlib-27.0-jre.jar:/Users/ilias/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/Users/ilias/.m2/repository/com/github/sirixdb/brackit/brackit/0.1.5/brackit-0.1.5.jar:/Users/ilias/.m2/repository/com/github/ben-manes/caffeine/caffeine/2.7.0/caffeine-2.7.0.jar org.sirix.rest.MainKt
23:28:57,073 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback-test.xml] at [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar!/logback-test.xml]
23:28:57,074 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs multiple times on the classpath.
23:28:57,074 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-xquery/0.9.4-SNAPSHOT/sirix-xquery-0.9.4-20191018.124727-147.jar!/logback-test.xml]
23:28:57,074 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar!/logback-test.xml]
23:28:57,084 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@6dbb137d - URL [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar!/logback-test.xml] is not of type file
23:28:57,122 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
23:28:57,123 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
23:28:57,127 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
23:28:57,131 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
23:28:57,151 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to ERROR
23:28:57,151 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
23:28:57,152 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
23:28:57,152 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@3c9d0b9d - Registering current configuration as safe fallback point
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:8080
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:327)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:632)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused
... 11 more
Oct 18, 2019 11:29:02 PM io.vertx.core.impl.launcher.commands.VertxIsolatedDeployer
SEVERE: Failed in deploying verticle
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:8080
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:327)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:632)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused
... 11 more
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:8080
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:327)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:632)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused
... 11 more
Hi, you have to replace localhost with keycloak in the sirix-conf.json file if you use docker-compose and you have to use Java 13.
Let me know if that helps. And make sure to run the Keycloak service first.
In any case make sure that Keycloak is running on port 8080 (and if it's docker keep in mind the docker network stuff).
@JohannesLichtenberger Thank you for your promt response, I didn't have a running keycloak in Docker, and that was indeed the problem. But now I'm having an issue running integration test. If I don't run the application first, I get this error :
/Users/ilias/.sdkman/candidates/java/13.0.0.j9-adpt/bin/java -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=51361:/Applications/IntelliJ IDEA.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/junit/lib/junit-rt.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/junit/lib/junit5-rt.jar:/Users/ilias/Workspace/sirix/bundles/sirix-rest-api/target/test-classes:/Users/ilias/Workspace/sirix/bundles/sirix-rest-api/target/classes:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.3.10/kotlin-stdlib-1.3.10.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.10/kotlin-stdlib-common-1.3.10.jar:/Users/ilias/.m2/repository/org/jetbrains/annotations/13.0/annotations-13.0.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-test-junit/1.3.10/kotlin-test-junit-1.3.10.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-test-annotations-common/1.3.10/kotlin-test-annotations-common-1.3.10.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-test/1.3.10/kotlin-test-1.3.10.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-test-common/1.3.10/kotlin-test-common-1.3.10.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.0.1/kotlinx-coroutines-core-1.0.1.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.0.1/kotlinx-coroutines-core-common-1.0.1.jar:/Users/ilias/.m2/repository/junit/junit/4.12/junit-4.12.jar:/Users/ilias/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ilias/.m2/repository/io/vertx/vertx-core/3.7.0/vertx-core-3.7.0.jar:/Users/ilias/.m2/repository/io/netty/netty-common/4.1.30.Final/netty-common-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-buffer/4.1.30.Final/netty-buffer-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-transport/4.1.30.Final/netty-transport-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-handler/4.1.30.Final/netty-handler-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-codec/4.1.30.Final/netty-codec-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-handler-proxy/4.1.30.Final/netty-handler-proxy-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-codec-socks/4.1.30.Final/netty-codec-socks-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-codec-http/4.1.30.Final/netty-codec-http-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-codec-http2/4.1.30.Final/netty-codec-http2-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-resolver/4.1.30.Final/netty-resolver-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-resolver-dns/4.1.30.Final/netty-resolver-dns-4.1.30.Final.jar:/Users/ilias/.m2/repository/io/netty/netty-codec-dns/4.1.30.Final/netty-codec-dns-4.1.30.Final.jar:/Users/ilias/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.8/jackson-core-2.9.8.jar:/Users/ilias/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.8/jackson-databind-2.9.8.jar:/Users/ilias/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-web/3.7.0/vertx-web-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-web-common/3.7.0/vertx-web-common-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-auth-common/3.7.0/vertx-auth-common-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-bridge-common/3.7.0/vertx-bridge-common-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-lang-kotlin/3.7.0/vertx-lang-kotlin-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-lang-kotlin-coroutines/3.7.0/vertx-lang-kotlin-coroutines-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-auth-oauth2/3.7.0/vertx-auth-oauth2-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-jwt/3.7.0/vertx-jwt-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-web-client/3.7.0/vertx-web-client-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-config/3.7.0/vertx-config-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-junit5/3.7.0/vertx-junit5-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-rx-java/3.7.0/vertx-rx-java-3.7.0.jar:/Users/ilias/.m2/repository/io/reactivex/rxjava/1.3.8/rxjava-1.3.8.jar:/Users/ilias/.m2/repository/io/vertx/vertx-rx-gen/3.7.0/vertx-rx-gen-3.7.0.jar:/Users/ilias/.m2/repository/io/vertx/vertx-codegen/3.7.0/vertx-codegen-3.7.0.jar:/Users/ilias/.m2/repository/org/mvel/mvel2/2.3.1.Final/mvel2-2.3.1.Final.jar:/Users/ilias/.m2/repository/io/vertx/vertx-rx-java2/3.7.0/vertx-rx-java2-3.7.0.jar:/Users/ilias/.m2/repository/io/reactivex/rxjava2/rxjava/2.2.4/rxjava-2.2.4.jar:/Users/ilias/.m2/repository/org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.10/kotlin-stdlib-jdk8-1.3.10.jar:/Users/ilias/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.10/kotlin-stdlib-jdk7-1.3.10.jar:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar:/Users/ilias/.m2/repository/org/xerial/snappy/snappy-java/1.1.7.2/snappy-java-1.1.7.2.jar:/Users/ilias/.m2/repository/org/magicwerk/brownies-collections/0.9.13/brownies-collections-0.9.13.jar:/Users/ilias/.m2/repository/com/google/crypto/tink/tink/1.2.1/tink-1.2.1.jar:/Users/ilias/.m2/repository/com/amazonaws/aws-java-sdk-core/1.11.166/aws-java-sdk-core-1.11.166.jar:/Users/ilias/.m2/repository/software/amazon/ion/ion-java/1.0.2/ion-java-1.0.2.jar:/Users/ilias/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.6.7/jackson-dataformat-cbor-2.6.7.jar:/Users/ilias/.m2/repository/com/amazonaws/aws-java-sdk-kms/1.11.166/aws-java-sdk-kms-1.11.166.jar:/Users/ilias/.m2/repository/com/amazonaws/jmespath-java/1.11.166/jmespath-java-1.11.166.jar:/Users/ilias/.m2/repository/com/google/api-client/google-api-client/1.22.0/google-api-client-1.22.0.jar:/Users/ilias/.m2/repository/com/google/oauth-client/google-oauth-client/1.22.0/google-oauth-client-1.22.0.jar:/Users/ilias/.m2/repository/com/google/http-client/google-http-client/1.22.0/google-http-client-1.22.0.jar:/Users/ilias/.m2/repository/org/apache/httpcomponents/httpclient/4.0.1/httpclient-4.0.1.jar:/Users/ilias/.m2/repository/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar:/Users/ilias/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/Users/ilias/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar:/Users/ilias/.m2/repository/com/google/http-client/google-http-client-jackson2/1.22.0/google-http-client-jackson2-1.22.0.jar:/Users/ilias/.m2/repository/com/google/apis/google-api-services-cloudkms/v1-rev9-1.22.0/google-api-services-cloudkms-v1-rev9-1.22.0.jar:/Users/ilias/.m2/repository/com/google/auto/service/auto-service/1.0-rc4/auto-service-1.0-rc4.jar:/Users/ilias/.m2/repository/com/google/auto/auto-common/0.8/auto-common-0.8.jar:/Users/ilias/.m2/repository/com/google/protobuf/protobuf-java/3.6.0/protobuf-java-3.6.0.jar:/Users/ilias/.m2/repository/org/json/json/20170516/json-20170516.jar:/Users/ilias/.m2/repository/io/sirix/sirix-xquery/0.9.4-SNAPSHOT/sirix-xquery-0.9.4-20191018.124727-147.jar:/Users/ilias/.m2/repository/org/jsoup/jsoup/1.11.3/jsoup-1.11.3.jar:/Users/ilias/.m2/repository/com/beust/jcommander/1.69/jcommander-1.69.jar:/Users/ilias/.m2/repository/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2.jar:/Users/ilias/.m2/repository/org/testng/testng/6.11/testng-6.11.jar:/Users/ilias/.m2/repository/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar:/Users/ilias/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.1.0/junit-jupiter-api-5.1.0.jar:/Users/ilias/.m2/repository/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0.jar:/Users/ilias/.m2/repository/org/opentest4j/opentest4j/1.0.0/opentest4j-1.0.0.jar:/Users/ilias/.m2/repository/org/junit/platform/junit-platform-commons/1.1.0/junit-platform-commons-1.1.0.jar:/Users/ilias/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.1.0/junit-jupiter-engine-5.1.0.jar:/Users/ilias/.m2/repository/org/junit/platform/junit-platform-engine/1.1.0/junit-platform-engine-1.1.0.jar:/Users/ilias/.m2/repository/org/junit/vintage/junit-vintage-engine/5.1.0/junit-vintage-engine-5.1.0.jar:/Users/ilias/.m2/repository/org/junit/platform/junit-platform-launcher/1.1.0/junit-platform-launcher-1.1.0.jar:/Users/ilias/.m2/repository/org/junit/platform/junit-platform-runner/1.1.0/junit-platform-runner-1.1.0.jar:/Users/ilias/.m2/repository/org/junit/platform/junit-platform-suite-api/1.1.0/junit-platform-suite-api-1.1.0.jar:/Users/ilias/.m2/repository/org/aspectj/aspectjrt/1.8.10/aspectjrt-1.8.10.jar:/Users/ilias/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/Users/ilias/.m2/repository/org/perfidix/perfidix/3.6.9/perfidix-3.6.9.jar:/Users/ilias/.m2/repository/commons-primitives/commons-primitives/20041207.202534/commons-primitives-20041207.202534.jar:/Users/ilias/.m2/repository/commons-math/commons-math/1.2/commons-math-1.2.jar:/Users/ilias/.m2/repository/joda-time/joda-time/2.1/joda-time-2.1.jar:/Users/ilias/.m2/repository/org/mockito/mockito-core/2.23.4/mockito-core-2.23.4.jar:/Users/ilias/.m2/repository/net/bytebuddy/byte-buddy/1.9.3/byte-buddy-1.9.3.jar:/Users/ilias/.m2/repository/net/bytebuddy/byte-buddy-agent/1.9.3/byte-buddy-agent-1.9.3.jar:/Users/ilias/.m2/repository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/Users/ilias/.m2/repository/xmlunit/xmlunit/1.6/xmlunit-1.6.jar:/Users/ilias/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/Users/ilias/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/Users/ilias/.m2/repository/com/google/inject/guice/4.2.2/guice-4.2.2.jar:/Users/ilias/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/Users/ilias/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/ilias/.m2/repository/com/google/code/gson/gson/2.8.1/gson-2.8.1.jar:/Users/ilias/.m2/repository/com/google/guava/guava/27.0-jre/guava-27.0-jre.jar:/Users/ilias/.m2/repository/com/google/guava/failureaccess/1.0/failureaccess-1.0.jar:/Users/ilias/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/Users/ilias/.m2/repository/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2.jar:/Users/ilias/.m2/repository/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.jar:/Users/ilias/.m2/repository/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar:/Users/ilias/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar:/Users/ilias/.m2/repository/com/google/guava/guava-testlib/27.0-jre/guava-testlib-27.0-jre.jar:/Users/ilias/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/Users/ilias/.m2/repository/com/github/sirixdb/brackit/brackit/0.1.5/brackit-0.1.5.jar:/Users/ilias/.m2/repository/com/github/sirixdb/brackit/brackit/0.1.5/brackit-0.1.5-tests.jar:/Users/ilias/.m2/repository/com/github/ben-manes/caffeine/caffeine/2.7.0/caffeine-2.7.0.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit5 @w@/private/var/folders/6k/2dysd8yj1mn5dbtz3vgb001h0000gn/T/idea_working_dirs_junit.tmp @/private/var/folders/6k/2dysd8yj1mn5dbtz3vgb001h0000gn/T/idea_junit.tmp -socket51360
00:16:53,232 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback-test.xml] at [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar!/logback-test.xml]
00:16:53,233 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs multiple times on the classpath.
00:16:53,233 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-xquery/0.9.4-SNAPSHOT/sirix-xquery-0.9.4-20191018.124727-147.jar!/logback-test.xml]
00:16:53,233 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar!/logback-test.xml]
00:16:53,254 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@f2c92e7c - URL [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar!/logback-test.xml] is not of type file
00:16:53,289 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
00:16:53,290 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
00:16:53,296 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
00:16:53,300 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
00:16:53,362 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to ERROR
00:16:53,362 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
00:16:53,363 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
00:16:53,363 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6f604e82 - Registering current configuration as safe fallback point
Oct 19, 2019 12:16:54 AM io.vertx.core.impl.ContextImpl
SEVERE: Unhandled exception
java.lang.IllegalStateException: Client is closed
at io.vertx.core.http.impl.HttpClientImpl.checkClosed(HttpClientImpl.java:1051)
at io.vertx.core.http.impl.HttpClientImpl.close(HttpClientImpl.java:897)
at io.vertx.ext.auth.oauth2.impl.OAuth2API.lambda$makeRequest$3(OAuth2API.java:137)
at io.vertx.ext.auth.oauth2.impl.OAuth2API$$Lambda$335.0000000000000000.handle(Unknown Source)
at io.vertx.core.http.impl.HttpClientRequestBase.handleException(HttpClientRequestBase.java:139)
at io.vertx.core.http.impl.HttpClientRequestImpl.lambda$null$8(HttpClientRequestImpl.java:505)
at io.vertx.core.http.impl.HttpClientRequestImpl$$Lambda$373.0000000000000000.handle(Unknown Source)
at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:320)
at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:43)
at io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:188)
at io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:180)
at io.vertx.core.http.impl.HttpClientRequestImpl.lambda$connect$9(HttpClientRequestImpl.java:504)
at io.vertx.core.http.impl.HttpClientRequestImpl$$Lambda$338.0000000000000000.handle(Unknown Source)
at io.vertx.core.http.impl.HttpClientImpl.lambda$getConnectionForRequest$5(HttpClientImpl.java:978)
at io.vertx.core.http.impl.HttpClientImpl$$Lambda$340.0000000000000000.handle(Unknown Source)
at io.vertx.core.http.impl.ConnectionManager.lambda$getConnection$7(ConnectionManager.java:155)
at io.vertx.core.http.impl.ConnectionManager$$Lambda$350.0000000000000000.handle(Unknown Source)
at io.vertx.core.http.impl.pool.Pool.connectFailed(Pool.java:364)
at io.vertx.core.http.impl.pool.Pool.access$600(Pool.java:86)
at io.vertx.core.http.impl.pool.Pool$Holder.lambda$connect$0(Pool.java:128)
at io.vertx.core.http.impl.pool.Pool$Holder$$Lambda$356.0000000000000000.handle(Unknown Source)
at io.vertx.core.impl.FutureImpl.tryFail(FutureImpl.java:170)
at io.vertx.core.http.impl.HttpChannelConnector.connectFailed(HttpChannelConnector.java:253)
at io.vertx.core.http.impl.HttpChannelConnector.lambda$doConnect$0(HttpChannelConnector.java:162)
at io.vertx.core.http.impl.HttpChannelConnector$$Lambda$360.0000000000000000.handle(Unknown Source)
at io.vertx.core.net.impl.ChannelProvider.lambda$connect$1(ChannelProvider.java:81)
at io.vertx.core.net.impl.ChannelProvider$$Lambda$362.0000000000000000.handle(Unknown Source)
at io.vertx.core.net.impl.ChannelProvider.lambda$handleConnect$2(ChannelProvider.java:141)
at io.vertx.core.net.impl.ChannelProvider$$Lambda$372.0000000000000000.operationComplete(Unknown Source)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:162)
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95)
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30)
at io.vertx.core.net.impl.ChannelProvider.handleConnect(ChannelProvider.java:137)
at io.vertx.core.net.impl.ChannelProvider.connect(ChannelProvider.java:90)
at io.vertx.core.http.impl.HttpChannelConnector.doConnect(HttpChannelConnector.java:166)
at io.vertx.core.http.impl.HttpChannelConnector.connect(HttpChannelConnector.java:101)
at io.vertx.core.http.impl.pool.Pool$Holder.connect(Pool.java:124)
at io.vertx.core.http.impl.pool.Pool$$Lambda$355.0000000000000000.run(Unknown Source)
at io.vertx.core.http.impl.pool.Pool.checkPendingTasks(Pool.java:263)
at io.vertx.core.http.impl.pool.Pool$$Lambda$352.0000000000000000.run(Unknown Source)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:831)
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:9443
But when I run the application and keep it runniong while I run the integration tests I get this error
00:19:05,494 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback-test.xml] at [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar!/logback-test.xml]
00:19:05,495 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs multiple times on the classpath.
00:19:05,495 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-xquery/0.9.4-SNAPSHOT/sirix-xquery-0.9.4-20191018.124727-147.jar!/logback-test.xml]
00:19:05,495 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback-test.xml] occurs at [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar!/logback-test.xml]
00:19:05,520 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@acfe7289 - URL [jar:file:/Users/ilias/.m2/repository/io/sirix/sirix-core/0.9.4-SNAPSHOT/sirix-core-0.9.4-20191018.124639-147.jar!/logback-test.xml] is not of type file
00:19:05,564 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
00:19:05,564 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
00:19:05,571 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
00:19:05,575 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
00:19:05,635 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to ERROR
00:19:05,635 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
00:19:05,637 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
00:19:05,638 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@5634542d - Registering current configuration as safe fallback point
java.net.BindException: Address already in use
at java.base/sun.nio.ch.Net.bind0(Native Method)
at java.base/sun.nio.ch.Net.bind(Net.java:469)
at java.base/sun.nio.ch.Net.bind(Net.java:458)
at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:220)
at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:130)
at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:558)
at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1358)
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:501)
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:486)
at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:1019)
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:254)
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:366)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasksFrom(SingleThreadEventExecutor.java:380)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:355)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:453)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:831)
So you're running https://github.com/sirixdb/sirix/blob/master/bundles/sirix-rest-api/src/test/kotlin/org/sirix/rest/SirixVerticleJsonTest.kt
for instance from IntelliJ? Hmm, I guess the server doesn't start but in any case... what happens when you enter https://localhost:9443 In a browser for instance? Are you using a JUnit5 runner? :-)
And yes, the server is going to be started by the setup-method (Verticle deployed).
So, make sure to only start keycloak via docker-compose, but not the server Docker container. Hope it helps a bit.
@JohannesLichtenberger So I've tried to run the tests no luck there. But I pushed my modifications to my branch. Can you please check if the tests passes : https://github.com/yiss/sirix if it passes I'll create the merge request. Or if you can help on how I can run tests locally thanks :)
Ah, maybe you can try running Keycloak without Docker. For the integration tests I haven't used the Docker Keycloak Container, but simply started via the batch-file (standalone.bat) on Windows.
I've cloned your fork and it works like a charm (added the additional roles and added them also to the administrator group :-))
Can you update your branch and make a PR? 👍 However, would be super great if you can try it yourself ;-)
I updated my fork and created the pull request #127. The project looks super interesting. After reading the article that you mentioned in the documentation on Keycloak (Which I have never used) I managed to run the application. I'll try to make more contributions in the future :)
Wow, very cool :-) Thanks so much :+1: :1st_place_medal:
We have to provide permission checks not only based on the roles "create", "view", "modify" and "delete" but we should make this database dependent (databasename-create, databasename-view...)?