diff --git a/src/main/resources/application-taas.yaml b/src/main/resources/application-taas.yaml index 79baad4..f294b0d 100644 --- a/src/main/resources/application-taas.yaml +++ b/src/main/resources/application-taas.yaml @@ -6,11 +6,31 @@ fforesight: accessTokenLifeSpan: 3600 ssoSessionIdleTimeout: 86400 realm: master - default-theme: 'taas' + default-theme: 'clarifynd' valid-redirect-uris: [ '/taas-search/*','/tenant-user-management/*','http://localhost:4200/*', 'http://localhost:4300/*', '/ui/*' ,'/auth/*','/taas-persistence/*' ] kc-role-mapping: roles: - - name: SUPER_USER + - name: FF_USER + set-by-default: true + rank: 100 + permissions: + - 'fforesight-read-general-configuration' + - 'fforesight-manage-user-preferences' + - 'fforesight-read-users' + - 'fforesight-read-all-users' + - 'fforesight-update-my-profile' + - 'fforesight-get-tenants' + - 'fforesight-deployment-info' + - 'fforesight-read-smtp-configuration' + - 'fforesight-search' + - 'fforesight-view-document' + - 'fforesight-user-upload-files' + - 'fforesight-user-manage-files' + - 'fforesight-user-view-files' + - 'fforesight-user-manage-analysis' + - 'fforesight-user-view-analysis' + - 'fforesight-download-file' + - name: FF_ADMIN set-by-default: true rank: 100 permissions: @@ -28,13 +48,17 @@ fforesight: - 'fforesight-write-smtp-configuration' - 'fforesight-search' - 'fforesight-view-document' - - 'fforesight-upload-files' - - 'fforesight-delete-files' - - 'fforesight-manage-files' - - 'fforesight-view-files' - - 'fforesight-view-internal-file-data' - - 'fforesight-view-analysis-data' - - 'fforesight-trigger-analysis' + - 'fforesight-user-upload-files' + - 'fforesight-user-manage-files' + - 'fforesight-user-view-files' + - 'fforesight-user-manage-analysis' + - 'fforesight-user-view-analysis' + - 'fforesight-system-upload-files' + - 'fforesight-system-manage-files' + - 'fforesight-system-view-files' + - 'fforesight-system-manage-analysis' + - 'fforesight-system-view-analysis' + - 'fforesight-download-file' - 'taas-bdr-connector-view-tasks' - 'taas-bdr-connector-start-task' - 'taas-bdr-connector-stop-task' diff --git a/src/test/java/com/knecon/fforesight/utils/TenantSyncUtils.java b/src/test/java/com/knecon/fforesight/utils/TenantSyncUtils.java new file mode 100644 index 0000000..f058134 --- /dev/null +++ b/src/test/java/com/knecon/fforesight/utils/TenantSyncUtils.java @@ -0,0 +1,76 @@ +package com.knecon.fforesight.utils; + +import static org.mockito.Mockito.when; + +import java.util.concurrent.TimeUnit; + +import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder; +import org.jboss.resteasy.client.jaxrs.internal.ResteasyClientBuilderImpl; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.keycloak.OAuth2Constants; +import org.keycloak.admin.client.KeycloakBuilder; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.Import; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +import com.knecon.fforesight.AbstractTenantUserManagementIntegrationTest; +import com.knecon.fforesight.feigntestclients.external.TenantsClient; +import com.knecon.fforesight.feigntestclients.internal.InternalTenantsClient; +import com.knecon.fforesight.tenantusermanagement.TenantUserManagementServiceApplication; +import com.knecon.fforesight.tenantusermanagement.service.KeyCloakRoleManagerService; +import com.knecon.fforesight.tenantusermanagement.service.RealmService; + +@ActiveProfiles(profiles = "taas") +@ExtendWith(SpringExtension.class) +@EnableFeignClients(basePackageClasses = {TenantsClient.class, InternalTenantsClient.class}) +@Import(AbstractTenantUserManagementIntegrationTest.TestConfiguration.class) +@SpringBootTest(classes = TenantUserManagementServiceApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) +public class TenantSyncUtils { + + private final static String SERVER_URL = "https://taas-staging.knecon.com/auth"; + private final static String REALM = "taas"; + private final static String CLIENT_ID = "taas"; + private final static String CLIENT_SECRET = "MJOvReKpRpsTdSEmQQnIJX89DQAwXwiF"; + + @MockBean + RabbitTemplate rabbitTemplate; + + @MockBean + RealmService realmService; + + @Autowired + KeyCloakRoleManagerService keyCloakRoleManagerService; + + +// @Test +// @Disabled + public void syncTenant() { + + var adminClient = KeycloakBuilder.builder() + .serverUrl(SERVER_URL) + .realm("master") + .clientId(CLIENT_ID) + .clientSecret(CLIENT_SECRET) + .grantType(OAuth2Constants.CLIENT_CREDENTIALS) + .resteasyClient(new ResteasyClientBuilderImpl().connectionTTL(2, TimeUnit.SECONDS) + .hostnameVerification(ResteasyClientBuilder.HostnameVerificationPolicy.ANY) + .connectionPoolSize(10) + .disableTrustManager() + .build()) + .build(); + + var realm = adminClient.realm(REALM); + + when(realmService.realm(REALM)).thenReturn(realm); + + keyCloakRoleManagerService.updateRoles(REALM); + } + +}