summaryrefslogtreecommitdiffstats
path: root/netconf/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/rest/impl/InstanceIdentifierTypeLeafTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'netconf/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/rest/impl/InstanceIdentifierTypeLeafTest.java')
-rw-r--r--netconf/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/rest/impl/InstanceIdentifierTypeLeafTest.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/netconf/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/rest/impl/InstanceIdentifierTypeLeafTest.java b/netconf/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/rest/impl/InstanceIdentifierTypeLeafTest.java
new file mode 100644
index 0000000..3c46201
--- /dev/null
+++ b/netconf/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/rest/impl/InstanceIdentifierTypeLeafTest.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2016 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.rest.impl;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.opendaylight.controller.md.sal.rest.common.TestRestconfUtils;
+import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
+import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
+import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
+
+public class InstanceIdentifierTypeLeafTest {
+
+ @Test
+ public void stringToInstanceIdentifierTest() throws Exception {
+ final EffectiveModelContext schemaContext =
+ YangParserTestUtils.parseYangFiles(TestRestconfUtils.loadFiles("/instanceidentifier"));
+ ControllerContext controllerContext = TestRestconfUtils.newControllerContext(schemaContext);
+ final InstanceIdentifierContext instanceIdentifier =
+ controllerContext.toInstanceIdentifier(
+ "/iid-value-module:cont-iid/iid-list/%2Fiid-value-module%3Acont-iid%2Fiid-value-module%3A"
+ + "values-iid%5Biid-value-module:value-iid='value'%5D");
+ final YangInstanceIdentifier yiD = instanceIdentifier.getInstanceIdentifier();
+ assertNotNull(yiD);
+ final PathArgument lastPathArgument = yiD.getLastPathArgument();
+ assertTrue(lastPathArgument.getNodeType().getNamespace().toString().equals("iid:value:module"));
+ assertTrue(lastPathArgument.getNodeType().getLocalName().equals("iid-list"));
+
+ final NodeIdentifierWithPredicates list = (NodeIdentifierWithPredicates) lastPathArgument;
+ final YangInstanceIdentifier value = (YangInstanceIdentifier) list.getValue(
+ QName.create(lastPathArgument.getNodeType(), "iid-leaf"));
+ final PathArgument lastPathArgumentOfValue = value.getLastPathArgument();
+ assertTrue(lastPathArgumentOfValue.getNodeType().getNamespace().toString().equals("iid:value:module"));
+ assertTrue(lastPathArgumentOfValue.getNodeType().getLocalName().equals("values-iid"));
+
+ final NodeIdentifierWithPredicates valueList = (NodeIdentifierWithPredicates) lastPathArgumentOfValue;
+ final String valueIid = (String) valueList.getValue(
+ QName.create(lastPathArgumentOfValue.getNodeType(), "value-iid"));
+ assertEquals("value", valueIid);
+ }
+
+}