You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
2.1 KiB
Java
42 lines
2.1 KiB
Java
package com.yau.digitalrmb.identity;
|
|
|
|
import com.yau.digitalrmb.identity.application.PlatformCredentialInitializer;
|
|
import com.yau.digitalrmb.identity.application.PlatformIdentityProjectionService;
|
|
import com.yau.digitalrmb.platformintegration.application.PlatformCredentialRepository;
|
|
import com.yau.digitalrmb.platformintegration.application.PlatformIdentityRepository;
|
|
import com.yau.digitalrmb.platformintegration.config.PlatformIntegrationProperties;
|
|
import com.yau.digitalrmb.platformintegration.domain.PlatformActor;
|
|
import com.yau.digitalrmb.platformintegration.domain.PlatformCredential;
|
|
import com.yau.digitalrmb.platformintegration.domain.PlatformRole;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.springframework.boot.DefaultApplicationArguments;
|
|
|
|
import java.time.Instant;
|
|
import java.util.List;
|
|
import java.util.Optional;
|
|
|
|
import static org.mockito.Mockito.mock;
|
|
import static org.mockito.Mockito.verify;
|
|
import static org.mockito.Mockito.when;
|
|
|
|
class PlatformCredentialInitializerTest {
|
|
@Test
|
|
void initializesOnlyConfiguredPlatformAccount() throws Exception {
|
|
PlatformIdentityRepository identities = mock(PlatformIdentityRepository.class);
|
|
PlatformCredentialRepository credentials = mock(PlatformCredentialRepository.class);
|
|
PlatformIdentityProjectionService projection = mock(PlatformIdentityProjectionService.class);
|
|
PlatformIntegrationProperties properties = new PlatformIntegrationProperties();
|
|
properties.getLocalLogin().setInitialAccounts(List.of("tzs001"));
|
|
PlatformActor actor = new PlatformActor(301L, 3L, "tzs001", "教师", PlatformRole.TEACHER,
|
|
Instant.parse("2026-01-01T00:00:00Z"));
|
|
PlatformCredential credential = new PlatformCredential(actor, "123qwe");
|
|
when(identities.findBySchoolAccount("tzs001")).thenReturn(Optional.of(actor));
|
|
when(credentials.findCredential(301L)).thenReturn(Optional.of(credential));
|
|
|
|
new PlatformCredentialInitializer(properties, identities, credentials, projection)
|
|
.run(new DefaultApplicationArguments());
|
|
|
|
verify(projection).project(credential);
|
|
}
|
|
}
|