Implement support for v10 model entities.
[aai/model-loader.git] / src / test / java / org / openecomp / modelloader / entity / model / ModelArtifactParserTest.java
1 /**\r
2  * ============LICENSE_START=======================================================\r
3  * Model Loader\r
4  * ================================================================================\r
5  * Copyright © 2017 AT&T Intellectual Property.\r
6  * Copyright © 2017 Amdocs\r
7  * All rights reserved.\r
8  * ================================================================================\r
9  * Licensed under the Apache License, Version 2.0 (the "License");\r
10  * you may not use this file except in compliance with the License.\r
11  * You may obtain a copy of the License at\r
12  * http://www.apache.org/licenses/LICENSE-2.0\r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  *\r
20  * ECOMP and OpenECOMP are trademarks\r
21  * and service marks of AT&T Intellectual Property.\r
22  */\r
23 package org.openecomp.modelloader.entity.model;\r
24 \r
25 import static org.junit.Assert.assertTrue;\r
26 \r
27 import java.nio.file.Files;\r
28 import java.nio.file.Paths;\r
29 import java.util.List;\r
30 \r
31 import org.junit.Test;\r
32 import org.openecomp.modelloader.entity.Artifact;\r
33 \r
34 public class ModelArtifactParserTest {\r
35 \r
36         @Test\r
37         public void testParseModelFileNoDeps() throws Exception {\r
38                 final String MODEL_FILE = "src/test/resources/models/l3-network-widget.xml";\r
39 \r
40                 try {\r
41                         byte[] xmlBytes = Files.readAllBytes(Paths.get(MODEL_FILE));\r
42 \r
43                         ModelArtifactParser parser = new ModelArtifactParser();\r
44                         List<Artifact> modelList = parser.parse(xmlBytes, "test-artifact");\r
45 \r
46                         assertTrue(modelList.size() == 1);\r
47 \r
48                         ModelArtifact model = (ModelArtifact) modelList.get(0);\r
49                         System.out.println(model.toString());\r
50 \r
51                         assertTrue(model.getModelInvariantId().equalsIgnoreCase("3d560d81-57d0-438b-a2a1-5334dba0651a"));\r
52                         assertTrue(model.getType().toString().equalsIgnoreCase("MODEL"));\r
53                         System.out.println(model.getDependentModelIds().size());\r
54                         assertTrue(model.getDependentModelIds().size() == 0);\r
55                 } catch (Exception e) {\r
56                         e.printStackTrace();\r
57                         assertTrue(false);\r
58                 }\r
59         }\r
60 \r
61         @Test\r
62         public void testParseModelFileDeps() throws Exception {\r
63                 final String MODEL_FILE = "src/test/resources/models/AAI-stellService-service-1.xml";\r
64 \r
65                 try {\r
66                         byte[] xmlBytes = Files.readAllBytes(Paths.get(MODEL_FILE));\r
67 \r
68                         ModelArtifactParser parser = new ModelArtifactParser();\r
69                         List<Artifact> modelList = parser.parse(xmlBytes, "test-artifact");\r
70 \r
71                         assertTrue(modelList.size() == 1);\r
72 \r
73                         ModelArtifact model = (ModelArtifact) modelList.get(0);\r
74                         System.out.println(model.toString());\r
75 \r
76                         assertTrue(model.getModelInvariantId().equalsIgnoreCase("fedf9da3-6a74-4813-8fa2-221a98b0e7ad"));\r
77                         assertTrue(model.getModelVerId().equalsIgnoreCase("e0373537-7f66-4094-9939-e2f5de6ff5f6"));\r
78                         assertTrue(model.getType().toString().equalsIgnoreCase("MODEL"));\r
79                         assertTrue(model.getDependentModelIds().size() == 3);\r
80                         assertTrue(model.getDependentModelIds().contains("5c12984d-db0f-4300-a0e0-9791775cc40f|88bdbadf-db8a-490f-881e-c8effcbc3f66"));\r
81                         assertTrue(model.getDependentModelIds().contains("959b7c09-9f34-4e5f-8b63-505381db176e|374d0899-bbc2-4403-9320-fe9bebef75c6"));\r
82                 } catch (Exception e) {\r
83                         e.printStackTrace();\r
84                         assertTrue(false);\r
85                 }\r
86         }\r
87 \r
88         @Test\r
89         public void testParseCompleteModel() throws Exception {\r
90                 final String MODEL_FILE = "src/test/resources/models/complete-model.xml";\r
91 \r
92                 try {\r
93                         byte[] xmlBytes = Files.readAllBytes(Paths.get(MODEL_FILE));\r
94 \r
95                         ModelArtifactParser parser = new ModelArtifactParser();\r
96                         List<Artifact> modelList = parser.parse(xmlBytes, "test-artifact");\r
97 \r
98                         for (Artifact art : modelList) {\r
99                                 ModelArtifact model = (ModelArtifact) art;\r
100                                 System.out.println(model.toString());\r
101                         }\r
102 \r
103                         assertTrue(modelList.size() == 5);\r
104 \r
105                         ModelArtifact model1 = (ModelArtifact)modelList.get(0);\r
106                         assertTrue(model1.getModelVerId().equalsIgnoreCase("88bdbadf-db8a-490f-881e-c8effcbc3f66"));\r
107                         assertTrue(model1.getType().toString().equalsIgnoreCase("MODEL"));\r
108                         assertTrue(model1.getDependentModelIds().size() == 1);\r
109                         assertTrue(model1.getDependentModelIds().contains("3d560d81-57d0-438b-a2a1-5334dba0651a|9111f20f-e680-4001-b83f-19a2fc23bfc1"));\r
110 \r
111                         ModelArtifact model4 = (ModelArtifact)modelList.get(4);\r
112                         assertTrue(model4.getModelInvariantId().equalsIgnoreCase("fedf9da3-6a74-4813-8fa2-221a98b0e7ad"));\r
113                         assertTrue(model4.getType().toString().equalsIgnoreCase("MODEL"));\r
114                         assertTrue(model4.getDependentModelIds().size() == 3);\r
115                         assertTrue(model4.getDependentModelIds().contains("5c12984d-db0f-4300-a0e0-9791775cc40f|88bdbadf-db8a-490f-881e-c8effcbc3f66"));\r
116                         assertTrue(model4.getDependentModelIds().contains("82194af1-3c2c-485a-8f44-420e22a9eaa4|46b92144-923a-4d20-b85a-3cbd847668a9"));\r
117                 } catch (Exception e) {\r
118                         e.printStackTrace();\r
119                         assertTrue(false);\r
120                 }\r
121         }\r
122 \r
123         @Test\r
124         public void testParseNamedQuery() throws Exception {\r
125                 final String MODEL_FILE = "src/test/resources/models/named-query-wan-connector.xml";\r
126 \r
127                 try {\r
128                         byte[] xmlBytes = Files.readAllBytes(Paths.get(MODEL_FILE));\r
129 \r
130                         ModelArtifactParser parser = new ModelArtifactParser();\r
131                         List<Artifact> modelList = parser.parse(xmlBytes, "test-artifact");\r
132 \r
133                         assertTrue(modelList.size() == 1);\r
134 \r
135                         ModelArtifact model = (ModelArtifact) modelList.get(0);\r
136                         System.out.println(model.toString());\r
137 \r
138                         assertTrue(model.getNameVersionId().equalsIgnoreCase("94cac189-8d88-4d63-a194-f44214e080ff"));\r
139                         assertTrue(model.getType().toString().equalsIgnoreCase("NAMED_QUERY"));\r
140                         assertTrue(model.getDependentModelIds().size() == 4);\r
141                         assertTrue(model.getDependentModelIds().contains("d09dd9da-0148-46cd-a947-591afc844d24"));\r
142                         assertTrue(model.getDependentModelIds().contains("997fc7-fca1-451f-b953-9a1e6197b4d6"));\r
143                         assertTrue(model.getDependentModelIds().contains("897df7ea-8938-42b0-bc57-46e913a4d93b"));\r
144                         assertTrue(model.getDependentModelIds().contains("f2b24d95-c582-48d5-b2d6-c5b3a94ce812"));\r
145                 } catch (Exception e) {\r
146                         e.printStackTrace();\r
147                         assertTrue(false);\r
148                 }\r
149         }\r
150 \r
151         @Test\r
152         public void testParseModelFileInvalidArtifact() throws Exception {\r
153                 final String MODEL_FILE = "src/test/resources/models/invalid-model.xml";\r
154 \r
155                 try {\r
156                         byte[] xmlBytes = Files.readAllBytes(Paths.get(MODEL_FILE));            \r
157 \r
158                         ModelArtifactParser parser = new ModelArtifactParser();\r
159                         List<Artifact> modelList = parser.parse(xmlBytes, "test-artifact");\r
160 \r
161                         assertTrue(modelList == null || modelList.isEmpty());\r
162                 }\r
163                 catch (Exception e) {\r
164                         e.printStackTrace();\r
165                         assertTrue(false);\r
166                 }\r
167         }\r
168 \r
169         @Test\r
170         public void testParseModelFileIncompleteArtifact() throws Exception {\r
171                 final String MODEL_FILE = "src/test/resources/models/incomplete-model.xml";\r
172 \r
173                 try {\r
174                         byte[] xmlBytes = Files.readAllBytes(Paths.get(MODEL_FILE));            \r
175 \r
176                         ModelArtifactParser parser = new ModelArtifactParser();\r
177                         List<Artifact> modelList = parser.parse(xmlBytes, "test-artifact");\r
178 \r
179                         assertTrue(modelList == null || modelList.isEmpty());\r
180                 }\r
181                 catch (Exception e) {\r
182                         e.printStackTrace();\r
183                         assertTrue(false);\r
184                 }\r
185         }\r
186 \r
187         @Test\r
188         public void testParseModelFileIncompleteArtifacts() throws Exception {\r
189                 final String MODEL_FILE = "src/test/resources/models/incomplete-models.xml";\r
190 \r
191                 try {\r
192                         byte[] xmlBytes = Files.readAllBytes(Paths.get(MODEL_FILE));            \r
193 \r
194                         ModelArtifactParser parser = new ModelArtifactParser();\r
195                         List<Artifact> modelList = parser.parse(xmlBytes, "test-artifact");\r
196 \r
197                         assertTrue(modelList == null || modelList.isEmpty());\r
198                 }\r
199                 catch (Exception e) {\r
200                         e.printStackTrace();\r
201                         assertTrue(false);\r
202                 }\r
203         }\r
204 \r
205 }\r