package org.jboss.resteasy.test.resource; import org.jboss.resteasy.spi.ResteasyProviderFactory; import org.jboss.resteasy.test.resource.resource.ContextResolver1; import org.jboss.resteasy.test.resource.resource.ContextResolver2; import org.jboss.resteasy.test.resource.resource.ContextResolver3; import org.jboss.resteasy.test.resource.resource.ContextResolver4; import org.jboss.resteasy.test.resource.resource.ContextResolver5; import org.jboss.resteasy.test.resource.resource.ContextResolver6; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import javax.ws.rs.core.MediaType; import javax.ws.rs.ext.ContextResolver; /** * @tpSubChapter Resource * @tpChapter Unit tests * @tpTestCaseDetails Test for javax.ws.rs.ext.ContextResolver class. * @tpSince RESTEasy 3.0.16 */ public class ContextResolverTest { @BeforeClass public static void before() { ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance(); factory.registerProvider(ContextResolver1.class); factory.registerProvider(ContextResolver2.class); factory.registerProvider(ContextResolver3.class); factory.registerProvider(ContextResolver4.class); factory.registerProvider(ContextResolver5.class); factory.registerProvider(ContextResolver6.class); } /** * @tpTestDetails Test contexts for various types. * @tpSince RESTEasy 3.0.16 */ @Test public void testContextResolver() { String errMsg = "Failed to get context by ContextResolver"; ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance(); ContextResolver<String> resolver = factory.getContextResolver(String.class, MediaType.TEXT_PLAIN_TYPE); Assert.assertEquals(errMsg, resolver.getContext(int.class), "2"); Assert.assertEquals(errMsg, resolver.getContext(float.class), "5"); resolver = factory.getContextResolver(String.class, MediaType.TEXT_XML_TYPE); Assert.assertEquals(errMsg, resolver.getContext(int.class), "3"); Assert.assertEquals(errMsg, resolver.getContext(float.class), "6"); resolver = factory.getContextResolver(String.class, MediaType.APPLICATION_ATOM_XML_TYPE); Assert.assertEquals(errMsg, resolver.getContext(int.class), "1"); Assert.assertEquals(errMsg, resolver.getContext(float.class), "4"); Assert.assertNull("Unexpected context was returned by ContextResolver", resolver.getContext(double.class)); Assert.assertNull("Unexpected context was returned by ContextResolver", factory.getContextResolver(Double.class, MediaType.APPLICATION_ATOM_XML_TYPE)); } }