0ec2dd4f5e3a402a7b2085d0dce450f18a4abec6
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / test / java / org / opendaylight / controller / sal / restconf / impl / test / ToJsonIdentityrefTest.java
1 package org.opendaylight.controller.sal.restconf.impl.test;
2
3 import static org.junit.Assert.assertNotNull;
4 import static org.junit.Assert.assertTrue;
5
6 import java.io.IOException;
7 import java.util.regex.Matcher;
8 import java.util.regex.Pattern;
9
10 import javax.ws.rs.WebApplicationException;
11
12 import org.junit.*;
13 import org.opendaylight.controller.sal.restconf.impl.test.TestUtils;
14 import org.opendaylight.controller.sal.restconf.impl.test.YangAndXmlAndDataSchemaLoader;
15 import org.opendaylight.yangtools.yang.data.api.*;
16 import org.opendaylight.yangtools.yang.data.impl.NodeFactory;
17
18 public class ToJsonIdentityrefTest extends YangAndXmlAndDataSchemaLoader {
19
20     @BeforeClass
21     public static void initialization() {
22         dataLoad("/yang-to-json-conversion/identityref", 2, "identityref-module", "cont");
23     }
24
25     @Ignore
26     @Test
27     public void identityrefToJsonTest() {
28         String json = null;
29         try {
30             json = TestUtils
31                     .writeCompNodeWithSchemaContextToJson(prepareCompositeNode(), null, modules, dataSchemaNode);
32         } catch (WebApplicationException | IOException e) {
33             // shouldn't end here
34             assertTrue(false);
35         }
36         assertNotNull(json);
37         Pattern ptrn = Pattern.compile(".*\"lf1\"\\p{Space}*:\\p{Space}*\"identityref-module:name_test\".*",
38                 Pattern.DOTALL);
39         Matcher mtch = ptrn.matcher(json);
40
41         assertTrue(mtch.matches());
42     }
43
44     private CompositeNode prepareCompositeNode() {
45         MutableCompositeNode cont = NodeFactory.createMutableCompositeNode(TestUtils.buildQName("cont"), null, null,
46                 ModifyAction.CREATE, null);
47         MutableCompositeNode cont1 = NodeFactory.createMutableCompositeNode(TestUtils.buildQName("cont1"), cont, null,
48                 ModifyAction.CREATE, null);
49         cont.getChildren().add(cont1);
50
51         MutableSimpleNode<?> lf1 = NodeFactory.createMutableSimpleNode(TestUtils.buildQName("lf1"), cont1,
52                 TestUtils.buildQName("name_test", "identityref:module", "2013-12-2"), ModifyAction.CREATE, null);
53         cont1.getChildren().add(lf1);
54         cont1.init();
55         cont.init();
56
57         return cont;
58     }
59
60 }