yeg
2026-09-05 f522c9ffa487e3710d691e8b98df8c4f0cfafd43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.battery.business.web.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.battery.business.domain.TDeviceAdapter.class);
        assertPermission("edit", "@ss.hasPermi('system:deviceAdapter:edit')", com.battery.business.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());
    }
}