package com.ruoyi.web.controller.system; 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 TTestControllerContractTest { @Test void configurationEndpointsKeepServerSidePermissions() throws Exception { assertPermission("options", "@ss.hasAnyPermi('system:test:add,system:test:edit')"); assertPermission("getInfo", "@ss.hasPermi('system:test:query')", Long.class); assertPermission("add", "@ss.hasPermi('system:test:add')", com.ruoyi.system.domain.TTest.class); assertPermission("edit", "@ss.hasPermi('system:test:edit')", com.ruoyi.system.domain.TTest.class); } private void assertPermission(String methodName, String permission, Class... parameterTypes) throws Exception { Method method = TTestController.class.getMethod(methodName, parameterTypes); assertEquals(permission, method.getAnnotation(PreAuthorize.class).value()); } }