RED-5504 - Prevent using exact same database schema/buckets/index for multiple tenants
- update junit test
This commit is contained in:
parent
308811f942
commit
de8d1178e7
@ -12,11 +12,13 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.iqser.red.keycloak.commons.roles.ApplicationRoles;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.TenantsClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.AzureStorageConnection;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.DatabaseConnection;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.RedUser;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.S3StorageConnection;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.SearchConnection;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.TenantRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.TenantResponse;
|
||||
|
||||
import feign.FeignException;
|
||||
|
||||
@ -72,6 +74,8 @@ public class TenantsTest extends AbstractPersistenceServerServiceTest {
|
||||
@Test
|
||||
public void testCreateTenantWithDuplicateStorageS3() {
|
||||
|
||||
TenantResponse firstTenant = tenantsClient.getTenants().get(0);
|
||||
|
||||
var tenantRequest = TenantRequest.builder()
|
||||
.tenantId("redaction2")
|
||||
.displayName("Redaction default2")
|
||||
@ -79,7 +83,7 @@ public class TenantsTest extends AbstractPersistenceServerServiceTest {
|
||||
.databaseConnection(DatabaseConnection.builder()
|
||||
.driver("postgresql")
|
||||
.host("localhost")
|
||||
.port("port")
|
||||
.port(firstTenant.getDatabaseConnection().getPort())
|
||||
.database("redaction")
|
||||
.schema("myschema2")
|
||||
.username("redaction")
|
||||
@ -112,4 +116,79 @@ public class TenantsTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(e.status()).isEqualTo(409);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateTenantWithDuplicateAzure() {
|
||||
|
||||
TenantResponse firstTenant = tenantsClient.getTenants().get(0);
|
||||
|
||||
var tenantRequest = TenantRequest.builder()
|
||||
.tenantId("redaction2")
|
||||
.displayName("Redaction default2")
|
||||
.guid(UUID.randomUUID().toString())
|
||||
.databaseConnection(DatabaseConnection.builder()
|
||||
.driver("postgresql")
|
||||
.host("localhost")
|
||||
.port(firstTenant.getDatabaseConnection().getPort())
|
||||
.database("redaction")
|
||||
.schema("myschema2")
|
||||
.username("redaction")
|
||||
.password("redaction")
|
||||
.build())
|
||||
.searchConnection(SearchConnection.builder()
|
||||
.hosts(Set.of("elasticsearchHost2"))
|
||||
.port(9200)
|
||||
.scheme("https2")
|
||||
.username("elastic")
|
||||
.numberOfShards("1")
|
||||
.numberOfReplicas("5")
|
||||
.build())
|
||||
.azureStorageConnection(AzureStorageConnection.builder()
|
||||
.connectionString("connection")
|
||||
.containerName("container")
|
||||
.build())
|
||||
.redUsers(List.of(RedUser.builder().username("user").password("password").redRoles(ApplicationRoles.ROLE_DATA.keySet()).build(),
|
||||
RedUser.builder().username("manageradmin1@test.com").password("secret").redRoles(ApplicationRoles.ROLE_DATA.keySet()).build(),
|
||||
RedUser.builder().username("manageradmin2@test.com").password("secret").redRoles(ApplicationRoles.ROLE_DATA.keySet()).build()))
|
||||
.build();
|
||||
|
||||
tenantsClient.createTenant(tenantRequest);
|
||||
assertThat(tenantsClient.getTenants().size()).isEqualTo(2);
|
||||
|
||||
var tenantRequest2 = TenantRequest.builder()
|
||||
.tenantId("redaction2")
|
||||
.displayName("Redaction default2")
|
||||
.guid(UUID.randomUUID().toString())
|
||||
.databaseConnection(DatabaseConnection.builder()
|
||||
.driver("postgresql")
|
||||
.host("localhost")
|
||||
.port(firstTenant.getDatabaseConnection().getPort())
|
||||
.database("redaction")
|
||||
.schema("myschema3")
|
||||
.username("redaction")
|
||||
.password("redaction")
|
||||
.build())
|
||||
.searchConnection(SearchConnection.builder()
|
||||
.hosts(Set.of("elasticsearchHost2"))
|
||||
.port(9200)
|
||||
.scheme("https2")
|
||||
.username("elastic")
|
||||
.numberOfShards("1")
|
||||
.numberOfReplicas("5")
|
||||
.build())
|
||||
.azureStorageConnection(AzureStorageConnection.builder()
|
||||
.connectionString("connection")
|
||||
.containerName("container")
|
||||
.build())
|
||||
.redUsers(List.of(RedUser.builder().username("user").password("password").redRoles(ApplicationRoles.ROLE_DATA.keySet()).build(),
|
||||
RedUser.builder().username("manageradmin1@test.com").password("secret").redRoles(ApplicationRoles.ROLE_DATA.keySet()).build(),
|
||||
RedUser.builder().username("manageradmin2@test.com").password("secret").redRoles(ApplicationRoles.ROLE_DATA.keySet()).build()))
|
||||
.build();
|
||||
|
||||
try {
|
||||
tenantsClient.createTenant(tenantRequest2);
|
||||
} catch(FeignException e) {
|
||||
assertThat(e.status()).isEqualTo(409);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user