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%2FControllerContextTest.java;h=4c5922d73fa962b3aaea2d547846c8905e66bb8a;hb=d71e327e51db32e967f7ebcb186e148f37f28117;hp=39c0d3b34f67159e7de8a1c1fc4a73809ae648b8;hpb=b5daa3678322a764f9b0e2483f82781f4d39d263;p=controller.git diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/ControllerContextTest.java b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/ControllerContextTest.java index 39c0d3b34f..4c5922d73f 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/ControllerContextTest.java +++ b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/ControllerContextTest.java @@ -1,14 +1,20 @@ package org.opendaylight.controller.sal.restconf.impl.test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import java.io.FileNotFoundException; import java.util.Set; +import org.junit.After; import org.junit.BeforeClass; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; import org.opendaylight.controller.sal.restconf.impl.ControllerContext; import org.opendaylight.controller.sal.restconf.impl.InstanceIdWithSchemaNode; +import org.opendaylight.controller.sal.restconf.impl.ResponseException; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -17,16 +23,26 @@ public class ControllerContextTest { private static final ControllerContext controllerContext = ControllerContext.getInstance(); + @Rule + public ExpectedException exception = ExpectedException.none(); + @BeforeClass public static void init() throws FileNotFoundException { - Set allModules = TestUtils.loadModules(ControllerContextTest.class.getResource("/full-versions/yangs").getPath()); + Set allModules = TestUtils.loadModulesFrom("/full-versions/yangs"); + assertNotNull(allModules); SchemaContext schemaContext = TestUtils.loadSchemaContext(allModules); controllerContext.setSchemas(schemaContext); } + @After + public void releaseMountService() { + controllerContext.setMountService(null); + } + @Test public void testToInstanceIdentifierList() throws FileNotFoundException { - InstanceIdWithSchemaNode instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:userWithoutClass/foo"); + InstanceIdWithSchemaNode instanceIdentifier = controllerContext + .toInstanceIdentifier("simple-nodes:userWithoutClass/foo"); assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "userWithoutClass"); instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:userWithoutClass/foo/full-name"); @@ -40,13 +56,20 @@ public class ControllerContextTest { instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:users/user/foo"); assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "user"); + } - instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:user/null/boo"); - assertNull(instanceIdentifier); - - instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:user/foo"); - assertNull(instanceIdentifier); + @Test + public void testToInstanceIdentifierListWithNullKey() { + exception.expect(ResponseException.class); + exception.expectMessage("HTTP 400 Bad Request"); + controllerContext.toInstanceIdentifier("simple-nodes:user/null/boo"); + } + @Test + public void testToInstanceIdentifierListWithMissingKey() { + exception.expect(ResponseException.class); + exception.expectMessage("HTTP 400 Bad Request"); + controllerContext.toInstanceIdentifier("simple-nodes:user/foo"); } @Test @@ -54,23 +77,35 @@ public class ControllerContextTest { InstanceIdWithSchemaNode instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:users"); assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "users"); assertTrue(instanceIdentifier.getSchemaNode() instanceof ContainerSchemaNode); - assertEquals(2, ((ContainerSchemaNode)instanceIdentifier.getSchemaNode()).getChildNodes().size()); + assertEquals(2, ((ContainerSchemaNode) instanceIdentifier.getSchemaNode()).getChildNodes().size()); } @Test public void testToInstanceIdentifierChoice() throws FileNotFoundException { - InstanceIdWithSchemaNode instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:food/beer"); + InstanceIdWithSchemaNode instanceIdentifier = controllerContext + .toInstanceIdentifier("simple-nodes:food/nonalcoholic/beer"); assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "beer"); - - instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:food/snack"); - assertNull(instanceIdentifier); - - instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:food/sports-arena"); - assertNull(instanceIdentifier); - - instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:food/snack/sports-arena"); - assertNull(instanceIdentifier); - + } + + @Test + public void testToInstanceIdentifierChoiceException() { + exception.expect(ResponseException.class); + exception.expectMessage("HTTP 400 Bad Request"); + controllerContext.toInstanceIdentifier("simple-nodes:food/snack"); + } + + @Test + public void testToInstanceIdentifierCaseException() { + exception.expect(ResponseException.class); + exception.expectMessage("HTTP 400 Bad Request"); + controllerContext.toInstanceIdentifier("simple-nodes:food/sports-arena"); + } + + @Test + public void testToInstanceIdentifierChoiceCaseException() { + exception.expect(ResponseException.class); + exception.expectMessage("HTTP 400 Bad Request"); + controllerContext.toInstanceIdentifier("simple-nodes:food/snack/sports-arena"); } }