dasniko / testcontainers-keycloak

A Testcontainer implementation for Keycloak IAM & SSO.
Apache License 2.0
327 stars 50 forks source link

"Script upload is disabled" when using realm import file #83

Closed Octoate closed 1 year ago

Octoate commented 1 year ago

Describe the bug

Hi, I am currently trying to write some integration tests for our system, but stumbled upon a problem when starting the docker container with Keycloak. The import of the realm file does not work and fails with a RuntimeException:

2022-08-18T10:27:48,745 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:48,743 WARN  [org.keycloak.services] (main) KC-SERVICES0005: Unable to import realm smartlabel-sso from file /opt/keycloak/bin/../data/import/test-realm.json.: java.lang.RuntimeException: Script upload is disabled

The configuration is quite simple at the moment - I just create a container with

    @Container
    private static final KeycloakContainer keycloak = new KeycloakContainer("quay.io/keycloak/keycloak:19.0.1")
            .withRealmImportFile("test-realm.json");

I will also attach the full startup log (without our spring boot startup) to this bug report.

Since you already set the "keycloak.profile.feature.upload_scripts=enabled" this error message should not occur, so any idea what happens here is highly appreciated.

Version

2.3.0

Expected behavior

The Keycloak docker instance is started and the realm configuration is imported without an exception.

Actual behavior

The realm import fails with a "Script upload is disabled" RuntimeException.

How to Reproduce?

No response

Relevant log output

"C:\Program Files\Eclipse Adoptium\jdk-17.0.3.7-hotspot\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\lib\idea_rt.jar=54076:C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\bin" -Dfile.encoding=UTF-8 @C:\Users\tim.riemann\AppData\Local\Temp\idea_arg_file1906327938 com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 de.silab.smartlabel.server.backend.rest.internal.TagDbRestControllerTest,getEmptyListOverRestTest
2022-08-18T10:26:58,900 INFO  [main] o.t.u.ImageNameSubstitutor: Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
2022-08-18T10:26:58,929 INFO  [main] o.t.d.DockerClientProviderStrategy: Loaded org.testcontainers.dockerclient.NpipeSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
2022-08-18T10:26:59,304 INFO  [main] o.t.d.DockerClientProviderStrategy: Found Docker environment with local Npipe socket (npipe:////./pipe/docker_engine)
2022-08-18T10:26:59,307 INFO  [main] o.t.DockerClientFactory: Docker host IP address is localhost
2022-08-18T10:26:59,320 INFO  [main] o.t.DockerClientFactory: Connected to docker: 
  Server Version: 20.10.17
  API Version: 1.41
  Operating System: Docker Desktop
  Total Memory: 25429 MB
2022-08-18T10:26:59,341 INFO  [main] o.t.c.GenericContainer: Creating container for image: testcontainers/ryuk:0.3.3
2022-08-18T10:26:59,601 INFO  [main] o.t.u.RegistryAuthLocator: Credential helper/store (docker-credential-desktop) does not have credentials for https://index.docker.io/v1/
2022-08-18T10:26:59,709 INFO  [main] o.t.c.GenericContainer: Container testcontainers/ryuk:0.3.3 is starting: d9e709b636afa5aefd65cb28e8f9110b6c17a11c9f0e99f42c06822aede56e72
2022-08-18T10:27:00,178 INFO  [main] o.t.c.GenericContainer: Container testcontainers/ryuk:0.3.3 started in PT0.8508062S
2022-08-18T10:27:00,182 INFO  [main] o.t.u.RyukResourceReaper: Ryuk started - will monitor and terminate Testcontainers containers on JVM exit
2022-08-18T10:27:00,182 INFO  [main] o.t.DockerClientFactory: Checking the system...
2022-08-18T10:27:00,183 INFO  [main] o.t.DockerClientFactory: ✔︎ Docker server version should be at least 1.6.0
2022-08-18T10:27:00,189 INFO  [main] o.t.i.RemoteDockerImage: Pulling docker image: quay.io/keycloak/keycloak:19.0.1. Please be patient; this may take some time but only needs to be done once.
2022-08-18T10:27:00,316 INFO  [main] o.t.u.RegistryAuthLocator: Credential helper/store (docker-credential-desktop) does not have credentials for quay.io
2022-08-18T10:27:02,341 INFO  [docker-java-stream--300441755] o.t.i.LoggedPullImageResultCallback: Starting to pull image
2022-08-18T10:27:02,353 INFO  [docker-java-stream--300441755] o.t.i.LoggedPullImageResultCallback: Pulling image layers:  0 pending,  0 downloaded,  0 extracted, (0 bytes/0 bytes)
2022-08-18T10:27:19,222 INFO  [docker-java-stream--300441755] o.t.i.LoggedPullImageResultCallback: Pulling image layers:  3 pending,  1 downloaded,  0 extracted, (164 MB/? MB)
2022-08-18T10:27:28,002 INFO  [docker-java-stream--300441755] o.t.i.LoggedPullImageResultCallback: Pulling image layers:  2 pending,  2 downloaded,  0 extracted, (245 MB/? MB)
2022-08-18T10:27:29,821 INFO  [docker-java-stream--300441755] o.t.i.LoggedPullImageResultCallback: Pulling image layers:  2 pending,  2 downloaded,  1 extracted, (246 MB/? MB)
2022-08-18T10:27:32,382 INFO  [docker-java-stream--300441755] o.t.i.LoggedPullImageResultCallback: Pulling image layers:  2 pending,  2 downloaded,  2 extracted, (246 MB/? MB)
2022-08-18T10:27:32,429 INFO  [docker-java-stream--300441755] o.t.i.LoggedPullImageResultCallback: Pull complete. 4 layers, pulled in 30s (downloaded 246 MB at 8 MB/s)
2022-08-18T10:27:32,610 INFO  [main] o.s.t.c.s.AbstractContextLoader: Could not detect default resource locations for test class [de.silab.smartlabel.server.backend.rest.internal.TagDbRestControllerTest]: no resource found for suffixes {-context.xml, Context.groovy}.
2022-08-18T10:27:32,729 INFO  [main] o.s.t.c.s.AbstractTestContextBootstrapper: Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.event.ApplicationEventsTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener]
2022-08-18T10:27:32,742 INFO  [main] o.s.t.c.s.AbstractTestContextBootstrapper: Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@5f2de715, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@5922d3e9, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@7d57dbb5, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@630b6190, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@532e27ab, org.springframework.test.context.support.DirtiesContextTestExecutionListener@1cdc1bbc, org.springframework.test.context.transaction.TransactionalTestExecutionListener@5f95f1e1, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@672a1c62, org.springframework.test.context.event.EventPublishingTestExecutionListener@459b6c53, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@39e69ea7, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@490c7a83, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@7e72a6cc, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@6015a4a5, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@6d0b0da6, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@4779aae6]
2022-08-18T10:27:32,749 INFO  [main] o.t.c.GenericContainer: Creating container for image: quay.io/keycloak/keycloak:19.0.1
2022-08-18T10:27:33,194 INFO  [main] o.t.c.GenericContainer: Container quay.io/keycloak/keycloak:19.0.1 is starting: 56e99ba1ad27b545db821d9f2b9739e3b946de34105b3e4374c2300198870ae0
2022-08-18T10:27:33,626 INFO  [main] o.t.c.w.s.HttpWaitStrategy: /pensive_black: Waiting for 120 seconds for URL: http://localhost:54098/ (where port 54098 maps to container port 8080)
2022-08-18T10:27:33,893 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: Updating the configuration and installing your custom providers, if any. Please wait.
2022-08-18T10:27:41,089 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:41,087 INFO  [io.quarkus.deployment.QuarkusAugmentor] (main) Quarkus augmentation completed in 6327ms
2022-08-18T10:27:42,867 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:41,966 INFO  [org.keycloak.quarkus.runtime.hostname.DefaultHostnameProvider] (main) Hostname settings: FrontEnd: <request>, Strict HTTPS: false, Path: <request>, Strict BackChannel: false, Admin: <request>, Port: -1, Proxied: false
2022-08-18T10:27:42,878 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:42,547 INFO  [org.keycloak.common.crypto.CryptoIntegration] (main) Detected crypto provider: org.keycloak.crypto.def.DefaultCryptoProvider
2022-08-18T10:27:43,363 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:43,361 WARN  [org.infinispan.PERSISTENCE] (keycloak-cache-init) ISPN000554: jboss-marshalling is deprecated and planned for removal
2022-08-18T10:27:43,426 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:43,425 WARN  [org.infinispan.CONFIG] (keycloak-cache-init) ISPN000569: Unable to persist Infinispan internal caches as no global state enabled
2022-08-18T10:27:43,448 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:43,447 INFO  [org.infinispan.CONTAINER] (keycloak-cache-init) ISPN000556: Starting user marshaller 'org.infinispan.jboss.marshalling.core.JBossUserMarshaller'
2022-08-18T10:27:43,625 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:43,623 INFO  [org.infinispan.CONTAINER] (keycloak-cache-init) ISPN000128: Infinispan version: Infinispan 'Triskaidekaphobia' 13.0.9.Final
2022-08-18T10:27:44,418 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:44,416 INFO  [org.keycloak.quarkus.runtime.storage.legacy.liquibase.QuarkusJpaUpdaterProvider] (main) Initializing database schema. Using changelog META-INF/jpa-changelog-master.xml
2022-08-18T10:27:45,892 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:45,891 INFO  [org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory] (main) Node name: node_666023, Site name: null
2022-08-18T10:27:45,958 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:45,957 INFO  [org.keycloak.services] (main) KC-SERVICES0050: Initializing master realm
2022-08-18T10:27:48,745 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:48,743 WARN  [org.keycloak.services] (main) KC-SERVICES0005: Unable to import realm smartlabel-sso from file /opt/keycloak/bin/../data/import/test-realm.json.: java.lang.RuntimeException: Script upload is disabled
2022-08-18T10:27:48,745 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.authorization.policy.provider.js.JSPolicyProviderFactory.throwCanNotUpdatePolicy(JSPolicyProviderFactory.java:130)
2022-08-18T10:27:48,746 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.authorization.policy.provider.js.JSPolicyProviderFactory.onImport(JSPolicyProviderFactory.java:72)
2022-08-18T10:27:48,746 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.models.utils.RepresentationToModel.toModel(RepresentationToModel.java:1216)
2022-08-18T10:27:48,746 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.authorization.AuthorizationProvider$3.create(AuthorizationProvider.java:350)
2022-08-18T10:27:48,746 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.models.utils.RepresentationToModel.importPolicies(RepresentationToModel.java:1138)
2022-08-18T10:27:48,746 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.models.utils.RepresentationToModel.toModel(RepresentationToModel.java:1084)
2022-08-18T10:27:48,746 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.models.utils.RepresentationToModel.importAuthorizationSettings(RepresentationToModel.java:1031)
2022-08-18T10:27:48,747 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.storage.datastore.LegacyExportImportManager.lambda$importRealmAuthorizationSettings$7(LegacyExportImportManager.java:1399)
2022-08-18T10:27:48,747 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
2022-08-18T10:27:48,747 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.storage.datastore.LegacyExportImportManager.importRealmAuthorizationSettings(LegacyExportImportManager.java:1397)
2022-08-18T10:27:48,747 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.storage.datastore.LegacyExportImportManager.importRealm(LegacyExportImportManager.java:393)
2022-08-18T10:27:48,748 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.models.utils.RepresentationToModel.importRealm(RepresentationToModel.java:127)
2022-08-18T10:27:48,748 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.services.managers.RealmManager.importRealm(RealmManager.java:558)
2022-08-18T10:27:48,748 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.services.managers.RealmManager.importRealm(RealmManager.java:496)
2022-08-18T10:27:48,748 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.services.resources.KeycloakApplication.importRealm(KeycloakApplication.java:299)
2022-08-18T10:27:48,748 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.services.resources.KeycloakApplication.importRealms(KeycloakApplication.java:275)
2022-08-18T10:27:48,748 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.services.resources.KeycloakApplication.bootstrap(KeycloakApplication.java:208)
2022-08-18T10:27:48,748 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.quarkus.runtime.integration.jaxrs.QuarkusKeycloakApplication.startup(QuarkusKeycloakApplication.java:43)
2022-08-18T10:27:48,749 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.quarkus.runtime.integration.QuarkusLifecycleObserver.onStartupEvent(QuarkusLifecycleObserver.java:37)
2022-08-18T10:27:48,749 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.quarkus.runtime.integration.QuarkusLifecycleObserver_Observer_onStartupEvent_b0e82415b143738dc1f986a5fa4668e83d0a5dea.notify(Unknown Source)
2022-08-18T10:27:48,749 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:320)
2022-08-18T10:27:48,749 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:302)
2022-08-18T10:27:48,749 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:73)
2022-08-18T10:27:48,749 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:128)
2022-08-18T10:27:48,749 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:97)
2022-08-18T10:27:48,749 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
2022-08-18T10:27:48,750 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
2022-08-18T10:27:48,750 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
2022-08-18T10:27:48,750 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.runtime.Application.start(Application.java:101)
2022-08-18T10:27:48,750 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:103)
2022-08-18T10:27:48,750 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.runtime.Quarkus.run(Quarkus.java:67)
2022-08-18T10:27:48,750 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:103)
2022-08-18T10:27:48,750 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:37)
2022-08-18T10:27:48,750 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
2022-08-18T10:27:48,751 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at picocli.CommandLine.access$1300(CommandLine.java:145)
2022-08-18T10:27:48,751 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
2022-08-18T10:27:48,751 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
2022-08-18T10:27:48,751 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
2022-08-18T10:27:48,751 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
2022-08-18T10:27:48,751 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
2022-08-18T10:27:48,751 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at picocli.CommandLine.execute(CommandLine.java:2078)
2022-08-18T10:27:48,752 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:91)
2022-08-18T10:27:48,752 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:89)
2022-08-18T10:27:48,752 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2022-08-18T10:27:48,752 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2022-08-18T10:27:48,752 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2022-08-18T10:27:48,752 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at java.base/java.lang.reflect.Method.invoke(Method.java:566)
2022-08-18T10:27:48,752 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:60)
2022-08-18T10:27:48,753 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT:  at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:31)
2022-08-18T10:27:48,753 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 
2022-08-18T10:27:48,838 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:48,836 INFO  [io.quarkus] (main) Keycloak 19.0.1 on JVM (powered by Quarkus 2.7.6.Final) started in 7.673s. Listening on: http://0.0.0.0:8080
2022-08-18T10:27:48,838 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:48,837 INFO  [io.quarkus] (main) Profile dev activated. 
2022-08-18T10:27:48,838 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:48,837 INFO  [io.quarkus] (main) Installed features: [agroal, cdi, hibernate-orm, jdbc-h2, jdbc-mariadb, jdbc-mssql, jdbc-mysql, jdbc-oracle, jdbc-postgresql, keycloak, logging-gelf, narayana-jta, reactive-routes, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-health, smallrye-metrics, vault, vertx]
2022-08-18T10:27:48,984 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:48,983 INFO  [org.keycloak.services] (main) KC-SERVICES0009: Added user 'admin' to realm 'master'
2022-08-18T10:27:48,986 INFO  [docker-java-stream-563505127] o.t.c.o.Slf4jLogConsumer: STDOUT: 2022-08-18 08:27:48,985 WARN  [org.keycloak.quarkus.runtime.KeycloakMain] (main) Running the server in development mode. DO NOT use this configuration in production.
2022-08-18T10:27:50,022 INFO  [main] o.t.c.GenericContainer: Container quay.io/keycloak/keycloak:19.0.1 started in PT17.2730603S

Anything else?

No response

dasniko commented 1 year ago

I fear, this is nothing I can fix as the script_upload feature was removed from Keycloak as mentioned here: https://www.keycloak.org/2022/04/keycloak-1800-released.html#_the_deprecated_upload_script_feature_was_removed

Octoate commented 1 year ago

Ah, okay. I understand - that was not clear to me. Hmm... how can I import the test realm into the running Keycloak instance now? Is there a kind of best practice on how to configure the running Keycloak test container?

dasniko commented 1 year ago

Remove the relevant parts from the realm JSON file...

What are the relevant parts? Hmm... that's not so easy to figure out. Most likely, from my experience, there are some authorization nodes in the JSON file. Try to remove them, then import should work. If not... 🤷‍♂️ trial and error until success.

This library is mostly a wrapper around the Keycloak container and provides convenient methods to spin up a Keycloak instance for your tests. There is not additional or special magic behind, I make just use of the things Keycloak offers.

Octoate commented 1 year ago

Thanks a lot for your fast help. I will try my best to get it working :-).

mvmn commented 1 year ago

So, how did you do it?