0bf74b4c0c5441a260858918a71cd98f03aa5196
[ccsdk/features.git] /
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  * \r
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\r
5  * in compliance with the License. You may obtain a copy of the License at\r
6  * \r
7  * http://www.apache.org/licenses/LICENSE-2.0\r
8  * \r
9  * Unless required by applicable law or agreed to in writing, software distributed under the License\r
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\r
11  * or implied. See the License for the specific language governing permissions and limitations under\r
12  * the License.\r
13  */\r
14 \r
15 package org.onap.ccsdk.config.assignment.service;\r
16 \r
17 import java.io.IOException;\r
18 import java.nio.charset.Charset;\r
19 import java.util.List;\r
20 import org.apache.commons.io.IOUtils;\r
21 import org.junit.Assert;\r
22 import org.junit.Rule;\r
23 import org.junit.Test;\r
24 import org.junit.rules.ExpectedException;\r
25 import org.onap.ccsdk.config.model.ConfigModelException;\r
26 import org.onap.ccsdk.config.model.data.ResourceAssignment;\r
27 import org.onap.ccsdk.config.model.utils.TransformationUtils;\r
28 import org.onap.ccsdk.config.model.validator.ResourceAssignmentValidator;\r
29 import com.att.eelf.configuration.EELFLogger;\r
30 import com.att.eelf.configuration.EELFManager;\r
31 \r
32 public class ResourceAssignmentValidation {\r
33     private static EELFLogger logger = EELFManager.getInstance().getLogger(ResourceAssignmentValidation.class);\r
34     \r
35     @Rule\r
36     public final ExpectedException exception = ExpectedException.none();\r
37     \r
38     @Test\r
39     public void testValidateSuccess() {\r
40         try {\r
41             logger.info(" **************** testValidateSuccess *****************");\r
42             String resourceMapping = IOUtils.toString(\r
43                     TopologicalSortingTest.class.getClassLoader().getResourceAsStream("validation/success.json"),\r
44                     Charset.defaultCharset());\r
45             \r
46             List<ResourceAssignment> assignments =\r
47                     TransformationUtils.getListfromJson(resourceMapping, ResourceAssignment.class);\r
48             if (assignments != null) {\r
49                 ResourceAssignmentValidator resourceAssignmentValidator = new ResourceAssignmentValidator(assignments);\r
50                 \r
51                 boolean result = resourceAssignmentValidator.validateResourceAssignment();\r
52                 Assert.assertTrue("Failed to Validate", result);\r
53             }\r
54         } catch (Exception e) {\r
55             e.printStackTrace();\r
56         }\r
57     }\r
58     \r
59     @Test(expected = ConfigModelException.class)\r
60     public void testValidateDuplicate() throws IOException, ConfigModelException {\r
61         logger.info(" **************** testValidateDuplicate *****************");\r
62         String resourceMapping = IOUtils.toString(\r
63                 TopologicalSortingTest.class.getClassLoader().getResourceAsStream("validation/duplicate.json"),\r
64                 Charset.defaultCharset());\r
65         \r
66         List<ResourceAssignment> assignments =\r
67                 TransformationUtils.getListfromJson(resourceMapping, ResourceAssignment.class);\r
68         if (assignments != null) {\r
69             ResourceAssignmentValidator resourceAssignmentValidator = new ResourceAssignmentValidator(assignments);\r
70             resourceAssignmentValidator.validateResourceAssignment();\r
71         }\r
72         \r
73     }\r
74     \r
75     @Test(expected = ConfigModelException.class)\r
76     public void testValidateCyclic() throws IOException, ConfigModelException {\r
77         logger.info(" ****************  testValidateCyclic *****************");\r
78         String resourceMapping = IOUtils.toString(\r
79                 TopologicalSortingTest.class.getClassLoader().getResourceAsStream("validation/cyclic.json"),\r
80                 Charset.defaultCharset());\r
81         \r
82         List<ResourceAssignment> assignments =\r
83                 TransformationUtils.getListfromJson(resourceMapping, ResourceAssignment.class);\r
84         if (assignments != null) {\r
85             ResourceAssignmentValidator resourceAssignmentValidator = new ResourceAssignmentValidator(assignments);\r
86             \r
87             resourceAssignmentValidator.validateResourceAssignment();\r
88         }\r
89         \r
90     }\r
91 }\r