Files
Book-management-system/src/test/java/com/mzh/library/service/PermissionPolicyCheck.java
T

28 lines
1.2 KiB
Java

package com.mzh.library.service;
import com.mzh.library.entity.Permission;
import com.mzh.library.entity.Role;
public final class PermissionPolicyCheck {
private PermissionPolicyCheck() {
}
public static void main(String[] args) {
PermissionPolicy policy = new PermissionPolicy();
require(policy.allows(Role.ADMINISTRATOR, Permission.MANAGE_USERS), "administrator should manage users");
require(policy.allows(Role.LIBRARIAN, Permission.MANAGE_BORROWING), "librarian should manage borrowing");
require(policy.allows(Role.LIBRARIAN, Permission.MANAGE_READERS), "librarian should manage readers");
require(!policy.allows(Role.LIBRARIAN, Permission.MANAGE_USERS), "librarian should not manage users");
require(policy.allows(Role.READER, Permission.VIEW_CATALOG), "reader should view catalog");
require(!policy.allows(Role.READER, Permission.MANAGE_BOOKS), "reader should not manage books");
require(!policy.allows(Role.READER, Permission.MANAGE_READERS), "reader should not manage readers");
}
private static void require(boolean condition, String message) {
if (!condition) {
throw new AssertionError(message);
}
}
}