暂存提交
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package com.baiyue.iam.repository;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
class SecurityEventSqlContractTest {
|
||||
@Test
|
||||
void securityOutboxHasVersionsAndReliableDeliveryColumns() throws Exception {
|
||||
String sql = new ClassPathResource("db/security-event-outbox.sql")
|
||||
.getContentAsString(StandardCharsets.UTF_8);
|
||||
assertThat(sql)
|
||||
.contains("iam_security_subject_version")
|
||||
.contains("permission_version BIGINT NOT NULL DEFAULT 0")
|
||||
.contains("iam_security_tenant_version")
|
||||
.contains("status_version BIGINT NOT NULL DEFAULT 0")
|
||||
.contains("iam_security_event_outbox")
|
||||
.contains("payload_json JSON NOT NULL")
|
||||
.contains("idx_security_outbox_publish")
|
||||
.contains("PENDING", "SENDING", "SENT", "DEAD");
|
||||
}
|
||||
|
||||
@Test
|
||||
void unifiedMigrationIncludesSecurityEventSchemaAndAssertion() throws Exception {
|
||||
Path direct = Path.of("deploy", "sql", "头程数据库统一增量-MySQL8.sql");
|
||||
Path migration = Files.exists(direct)
|
||||
? direct : Path.of("..", "deploy", "sql", "头程数据库统一增量-MySQL8.sql").normalize();
|
||||
String sql = Files.readString(migration, StandardCharsets.UTF_8);
|
||||
assertThat(sql)
|
||||
.contains("CREATE TABLE IF NOT EXISTS iam_security_subject_version")
|
||||
.contains("CREATE TABLE IF NOT EXISTS iam_security_tenant_version")
|
||||
.contains("CREATE TABLE IF NOT EXISTS iam_security_event_outbox")
|
||||
.contains("idx_security_outbox_publish", "idx_security_outbox_aggregate")
|
||||
.contains("CALL assert_iam_security_event_schema();");
|
||||
assertThat(sql.indexOf("CALL assert_iam_security_event_schema();"))
|
||||
.isLessThan(sql.lastIndexOf("SELECT 'PASS' AS migration_status"));
|
||||
}
|
||||
}
|
||||
@@ -33,6 +33,7 @@ class MemberServiceTest {
|
||||
@MockBean private TenantRepository tenantRepository;
|
||||
@MockBean private IamRoleMapper roleMapper;
|
||||
@MockBean private AuthAccountClient auth;
|
||||
@MockBean private SecurityEventOutboxService securityEvents;
|
||||
@Resource private MemberService service;
|
||||
private IamMembership member;
|
||||
private IamUser user;
|
||||
|
||||
@@ -30,6 +30,7 @@ class PlatformInternalUserServiceTest {
|
||||
@MockBean private MemberRepository repository;
|
||||
@MockBean private IamRoleMapper roleMapper;
|
||||
@MockBean private AuthAccountClient auth;
|
||||
@MockBean private SecurityEventOutboxService securityEvents;
|
||||
@Resource private PlatformInternalUserService service;
|
||||
private IamMembership membership;
|
||||
private IamUser user;
|
||||
|
||||
@@ -31,6 +31,7 @@ class PlatformUserManagementServiceTest {
|
||||
@MockBean private MemberRepository members;
|
||||
@MockBean private IamRoleMapper roles;
|
||||
@MockBean private AuthAccountClient auth;
|
||||
@MockBean private SecurityEventOutboxService securityEvents;
|
||||
@Resource private PlatformUserManagementService service;
|
||||
private IamRole platformRole;
|
||||
private IamMembership membership;
|
||||
|
||||
@@ -39,6 +39,7 @@ class RbacServiceTest {
|
||||
@MockBean private RbacRepository repository;
|
||||
@MockBean private MemberRepository memberRepository;
|
||||
@MockBean private AuthAccountClient authClient;
|
||||
@MockBean private SecurityEventOutboxService securityEvents;
|
||||
@Resource private RbacService service;
|
||||
|
||||
@Test
|
||||
|
||||
@@ -28,6 +28,7 @@ class TenantCustomerExportTest {
|
||||
@MockBean private CustomerDimensionRuleInitializationService dimensionRuleInitialization;
|
||||
@MockBean private OverseasStorageFeeInitializationService overseasStorageFeeInitialization;
|
||||
@MockBean private TenantAdministratorProvisioningService administratorProvisioning;
|
||||
@MockBean private SecurityEventOutboxService securityEvents;
|
||||
@Resource private TenantService service;
|
||||
@Test
|
||||
void returnsUnmaskedCustomerRowsAndAdvancingCursor() {
|
||||
|
||||
@@ -53,6 +53,7 @@ class TenantServiceTest {
|
||||
@MockBean private MemberRepository members;
|
||||
@MockBean private IamRoleMapper roles;
|
||||
@MockBean private AuthAccountClient authClient;
|
||||
@MockBean private SecurityEventOutboxService securityEvents;
|
||||
@MockBean private CustomerDimensionRuleInitializationService dimensionRuleInitialization;
|
||||
@MockBean private OverseasStorageFeeInitializationService overseasStorageFeeInitialization;
|
||||
@SpyBean private TenantAdministratorProvisioningService provisioning;
|
||||
|
||||
Reference in New Issue
Block a user