X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2Ftest%2FMediaTypesTest.java;h=319603dfc14b1f6a4965d6de46e99bf1a6199f8f;hp=e1d7e6a62447d3b1145c4bb672267ec77e4fc762;hb=0c3deecf9e9f8e5eb2c099c784f417f938134c89;hpb=24fa75eae25771889b94c316f55282c39795d166 diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/MediaTypesTest.java b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/MediaTypesTest.java index e1d7e6a624..319603dfc1 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/MediaTypesTest.java +++ b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/MediaTypesTest.java @@ -15,7 +15,6 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.opendaylight.controller.sal.restconf.impl.test.RestOperationUtils.JSON; import static org.opendaylight.controller.sal.restconf.impl.test.RestOperationUtils.XML; -import static org.opendaylight.controller.sal.restconf.impl.test.RestOperationUtils.createUri; import java.io.IOException; import java.io.InputStream; @@ -24,6 +23,7 @@ import java.io.UnsupportedEncodingException; import javax.ws.rs.client.Entity; import javax.ws.rs.core.Application; import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.UriInfo; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.test.JerseyTest; @@ -38,11 +38,11 @@ import org.opendaylight.controller.sal.rest.impl.XmlToCompositeNodeProvider; import org.opendaylight.yangtools.yang.data.api.CompositeNode; public class MediaTypesTest extends JerseyTest { - + private static RestconfService restconfService; private static String jsonData; private static String xmlData; - + @BeforeClass public static void init() throws IOException { restconfService = mock(RestconfService.class); @@ -51,7 +51,7 @@ public class MediaTypesTest extends JerseyTest { InputStream xmlStream = RestconfImplTest.class.getResourceAsStream("/parts/ietf-interfaces_interfaces.xml"); xmlData = TestUtils.getDocumentInPrintableForm(TestUtils.loadDocumentFrom(xmlStream)); } - + @Override protected Application configure() { /* enable/disable Jersey logs to console */ @@ -65,12 +65,12 @@ public class MediaTypesTest extends JerseyTest { JsonToCompositeNodeProvider.INSTANCE); return resourceConfig; } - + @Test public void testPostOperationsWithInputDataMediaTypes() throws UnsupportedEncodingException { String uriPrefix = "/operations/"; String uriPath = "ietf-interfaces:interfaces"; - String uri = createUri(uriPrefix, uriPath); + String uri = uriPrefix + uriPath; when(restconfService.invokeRpc(eq(uriPath), any(CompositeNode.class))).thenReturn(null); post(uri, Draft02.MediaTypes.OPERATION+JSON, Draft02.MediaTypes.OPERATION+JSON, jsonData); verify(restconfService, times(1)).invokeRpc(eq(uriPath), any(CompositeNode.class)); @@ -84,63 +84,63 @@ public class MediaTypesTest extends JerseyTest { verify(restconfService, times(5)).invokeRpc(eq(uriPath), any(CompositeNode.class)); post(uri, null, MediaType.TEXT_XML, xmlData); verify(restconfService, times(6)).invokeRpc(eq(uriPath), any(CompositeNode.class)); - + // negative tests post(uri, MediaType.TEXT_PLAIN, MediaType.TEXT_XML, xmlData); verify(restconfService, times(6)).invokeRpc(eq(uriPath), any(CompositeNode.class)); post(uri, MediaType.TEXT_XML, MediaType.TEXT_PLAIN, xmlData); verify(restconfService, times(6)).invokeRpc(eq(uriPath), any(CompositeNode.class)); } - + @Test public void testGetConfigMediaTypes() throws UnsupportedEncodingException { String uriPrefix = "/config/"; String uriPath = "ietf-interfaces:interfaces"; - String uri = createUri(uriPrefix, uriPath); - when(restconfService.readConfigurationData(uriPath)).thenReturn(null); + String uri = uriPrefix + uriPath; + when(restconfService.readConfigurationData(eq(uriPath), any(UriInfo.class))).thenReturn(null); get(uri, Draft02.MediaTypes.DATA+JSON); - verify(restconfService, times(1)).readConfigurationData(uriPath); + verify(restconfService, times(1)).readConfigurationData(eq(uriPath), any(UriInfo.class)); get(uri, Draft02.MediaTypes.DATA+XML); - verify(restconfService, times(2)).readConfigurationData(uriPath); + verify(restconfService, times(2)).readConfigurationData(eq(uriPath), any(UriInfo.class)); get(uri, MediaType.APPLICATION_JSON); - verify(restconfService, times(3)).readConfigurationData(uriPath); + verify(restconfService, times(3)).readConfigurationData(eq(uriPath), any(UriInfo.class)); get(uri, MediaType.APPLICATION_XML); - verify(restconfService, times(4)).readConfigurationData(uriPath); + verify(restconfService, times(4)).readConfigurationData(eq(uriPath), any(UriInfo.class)); get(uri, MediaType.TEXT_XML); - verify(restconfService, times(5)).readConfigurationData(uriPath); - + verify(restconfService, times(5)).readConfigurationData(eq(uriPath), any(UriInfo.class)); + // negative tests get(uri, MediaType.TEXT_PLAIN); - verify(restconfService, times(5)).readConfigurationData(uriPath); + verify(restconfService, times(5)).readConfigurationData(eq(uriPath), any(UriInfo.class)); } - + @Test public void testGetOperationalMediaTypes() throws UnsupportedEncodingException { String uriPrefix = "/operational/"; String uriPath = "ietf-interfaces:interfaces"; - String uri = createUri(uriPrefix, uriPath); - when(restconfService.readOperationalData(uriPath)).thenReturn(null); + String uri = uriPrefix + uriPath; + when(restconfService.readOperationalData(eq(uriPath), any(UriInfo.class))).thenReturn(null); get(uri, Draft02.MediaTypes.DATA+JSON); - verify(restconfService, times(1)).readOperationalData(uriPath); + verify(restconfService, times(1)).readOperationalData(eq(uriPath), any(UriInfo.class)); get(uri, Draft02.MediaTypes.DATA+XML); - verify(restconfService, times(2)).readOperationalData(uriPath); + verify(restconfService, times(2)).readOperationalData(eq(uriPath), any(UriInfo.class)); get(uri, MediaType.APPLICATION_JSON); - verify(restconfService, times(3)).readOperationalData(uriPath); + verify(restconfService, times(3)).readOperationalData(eq(uriPath), any(UriInfo.class)); get(uri, MediaType.APPLICATION_XML); - verify(restconfService, times(4)).readOperationalData(uriPath); + verify(restconfService, times(4)).readOperationalData(eq(uriPath), any(UriInfo.class)); get(uri, MediaType.TEXT_XML); - verify(restconfService, times(5)).readOperationalData(uriPath); - + verify(restconfService, times(5)).readOperationalData(eq(uriPath), any(UriInfo.class)); + // negative tests get(uri, MediaType.TEXT_PLAIN); - verify(restconfService, times(5)).readOperationalData(uriPath); + verify(restconfService, times(5)).readOperationalData(eq(uriPath), any(UriInfo.class)); } - + @Test public void testPutConfigMediaTypes() throws UnsupportedEncodingException { String uriPrefix = "/config/"; String uriPath = "ietf-interfaces:interfaces"; - String uri = createUri(uriPrefix, uriPath); + String uri = uriPrefix + uriPath; when(restconfService.updateConfigurationData(eq(uriPath), any(CompositeNode.class))).thenReturn(null); put(uri, null, Draft02.MediaTypes.DATA+JSON, jsonData); verify(restconfService, times(1)).updateConfigurationData(eq(uriPath), any(CompositeNode.class)); @@ -155,12 +155,12 @@ public class MediaTypesTest extends JerseyTest { put(uri, "fooMediaType", MediaType.TEXT_XML, xmlData); verify(restconfService, times(6)).updateConfigurationData(eq(uriPath), any(CompositeNode.class)); } - + @Test public void testPostConfigWithPathMediaTypes() throws UnsupportedEncodingException { String uriPrefix = "/config/"; String uriPath = "ietf-interfaces:interfaces"; - String uri = createUri(uriPrefix, uriPath); + String uri = uriPrefix + uriPath; when(restconfService.createConfigurationData(eq(uriPath), any(CompositeNode.class))).thenReturn(null); post(uri, null, Draft02.MediaTypes.DATA+JSON, jsonData); verify(restconfService, times(1)).createConfigurationData(eq(uriPath), any(CompositeNode.class)); @@ -175,11 +175,11 @@ public class MediaTypesTest extends JerseyTest { post(uri, "fooMediaType", MediaType.TEXT_XML, xmlData); verify(restconfService, times(6)).createConfigurationData(eq(uriPath), any(CompositeNode.class)); } - + @Test public void testPostConfigMediaTypes() throws UnsupportedEncodingException { String uriPrefix = "/config/"; - String uri = createUri(uriPrefix, ""); + String uri = uriPrefix; when(restconfService.createConfigurationData(any(CompositeNode.class))).thenReturn(null); post(uri, null, Draft02.MediaTypes.DATA+JSON, jsonData); verify(restconfService, times(1)).createConfigurationData(any(CompositeNode.class)); @@ -194,28 +194,28 @@ public class MediaTypesTest extends JerseyTest { post(uri, "fooMediaType", MediaType.TEXT_XML, xmlData); verify(restconfService, times(6)).createConfigurationData(any(CompositeNode.class)); } - + @Test public void testDeleteConfigMediaTypes() throws UnsupportedEncodingException { String uriPrefix = "/config/"; String uriPath = "ietf-interfaces:interfaces"; - String uri = createUri(uriPrefix, uriPath); + String uri = uriPrefix + uriPath; when(restconfService.deleteConfigurationData(eq(uriPath))).thenReturn(null); target(uri).request("fooMediaType").delete(); verify(restconfService, times(1)).deleteConfigurationData(uriPath); } - + private int get(String uri, String acceptMediaType) { return target(uri).request(acceptMediaType).get().getStatus(); } - + private int put(String uri, String acceptMediaType, String contentTypeMediaType, String data) { if (acceptMediaType == null) { return target(uri).request().put(Entity.entity(data, contentTypeMediaType)).getStatus(); } return target(uri).request(acceptMediaType).put(Entity.entity(data, contentTypeMediaType)).getStatus(); } - + private int post(String uri, String acceptMediaType, String contentTypeMediaType, String data) { if (acceptMediaType == null) { if (contentTypeMediaType == null || data == null) {