You've already forked Arcturus-Morningstar-Extended
mirror of
https://github.com/duckietm/Arcturus-Morningstar-Extended.git
synced 2026-06-20 07:26:18 +00:00
Merge pull request #233 from simoleo89/fix/permissions-inputs
fix(permissions): fail closed on stale ranks
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
||||
package com.eu.habbo.habbohotel.permissions;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
class PermissionSettingContractTest {
|
||||
|
||||
@Test
|
||||
void unknownPermissionValuesFailClosed() {
|
||||
assertEquals(PermissionSetting.DISALLOWED, PermissionSetting.fromString(null));
|
||||
assertEquals(PermissionSetting.DISALLOWED, PermissionSetting.fromString(""));
|
||||
assertEquals(PermissionSetting.DISALLOWED, PermissionSetting.fromString("999"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void knownPermissionValuesMapToExplicitSettings() {
|
||||
assertEquals(PermissionSetting.ALLOWED, PermissionSetting.fromString("1"));
|
||||
assertEquals(PermissionSetting.ROOM_OWNER, PermissionSetting.fromString("2"));
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
package com.eu.habbo.habbohotel.permissions;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
class RankPermissionContractTest {
|
||||
|
||||
@Test
|
||||
void missingPermissionsFailClosed() {
|
||||
Rank rank = new Rank(1);
|
||||
|
||||
assertFalse(rank.hasPermission(null, false));
|
||||
assertFalse(rank.hasPermission("", false));
|
||||
assertFalse(rank.hasPermission("acc_supporttool", false));
|
||||
}
|
||||
|
||||
@Test
|
||||
void roomOwnerPermissionOnlyPassesWithRoomRights() {
|
||||
Rank rank = new Rank(1);
|
||||
rank.setPermission("acc_placefurni", PermissionSetting.ROOM_OWNER);
|
||||
|
||||
assertFalse(rank.hasPermission("acc_placefurni", false));
|
||||
assertTrue(rank.hasPermission("acc_placefurni", true));
|
||||
}
|
||||
|
||||
@Test
|
||||
void allowedPermissionPassesWithoutRoomRights() {
|
||||
Rank rank = new Rank(1);
|
||||
rank.setPermission("acc_supporttool", PermissionSetting.ALLOWED);
|
||||
|
||||
assertTrue(rank.hasPermission("acc_supporttool", false));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user