/** * */ package org.minnal.instrument.resource.metadata; import static org.testng.Assert.assertEquals; import javax.ws.rs.GET; import javax.ws.rs.HttpMethod; import javax.ws.rs.Path; import org.testng.annotations.Test; /** * @author ganeshs * */ public class ResourceMetaDataBuilderTest { @Test public void shouldBuildResourceMetaData() throws Exception { ResourceMetaDataBuilder builder = new ResourceMetaDataBuilder(DummyResource.class); ResourceMetaData metaData = builder.build(); assertEquals(metaData.getResourceMethods().size(), 1); assertEquals(metaData.getResourceMethods().iterator().next(), new ResourceMethodMetaData("/dummy/sub1", HttpMethod.GET, DummyResource.class.getMethod("getMethod"))); } @Test public void shouldBuildSubResourceMetaData() throws Exception { ResourceMetaDataBuilder builder = new ResourceMetaDataBuilder(DummyResource.class); ResourceMetaData metaData = builder.build(); assertEquals(metaData.getSubResources().size(), 1); ResourceMetaData subResource = metaData.getSubResources().iterator().next(); assertEquals(subResource.getResourceMethods().size(), 1); assertEquals(subResource.getResourceMethods().iterator().next(), new ResourceMethodMetaData("/dummy/sub/get", HttpMethod.GET, DummySubResource.class.getMethod("subGetMethod"))); } @Path("/dummy") public static class DummyResource { @Path("/sub") public DummySubResource subResource() {return null;} @GET @Path("/sub1") public void getMethod() {} } public static class DummySubResource { @GET @Path("/get") public void subGetMethod() {} } }