package org.jboss.resteasy.test.util; import org.jboss.resteasy.spi.touri.ObjectToURI; import org.jboss.resteasy.spi.touri.URIResolver; import org.jboss.resteasy.test.util.resource.ObjectToURICustomURIableObject; import org.jboss.resteasy.test.util.resource.ObjectToURIMappedByObject; import org.jboss.resteasy.test.util.resource.ObjectToURITemplateObject; import org.jboss.resteasy.test.util.resource.ObjectToURIableObject; import org.junit.Assert; import org.junit.Test; /** * @tpSubChapter Util tests * @tpChapter Unit tests * @tpTestCaseDetails Test for org.jboss.resteasy.spi.touri.ObjectToRUI class. * @tpSince RESTEasy 3.0.16 */ public class ObjectToURITest { private static final String ERROR_MSG = "Wrong conversion to URI"; /** * @tpTestDetails Check default resolvers. * @tpSince RESTEasy 3.0.16 */ @Test public void testDefaultResolvers() { ObjectToURI instance = ObjectToURI.getInstance(); Assert.assertEquals(ERROR_MSG, "/foo/123", instance.resolveURI(new ObjectToURITemplateObject(123))); Assert.assertEquals(ERROR_MSG, "/my-url", instance.resolveURI(new ObjectToURIableObject())); Assert.assertEquals(ERROR_MSG, "/foo/123", instance.resolveURI(new ObjectToURIMappedByObject(123))); } /** * @tpTestDetails Check custom resolvers. * @tpSince RESTEasy 3.0.16 */ @Test public void testCustomResolver() { ObjectToURI instance = ObjectToURI.getInstance(); ObjectToURICustomURIableObject custom = new ObjectToURICustomURIableObject(); Assert.assertEquals(ERROR_MSG, "/my-url", instance.resolveURI(custom)); instance.registerURIResolver(new URIResolver() { public boolean handles(Class<?> type) { return type == ObjectToURICustomURIableObject.class; } public String resolveURI(Object object) { return "/some-other-uri"; } }); Assert.assertEquals(ERROR_MSG, "/some-other-uri", instance.resolveURI(custom)); } }