package jnpf.dmsController.permission; import com.fasterxml.jackson.databind.ObjectMapper; import jnpf.dmsController.DmsControllerTestSupport; import jnpf.dmsEntity.permission.form.AccessExclusionBatchForm; import jnpf.dmsEntity.permission.form.AccessExclusionRevokeForm; import jnpf.dmsEntity.permission.vo.DmsAccessExclusionVO; import jnpf.dmsEntity.permission.vo.DmsCursorPageVO; import jnpf.dmsService.DmsAccessExclusionService; import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.List; import java.util.UUID; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; class AccessExclusionControllerTest extends DmsControllerTestSupport { private final DmsAccessExclusionService service = mock(DmsAccessExclusionService.class); private final AccessExclusionController controller = new AccessExclusionController(service); @Test void delegatesCreatePageAndRevokeWithUnchangedArguments() { UUID resourceId = UUID.randomUUID(); AccessExclusionBatchForm createForm = mock(AccessExclusionBatchForm.class); AccessExclusionRevokeForm revokeForm = mock(AccessExclusionRevokeForm.class); List exclusions = Collections.singletonList(mock(DmsAccessExclusionVO.class)); DmsCursorPageVO page = new DmsCursorPageVO<>(); when(service.create(createForm)).thenReturn(exclusions); when(service.page(resourceId, "user-1", "cursor", 30)).thenReturn(page); when(service.revoke(revokeForm)).thenReturn(exclusions); assertSame(exclusions, controller.create(createForm).getData()); assertSame(page, controller.page(resourceId, "user-1", "cursor", 30).getData()); assertSame(exclusions, controller.revoke(revokeForm).getData()); verify(service).create(createForm); verify(service).page(resourceId, "user-1", "cursor", 30); verify(service).revoke(revokeForm); } @Test void bindsBizSignFromCreateRequestBody() throws Exception { AccessExclusionBatchForm form = new ObjectMapper().readValue( "{\"biz_sign\":\"sign-1\"}", AccessExclusionBatchForm.class); assertEquals("sign-1", form.getBizSign()); } }