47653ae296203139ae018237c1913910a4b20758
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / test / java / org / opendaylight / controller / sal / restconf / impl / cnsn / to / json / test / CnSnToJsonIncorrectTopLevelTest.java
1 package org.opendaylight.controller.sal.restconf.impl.cnsn.to.json.test;
2
3 import static org.junit.Assert.assertTrue;
4
5 import java.io.IOException;
6 import java.util.List;
7 import java.util.Set;
8
9 import javax.activation.UnsupportedDataTypeException;
10 import javax.ws.rs.WebApplicationException;
11
12 import org.junit.BeforeClass;
13 import org.junit.Test;
14 import org.opendaylight.controller.sal.rest.impl.StructuredDataToJsonProvider;
15 import org.opendaylight.controller.sal.restconf.impl.test.TestUtils;
16 import org.opendaylight.controller.sal.restconf.impl.test.YangAndXmlAndDataSchemaLoader;
17 import org.opendaylight.yangtools.yang.common.QName;
18 import org.opendaylight.yangtools.yang.data.api.CompositeNode;
19 import org.opendaylight.yangtools.yang.model.api.*;
20 import org.slf4j.Logger;
21 import org.slf4j.LoggerFactory;
22
23 public class CnSnToJsonIncorrectTopLevelTest extends YangAndXmlAndDataSchemaLoader {
24
25     private static final Logger LOG = LoggerFactory.getLogger(CnSnToJsonIncorrectTopLevelTest.class);
26
27     @BeforeClass
28     public static void initialize() {
29         dataLoad("/cnsn-to-json/simple-data-types");
30     }
31
32     private class IncorrectDataSchema implements DataSchemaNode, DataNodeContainer {
33
34         @Override
35         public String getDescription() {
36             // TODO Auto-generated method stub
37             return null;
38         }
39
40         @Override
41         public SchemaPath getPath() {
42             // TODO Auto-generated method stub
43             return null;
44         }
45
46         @Override
47         public QName getQName() {
48             // TODO Auto-generated method stub
49             return null;
50         }
51
52         @Override
53         public String getReference() {
54             // TODO Auto-generated method stub
55             return null;
56         }
57
58         @Override
59         public Status getStatus() {
60             // TODO Auto-generated method stub
61             return null;
62         }
63
64         @Override
65         public List<UnknownSchemaNode> getUnknownSchemaNodes() {
66             // TODO Auto-generated method stub
67             return null;
68         }
69
70         @Override
71         public Set<DataSchemaNode> getChildNodes() {
72             // TODO Auto-generated method stub
73             return null;
74         }
75
76         @Override
77         public DataSchemaNode getDataChildByName(QName arg0) {
78             // TODO Auto-generated method stub
79             return null;
80         }
81
82         @Override
83         public DataSchemaNode getDataChildByName(String arg0) {
84             // TODO Auto-generated method stub
85             return null;
86         }
87
88         @Override
89         public Set<GroupingDefinition> getGroupings() {
90             // TODO Auto-generated method stub
91             return null;
92         }
93
94         @Override
95         public Set<TypeDefinition<?>> getTypeDefinitions() {
96             // TODO Auto-generated method stub
97             return null;
98         }
99
100         @Override
101         public Set<UsesNode> getUses() {
102             // TODO Auto-generated method stub
103             return null;
104         }
105
106         @Override
107         public ConstraintDefinition getConstraints() {
108             // TODO Auto-generated method stub
109             return null;
110         }
111
112         @Override
113         public YangNode getParent() {
114             // TODO Auto-generated method stub
115             return null;
116         }
117
118         @Override
119         public boolean isAddedByUses() {
120             // TODO Auto-generated method stub
121             return false;
122         }
123
124         @Override
125         public boolean isAugmenting() {
126             // TODO Auto-generated method stub
127             return false;
128         }
129
130         @Override
131         public boolean isConfiguration() {
132             // TODO Auto-generated method stub
133             return false;
134         }
135
136     }
137
138     @Test
139     public void incorrectTopLevelElementTest() {
140
141         CompositeNode compositeNode = TestUtils.loadCompositeNode("/cnsn-to-json/simple-data-types/xml/data.xml");
142         DataSchemaNode incorrectDataSchema = null;
143         incorrectDataSchema = new IncorrectDataSchema();
144
145         TestUtils.normalizeCompositeNode(compositeNode, modules, "simple-data-types:cont");
146
147         boolean exceptionRaised = false;
148         try {
149             TestUtils.writeCompNodeWithSchemaContextToOutput(compositeNode, modules, incorrectDataSchema,
150                     StructuredDataToJsonProvider.INSTANCE);
151         } catch (UnsupportedDataTypeException e) {
152             exceptionRaised = true;
153         } catch (WebApplicationException | IOException e) {
154             LOG.error("WebApplicationException or IOException was raised");
155         }
156
157         assertTrue(exceptionRaised);
158     }
159
160 }