package jnpf.dmsPermission;
|
|
import org.junit.jupiter.api.Test;
|
|
import java.util.Collections;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
|
class DmsTrustedServiceGuardTest {
|
|
@Test
|
void failsClosedWhenWhitelistIsEmpty() {
|
DmsPermissionProperties properties = new DmsPermissionProperties();
|
DmsTrustedServiceGuard guard = new DmsTrustedServiceGuard(properties);
|
|
DmsPermissionException exception = assertThrows(DmsPermissionException.class,
|
() -> guard.requireAllowed("jnpf-file"));
|
|
assertEquals(DmsPermissionError.TRUSTED_SERVICE_REQUIRED, exception.getError());
|
}
|
|
@Test
|
void acceptsOnlyExactConfiguredServiceId() {
|
DmsPermissionProperties properties = new DmsPermissionProperties();
|
properties.setResourceRegistrationServiceIds(Collections.singleton("jnpf-file"));
|
DmsTrustedServiceGuard guard = new DmsTrustedServiceGuard(properties);
|
|
assertEquals("jnpf-file", guard.requireAllowed(" jnpf-file "));
|
assertThrows(DmsPermissionException.class, () -> guard.requireAllowed("JNPF-FILE"));
|
}
|
}
|