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")); } }