summaryrefslogtreecommitdiffstats
path: root/restconf-client/provider/src/test/java
diff options
context:
space:
mode:
authorVidyashree Rama <vidyashree.rama@huawei.com>2018-08-21 13:47:16 +0530
committerVidyashree Rama <vidyashree.rama@huawei.com>2018-08-21 14:56:05 +0530
commit4633416831f2d98ca50668d4514cbd1905749201 (patch)
tree6c6fa642939ab14a5dcba41c988e72c86b953cbb /restconf-client/provider/src/test/java
parent224d394cda8a832f8d8c9db03795343ac82f7058 (diff)
Handling identity ref type
Handling identity ref type in properties node serializer Issue-ID: CCSDK-378 Change-Id: Ie74088a5e2449c09f9712048f1856990b81d05e7 Signed-off-by: Vidyashree Rama <vidyashree.rama@huawei.com>
Diffstat (limited to 'restconf-client/provider/src/test/java')
-rw-r--r--restconf-client/provider/src/test/java/org/onap/ccsdk/sli/plugins/yangserializers/pnserializer/PropertiesSerializerTest.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/restconf-client/provider/src/test/java/org/onap/ccsdk/sli/plugins/yangserializers/pnserializer/PropertiesSerializerTest.java b/restconf-client/provider/src/test/java/org/onap/ccsdk/sli/plugins/yangserializers/pnserializer/PropertiesSerializerTest.java
index fddfe2d40..dc0da6f7c 100644
--- a/restconf-client/provider/src/test/java/org/onap/ccsdk/sli/plugins/yangserializers/pnserializer/PropertiesSerializerTest.java
+++ b/restconf-client/provider/src/test/java/org/onap/ccsdk/sli/plugins/yangserializers/pnserializer/PropertiesSerializerTest.java
@@ -1071,6 +1071,60 @@ public final class PropertiesSerializerTest {
assertThat(node.uri(), is("test-yang:cont18.leaf40"));
}
+ @Test
+ public void testIdentityRef() throws SvcLogicException {
+ String uri = "identity-test:test";
+ Map<String, String> params = new HashMap<>();
+ params.put("identity-test:test.con1.interface", "identity-types:physical");
+ params.put("identity-test:test.con1.interfaces.int-list[0].iden", "identity-test:Giga");
+ params.put("identity-test:test.con1.interfaces.int-list[0].available.ll[0]", "identity-types:Loopback");
+ params.put("identity-test:test.con1.interfaces.int-list[0].available.leaf1", "identity-types-second:Ethernet");
+ params.put("identity-test:test.con1.interfaces.int-list[0].available.leaf2", "identity-types-second:iden2");
+ InstanceIdentifierContext<?> iCtx = ParserIdentifier
+ .toInstanceIdentifier(uri, context, null);
+
+ PropertiesNodeSerializer ser = new MdsalPropertiesNodeSerializer(
+ iCtx.getSchemaNode(), context, uri);
+ PropertiesNode node = ser.encode(params);
+ Map<String, PropertiesNode> childNodes = ((RootNode) node).children();
+ assertThat(childNodes.containsKey("con1"), is(true));
+ node = childNodes.get("con1");
+ assertThat(node.uri(), is("identity-test:test.con1"));
+ LeafNode l = ((LeafNode) ((SingleInstanceNode) node).children().get("interface"));
+ assertThat(l.uri(), is("identity-test:test.con1.interface"));
+ assertThat(l.valueNs().moduleName(), is("identity-types"));
+ assertThat(l.valueNs().moduleNs().toString(), is("identity:list:ns:test:json:ser"));
+
+ // identity type inside union
+ node = ((SingleInstanceNode) ((SingleInstanceNode) node).children().get("interfaces"));
+ node = ((ListHolderNode) ((SingleInstanceNode) node).children().get("int-list"));
+ node = ((MultiInstanceNode) ((ListHolderNode) node).children().get("0"));
+ l = ((LeafNode) ((MultiInstanceNode) node).children().get("iden"));
+ assertThat(l.uri(), is("identity-test:test.con1.interfaces.int-list[0].iden"));
+ assertThat(l.valueNs().moduleName(), is("identity-test"));
+ assertThat(l.valueNs().moduleNs().toString(), is("identity:ns:test:json:ser"));
+
+ // leaf-list test
+ node = (SingleInstanceNode) ((MultiInstanceNode) node).children().get("available");
+ LeafListHolderNode holder = (LeafListHolderNode) ((SingleInstanceNode) node).children().get("ll");
+ l = ((LeafNode) holder.children().get("0"));
+ assertThat(l.uri(), is("identity-test:test.con1.interfaces.int-list[0].available.ll[0]"));
+ assertThat(l.valueNs().moduleName(), is("identity-types"));
+ assertThat(l.valueNs().moduleNs().toString(), is("identity:list:ns:test:json:ser"));
+
+ // leaf-ref test
+ l = ((LeafNode) ((SingleInstanceNode) node).children().get("leaf1"));
+ assertThat(l.uri(), is("identity-test:test.con1.interfaces.int-list[0].available.leaf1"));
+ assertThat(l.valueNs().moduleName(), is("identity-types-second"));
+ assertThat(l.valueNs().moduleNs().toString(), is("identity:list:second:ns:test:json:ser"));
+
+ // list of base identity test
+ l = ((LeafNode) ((SingleInstanceNode) node).children().get("leaf2"));
+ assertThat(l.uri(), is("identity-test:test.con1.interfaces.int-list[0].available.leaf2"));
+ assertThat(l.valueNs().moduleName(), is("identity-types-second"));
+ assertThat(l.valueNs().moduleNs().toString(), is("identity:list:second:ns:test:json:ser"));
+ }
+
public static SchemaContext compileYangFile() throws FileNotFoundException {
String path = PropertiesSerializerTest.class.getResource("/yang").getPath();
File dir = new File(path);