package com.ruoyi.web.controller.device;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import java.lang.reflect.Method;
|
import org.junit.jupiter.api.Test;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
class DeviceAdapterControllerPermissionTest
|
{
|
@Test
|
void protectsEachAdapterOperationWithItsOwnRuoyiPermission() throws Exception
|
{
|
assertPermission("list", "@ss.hasPermi('system:deviceAdapter:list')");
|
assertPermission("getInfo", "@ss.hasPermi('system:deviceAdapter:query')", Long.class);
|
assertPermission("add", "@ss.hasPermi('system:deviceAdapter:add')", com.ruoyi.system.domain.TDeviceAdapter.class);
|
assertPermission("edit", "@ss.hasPermi('system:deviceAdapter:edit')", com.ruoyi.system.domain.TDeviceAdapter.class);
|
assertPermission("changeStatus", "@ss.hasPermi('system:deviceAdapter:changeStatus')",
|
Long.class, DeviceAdapterController.StatusCommand.class);
|
assertPermission("discover", "@ss.hasPermi('system:deviceAdapter:discover')", Long.class);
|
assertPermission("channels", "@ss.hasPermi('system:deviceAdapter:list')", Long.class);
|
}
|
|
private void assertPermission(String methodName, String expected, Class<?>... parameterTypes) throws Exception
|
{
|
Method method = DeviceAdapterController.class.getMethod(methodName, parameterTypes);
|
assertEquals(expected, method.getAnnotation(PreAuthorize.class).value());
|
}
|
}
|