X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2Ftest%2FRestGetOperationTest.java;h=be7be9444cac594c8080dd99eae2c39ab5baed90;hb=c61d22e4dc73fdaba09aa8c0b189ea7459679e03;hp=ebc8a09f151adccaf9916c5d8a0062c9a2eef7bb;hpb=cbdf09d099f297db7712c3dd4637475c88f92113;p=controller.git diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestGetOperationTest.java b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestGetOperationTest.java index ebc8a09f15..be7be9444c 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestGetOperationTest.java +++ b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestGetOperationTest.java @@ -1,10 +1,16 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ package org.opendaylight.controller.sal.restconf.impl.test; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -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.FileNotFoundException; @@ -16,7 +22,6 @@ import java.util.List; import javax.ws.rs.core.Application; import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.test.JerseyTest; @@ -24,7 +29,6 @@ import org.junit.BeforeClass; import org.junit.Test; import org.opendaylight.controller.sal.core.api.mount.MountInstance; import org.opendaylight.controller.sal.core.api.mount.MountService; -import org.opendaylight.controller.sal.rest.api.Draft02; import org.opendaylight.controller.sal.rest.impl.JsonToCompositeNodeProvider; import org.opendaylight.controller.sal.rest.impl.StructuredDataToJsonProvider; import org.opendaylight.controller.sal.rest.impl.StructuredDataToXmlProvider; @@ -63,10 +67,10 @@ public class RestGetOperationTest extends JerseyTest { @Override protected Application configure() { /* enable/disable Jersey logs to console */ -// enable(TestProperties.LOG_TRAFFIC); -// enable(TestProperties.DUMP_ENTITY); -// enable(TestProperties.RECORD_LOG_LEVEL); -// set(TestProperties.RECORD_LOG_LEVEL, Level.ALL.intValue()); +// enable(TestProperties.LOG_TRAFFIC); +// enable(TestProperties.DUMP_ENTITY); +// enable(TestProperties.RECORD_LOG_LEVEL); +// set(TestProperties.RECORD_LOG_LEVEL, Level.ALL.intValue()); ResourceConfig resourceConfig = new ResourceConfig(); resourceConfig = resourceConfig.registerInstances(restconfImpl, StructuredDataToXmlProvider.INSTANCE, StructuredDataToJsonProvider.INSTANCE, XmlToCompositeNodeProvider.INSTANCE, @@ -74,24 +78,6 @@ public class RestGetOperationTest extends JerseyTest { return resourceConfig; } - /** - * Tests of status codes for "/datastore/{identifier}". - */ - @Test - public void getDatastoreStatusCodes() throws FileNotFoundException, UnsupportedEncodingException { - mockReadOperationalDataMethod(); - String uri = createUri("/datastore/", "ietf-interfaces:interfaces/interface/eth0"); - assertEquals(200, get(uri, MediaType.APPLICATION_XML)); - - uri = createUri("/datastore/", "wrong-module:interfaces/interface/eth0"); - assertEquals(400, get(uri, MediaType.APPLICATION_XML)); - - // Test of request for not existing data. Returning status code 404 - uri = createUri("/datastore/", "ietf-interfaces:interfaces/interface/eth0"); - when(brokerFacade.readOperationalData(any(InstanceIdentifier.class))).thenReturn(null); - assertEquals(404, get(uri, MediaType.APPLICATION_XML)); - } - /** * Tests of status codes for "/operational/{identifier}". */ @@ -100,7 +86,7 @@ public class RestGetOperationTest extends JerseyTest { mockReadOperationalDataMethod(); String uri = createUri("/operational/", "ietf-interfaces:interfaces/interface/eth0"); assertEquals(200, get(uri, MediaType.APPLICATION_XML)); - + uri = createUri("/operational/", "wrong-module:interfaces/interface/eth0"); assertEquals(400, get(uri, MediaType.APPLICATION_XML)); } @@ -113,7 +99,7 @@ public class RestGetOperationTest extends JerseyTest { mockReadConfigurationDataMethod(); String uri = createUri("/config/", "ietf-interfaces:interfaces/interface/eth0"); assertEquals(200, get(uri, MediaType.APPLICATION_XML)); - + uri = createUri("/config/", "wrong-module:interfaces/interface/eth0"); assertEquals(400, get(uri, MediaType.APPLICATION_XML)); } @@ -123,6 +109,26 @@ public class RestGetOperationTest extends JerseyTest { */ @Test public void getDataWithUrlMountPoint() throws UnsupportedEncodingException, URISyntaxException { + when( + brokerFacade.readConfigurationDataBehindMountPoint(any(MountInstance.class), + any(InstanceIdentifier.class))).thenReturn(prepareCnDataForMountPointTest()); + MountInstance mountInstance = mock(MountInstance.class); + when(mountInstance.getSchemaContext()).thenReturn(schemaContextTestModule); + MountService mockMountService = mock(MountService.class); + when(mockMountService.getMountPoint(any(InstanceIdentifier.class))).thenReturn(mountInstance); + + ControllerContext.getInstance().setMountService(mockMountService); + + String uri = createUri("/config/", + "ietf-interfaces:interfaces/interface/0/yang-ext:mount/test-module:cont/cont1"); + assertEquals(200, get(uri, MediaType.APPLICATION_XML)); + + uri = createUri("/config/", "ietf-interfaces:interfaces/yang-ext:mount/test-module:cont/cont1"); + assertEquals(200, get(uri, MediaType.APPLICATION_XML)); + } + + @Test + public void getDataMountPointIntoHighestElement() throws UnsupportedEncodingException, URISyntaxException { when(brokerFacade.readConfigurationDataBehindMountPoint(any(MountInstance.class), any(InstanceIdentifier.class))).thenReturn(prepareCnDataForMountPointTest()); MountInstance mountInstance = mock(MountInstance.class); @@ -133,16 +139,10 @@ public class RestGetOperationTest extends JerseyTest { ControllerContext.getInstance().setMountService(mockMountService); String uri = createUri("/config/", - "ietf-interfaces:interfaces/interface/0/yang-ext:mount/test-module:cont/cont1"); - Response response = target(uri).request(Draft02.MediaTypes.DATA + XML).get(); - assertEquals(200, response.getStatus()); - - uri = createUri("/config/", - "ietf-interfaces:interfaces/yang-ext:mount/test-module:cont/cont1"); - response = target(uri).request(Draft02.MediaTypes.DATA + XML).get(); - assertEquals(200, response.getStatus()); + "ietf-interfaces:interfaces/interface/0/yang-ext:mount/"); + assertEquals(200, get(uri, MediaType.APPLICATION_XML)); } - + private int get(String uri, String mediaType) { return target(uri).request(mediaType).get().getStatus(); }