package jnpf.elnController; import jnpf.eln.RecordFreezeApi; import jnpf.eln.RecordFreezeCheckRequest; import jnpf.eln.RecordFreezeReleaseRequest; import jnpf.util.NoDataSourceBind; import org.junit.Test; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; public class ElnRecordFreezeInternalControllerTest { @Test public void internalControllerSharesFeignContractAndSuppressesDatasourceBinding() throws Exception { FeignClient feign = RecordFreezeApi.class.getAnnotation(FeignClient.class); assertEquals("jnpf-eln", feign.name()); assertEquals("/Internal/eln/recordFreeze", feign.path()); assertEquals("/prepare", RecordFreezeApi.class.getMethod("prepare", RecordFreezeCheckRequest.class) .getAnnotation(PostMapping.class).value()[0]); assertEquals("/release", RecordFreezeApi.class.getMethod("release", RecordFreezeReleaseRequest.class) .getAnnotation(PostMapping.class).value()[0]); assertNotNull(ElnRecordFreezeInternalController.class.getMethod("prepare", RecordFreezeCheckRequest.class) .getAnnotation(NoDataSourceBind.class)); assertNotNull(ElnRecordFreezeInternalController.class.getMethod("release", RecordFreezeReleaseRequest.class) .getAnnotation(NoDataSourceBind.class)); } }