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%2Fcnsn%2Fto%2Fxml%2Ftest%2FCnSnToXmlTest.java;h=3d5fee3ab8aff5ef3adfde3dbbcdc91a9a13923e;hb=refs%2Fchanges%2F27%2F8927%2F3;hp=fc54795fcce5a468cb0d6e780f561a3052fe2eeb;hpb=797699ffcb8cf2eabbc1fe3159c5e5c7b5ecbe98;p=controller.git
diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/cnsn/to/xml/test/CnSnToXmlTest.java b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/cnsn/to/xml/test/CnSnToXmlTest.java
index fc54795fcc..3d5fee3ab8 100644
--- a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/cnsn/to/xml/test/CnSnToXmlTest.java
+++ b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/cnsn/to/xml/test/CnSnToXmlTest.java
@@ -9,12 +9,15 @@ package org.opendaylight.controller.sal.restconf.impl.cnsn.to.xml.test;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import com.google.common.base.Optional;
+import com.google.common.collect.Lists;
import java.io.IOException;
-
+import java.util.List;
import javax.ws.rs.WebApplicationException;
import javax.xml.transform.TransformerFactoryConfigurationError;
-
import org.junit.BeforeClass;
import org.junit.Test;
import org.opendaylight.controller.sal.rest.impl.StructuredDataToXmlProvider;
@@ -26,12 +29,31 @@ import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode;
import org.opendaylight.yangtools.yang.data.api.MutableSimpleNode;
import org.opendaylight.yangtools.yang.data.impl.NodeFactory;
import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec;
+import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
+import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
+import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
+import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair;
+import org.opendaylight.yangtools.yang.model.util.BinaryType;
+import org.opendaylight.yangtools.yang.model.util.BitsType;
+import org.opendaylight.yangtools.yang.model.util.BooleanType;
+import org.opendaylight.yangtools.yang.model.util.EmptyType;
+import org.opendaylight.yangtools.yang.model.util.EnumerationType;
+import org.opendaylight.yangtools.yang.model.util.Int16;
+import org.opendaylight.yangtools.yang.model.util.Int32;
+import org.opendaylight.yangtools.yang.model.util.Int64;
+import org.opendaylight.yangtools.yang.model.util.Int8;
+import org.opendaylight.yangtools.yang.model.util.StringType;
+import org.opendaylight.yangtools.yang.model.util.Uint16;
+import org.opendaylight.yangtools.yang.model.util.Uint32;
+import org.opendaylight.yangtools.yang.model.util.Uint64;
+import org.opendaylight.yangtools.yang.model.util.Uint8;
+import org.opendaylight.yangtools.yang.model.util.UnionType;
/**
*
- * CnSn = Composite node and Simple node data structure Class contains test of
- * serializing simple nodes data values according data types from YANG schema to
- * XML file
+ * CnSn = Composite node and Simple node data structure Class contains test of serializing simple nodes data values
+ * according data types from YANG schema to XML file
*
*/
public class CnSnToXmlTest extends YangAndXmlAndDataSchemaLoader {
@@ -61,76 +83,77 @@ public class CnSnToXmlTest extends YangAndXmlAndDataSchemaLoader {
serializeToXml(prepareLeafrefData(), "true", "true");
}
-
@Test
public void snAsYangStringToXmlTest() {
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.STRING_DEFAULT_CODEC.deserialize("lfStr value"),
- "lfStr"), "lfStr value");
+ prepareCnStructForYangData(
+ TypeDefinitionAwareCodec.from(StringType.getInstance()).deserialize("lfStr value"), "lfStr"),
+ "lfStr value");
}
@Test
public void snAsYangInt8ToXmlTest() {
String elName = "lfInt8";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.INT8_DEFAULT_CODEC.deserialize("14"), elName), "<"
- + elName + ">14" + elName + ">");
+ prepareCnStructForYangData(TypeDefinitionAwareCodec.from(Int8.getInstance()).deserialize("14"), elName),
+ "<" + elName + ">14" + elName + ">");
}
@Test
public void snAsYangInt16ToXmlTest() {
String elName = "lfInt16";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.INT16_DEFAULT_CODEC.deserialize("3000"), elName),
- "<" + elName + ">3000" + elName + ">");
+ prepareCnStructForYangData(TypeDefinitionAwareCodec.from(Int16.getInstance()).deserialize("3000"),
+ elName), "<" + elName + ">3000" + elName + ">");
}
@Test
public void snAsYangInt32ToXmlTest() {
String elName = "lfInt32";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.INT32_DEFAULT_CODEC.deserialize("201234"), elName),
- "<" + elName + ">201234" + elName + ">");
+ prepareCnStructForYangData(TypeDefinitionAwareCodec.from(Int32.getInstance()).deserialize("201234"),
+ elName), "<" + elName + ">201234" + elName + ">");
}
@Test
public void snAsYangInt64ToXmlTest() {
String elName = "lfInt64";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.INT64_DEFAULT_CODEC.deserialize("5123456789"),
- elName), "<" + elName + ">5123456789" + elName + ">");
+ prepareCnStructForYangData(
+ TypeDefinitionAwareCodec.from(Int64.getInstance()).deserialize("5123456789"), elName), "<"
+ + elName + ">5123456789" + elName + ">");
}
@Test
public void snAsYangUint8ToXmlTest() {
String elName = "lfUint8";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.UINT8_DEFAULT_CODEC.deserialize("200"), elName),
- "<" + elName + ">200" + elName + ">");
+ prepareCnStructForYangData(TypeDefinitionAwareCodec.from(Uint8.getInstance()).deserialize("200"),
+ elName), "<" + elName + ">200" + elName + ">");
}
@Test
public void snAsYangUint16ToXmlTest() {
String elName = "lfUint16";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.UINT16_DEFAULT_CODEC.deserialize("4000"), elName),
- "<" + elName + ">4000" + elName + ">");
+ prepareCnStructForYangData(TypeDefinitionAwareCodec.from(Uint16.getInstance()).deserialize("4000"),
+ elName), "<" + elName + ">4000" + elName + ">");
}
@Test
public void snAsYangUint32ToXmlTest() {
String elName = "lfUint32";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.UINT32_DEFAULT_CODEC.deserialize("4123456789"),
- elName), "<" + elName + ">4123456789" + elName + ">");
+ prepareCnStructForYangData(TypeDefinitionAwareCodec.from(Uint32.getInstance())
+ .deserialize("4123456789"), elName), "<" + elName + ">4123456789" + elName + ">");
}
@Test
public void snAsYangUint64ToXmlTest() {
String elName = "lfUint64";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.UINT64_DEFAULT_CODEC.deserialize("5123456789"),
- elName), "<" + elName + ">5123456789" + elName + ">");
+ prepareCnStructForYangData(TypeDefinitionAwareCodec.from(Uint64.getInstance())
+ .deserialize("5123456789"), elName), "<" + elName + ">5123456789" + elName + ">");
}
@Test
@@ -138,64 +161,87 @@ public class CnSnToXmlTest extends YangAndXmlAndDataSchemaLoader {
String elName = "lfBinary";
serializeToXml(
prepareCnStructForYangData(
- TypeDefinitionAwareCodec.BINARY_DEFAULT_CODEC
- .deserialize("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567"),
- elName), "<" + elName + ">ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567"
- + elName + ">");
+ TypeDefinitionAwareCodec.from(BinaryType.getInstance()).deserialize(
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567"), elName), "<" + elName
+ + ">ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567" + elName + ">");
}
@Test
public void snAsYangBitsToXmlTest() {
+ BitsTypeDefinition.Bit mockBit1 = mock(BitsTypeDefinition.Bit.class);
+ when(mockBit1.getName()).thenReturn("one");
+ BitsTypeDefinition.Bit mockBit2 = mock(BitsTypeDefinition.Bit.class);
+ when(mockBit2.getName()).thenReturn("two");
+ List bitList = Lists.newArrayList(mockBit1, mockBit2);
+
String elName = "lfBits";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.BITS_DEFAULT_CODEC.deserialize("one two"), elName),
- "<" + elName + ">one two" + elName + ">", "<" + elName + ">two one" + elName + ">");
+ prepareCnStructForYangData(
+ TypeDefinitionAwareCodec.from(BitsType.create(mock(SchemaPath.class), bitList)).deserialize(
+ "one two"), elName), "<" + elName + ">one two" + elName + ">", "<" + elName
+ + ">two one" + elName + ">");
}
@Test
public void snAsYangEnumerationToXmlTest() {
+ EnumTypeDefinition.EnumPair mockEnum = mock(EnumTypeDefinition.EnumPair.class);
+ when(mockEnum.getName()).thenReturn("enum2");
+ List enumList = Lists.newArrayList(mockEnum);
+
String elName = "lfEnumeration";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.ENUMERATION_DEFAULT_CODEC.deserialize("enum2"),
- elName), "<" + elName + ">enum2" + elName + ">");
+ prepareCnStructForYangData(
+ TypeDefinitionAwareCodec.from(
+ EnumerationType.create(mock(SchemaPath.class), enumList,
+ Optional. absent())).deserialize("enum2"), elName),
+ "<" + elName + ">enum2" + elName + ">");
}
@Test
public void snAsYangEmptyToXmlTest() {
String elName = "lfEmpty";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.EMPTY_DEFAULT_CODEC.deserialize(null), elName), "<"
- + elName + "/>");
+ prepareCnStructForYangData(TypeDefinitionAwareCodec.from(EmptyType.getInstance()).deserialize(null),
+ elName), "<" + elName + "/>");
}
@Test
public void snAsYangBooleanToXmlTest() {
String elName = "lfBoolean";
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.BOOLEAN_DEFAULT_CODEC.deserialize("str"), elName),
- "<" + elName + ">false" + elName + ">");
+ prepareCnStructForYangData(TypeDefinitionAwareCodec.from(BooleanType.getInstance()).deserialize("str"),
+ elName), "<" + elName + ">false" + elName + ">");
serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.BOOLEAN_DEFAULT_CODEC.deserialize("true"), elName),
- "<" + elName + ">true" + elName + ">");
+ prepareCnStructForYangData(
+ TypeDefinitionAwareCodec.from(BooleanType.getInstance()).deserialize("true"), elName), "<"
+ + elName + ">true" + elName + ">");
}
@Test
public void snAsYangUnionToXmlTest() {
+
+ BitsTypeDefinition.Bit mockBit1 = mock(BitsTypeDefinition.Bit.class);
+ when(mockBit1.getName()).thenReturn("first");
+ BitsTypeDefinition.Bit mockBit2 = mock(BitsTypeDefinition.Bit.class);
+ when(mockBit2.getName()).thenReturn("second");
+ List bitList = Lists.newArrayList(mockBit1, mockBit2);
+
+ List> types = Lists.> newArrayList(Int8.getInstance(),
+ BitsType.create(mock(SchemaPath.class), bitList), BooleanType.getInstance());
+ UnionType unionType = UnionType.create(types);
+
String elName = "lfUnion";
String int8 = "15";
- serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.UNION_DEFAULT_CODEC.deserialize(int8), elName), "<"
- + elName + ">15" + elName + ">");
+ serializeToXml(prepareCnStructForYangData(TypeDefinitionAwareCodec.from(unionType).deserialize(int8), elName),
+ "<" + elName + ">15" + elName + ">");
String bits = "first second";
- serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.UNION_DEFAULT_CODEC.deserialize(bits), elName), "<"
- + elName + ">first second" + elName + ">");
+ serializeToXml(prepareCnStructForYangData(TypeDefinitionAwareCodec.from(unionType).deserialize(bits), elName),
+ "<" + elName + ">first second" + elName + ">");
String bool = "str";
- serializeToXml(
- prepareCnStructForYangData(TypeDefinitionAwareCodec.UNION_DEFAULT_CODEC.deserialize(bool), elName), "<"
- + elName + ">str" + elName + ">");
+ serializeToXml(prepareCnStructForYangData(TypeDefinitionAwareCodec.from(unionType).deserialize(bool), elName),
+ "<" + elName + ">str" + elName + ">");
}
private void serializeToXml(final CompositeNode compositeNode, final String... xmlRepresentation)
@@ -243,11 +289,11 @@ public class CnSnToXmlTest extends YangAndXmlAndDataSchemaLoader {
}
private CompositeNode prepareCnStructForYangData(final Object data, final String leafName) {
- MutableCompositeNode cont = NodeFactory.createMutableCompositeNode(TestUtils.buildQName("cont"), null, null,
- ModifyAction.CREATE, null);
+ MutableCompositeNode cont = NodeFactory.createMutableCompositeNode(
+ TestUtils.buildQName("cont", "basic:module", "2013-12-2"), null, null, ModifyAction.CREATE, null);
- MutableSimpleNode