1 package org.opendaylight.controller.sal.restconf.impl.test;
3 import static org.junit.Assert.*;
5 import java.io.FileNotFoundException;
8 import org.junit.BeforeClass;
10 import org.opendaylight.controller.sal.restconf.impl.ControllerContext;
11 import org.opendaylight.controller.sal.restconf.impl.InstanceIdWithSchemaNode;
12 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
13 import org.opendaylight.yangtools.yang.model.api.Module;
14 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
16 public class ControllerContextTest {
18 private static final ControllerContext controllerContext = ControllerContext.getInstance();
21 public static void init() throws FileNotFoundException {
22 Set<Module> allModules = TestUtils.loadModules(ControllerContextTest.class.getResource("/full-versions/yangs").getPath());
23 SchemaContext schemaContext = TestUtils.loadSchemaContext(allModules);
24 controllerContext.setSchemas(schemaContext);
28 public void testToInstanceIdentifierList() throws FileNotFoundException {
29 InstanceIdWithSchemaNode instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:userWithoutClass/foo");
30 assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "userWithoutClass");
32 instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:userWithoutClass/foo/full-name");
33 assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "full-name");
35 instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:user/foo/boo");
36 assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "user");
38 instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:user//boo");
39 assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "user");
41 instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:users/user/foo");
42 assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "user");
44 instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:user/null/boo");
45 assertNull(instanceIdentifier);
47 instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:user/foo");
48 assertNull(instanceIdentifier);
53 public void testToInstanceIdentifierContainer() throws FileNotFoundException {
54 InstanceIdWithSchemaNode instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:users");
55 assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "users");
56 assertTrue(instanceIdentifier.getSchemaNode() instanceof ContainerSchemaNode);
57 assertEquals(2, ((ContainerSchemaNode)instanceIdentifier.getSchemaNode()).getChildNodes().size());
61 public void testToInstanceIdentifierChoice() throws FileNotFoundException {
62 InstanceIdWithSchemaNode instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:food/beer");
63 assertEquals(instanceIdentifier.getSchemaNode().getQName().getLocalName(), "beer");
65 instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:food/snack");
66 assertNull(instanceIdentifier);
68 instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:food/sports-arena");
69 assertNull(instanceIdentifier);
71 instanceIdentifier = controllerContext.toInstanceIdentifier("simple-nodes:food/snack/sports-arena");
72 assertNull(instanceIdentifier);