Migrate "ms/controllerblueprints" from ccsdk/apps
[ccsdk/cds.git] / ms / controllerblueprints / modules / resource-dict / src / test / java / org / onap / ccsdk / apps / controllerblueprints / resource / dict / service / ResourceAssignmentValidationServiceTest.kt
1 /*
2  *  Copyright © 2017-2018 AT&T Intellectual Property.
3  *
4  *  Licensed under the Apache License, Version 2.0 (the "License");
5  *  you may not use this file except in compliance with the License.
6  *  You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an "AS IS" BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License.
15  */
16
17 package org.onap.ccsdk.apps.controllerblueprints.resource.dict.service
18
19 import com.att.eelf.configuration.EELFLogger
20 import org.junit.Assert
21 import org.junit.Test
22 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException
23 import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonUtils
24 import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceAssignment
25 import com.att.eelf.configuration.EELFManager
26 import org.junit.Before
27 import org.onap.ccsdk.apps.controllerblueprints.resource.dict.utils.ResourceDictionaryTestUtils
28
29 /**
30  * ResourceAssignmentValidationServiceTest.
31  *
32  * @author Brinda Santh
33  */
34 class ResourceAssignmentValidationServiceTest {
35     private val log: EELFLogger = EELFManager.getInstance().getLogger(ResourceAssignmentValidationServiceTest::class.java)
36     @Before
37     fun setUp() {
38         // Setup dummy Source Instance Mapping
39         ResourceDictionaryTestUtils.setUpResourceSourceMapping()
40     }
41
42     @Test
43     fun testValidateSuccess() {
44         log.info("**************** testValidateSuccess *****************")
45         val assignments = JacksonUtils.getListFromClassPathFile("validation/success.json", ResourceAssignment::class.java)
46         val resourceAssignmentValidator = ResourceAssignmentValidationServiceImpl()
47         val result = resourceAssignmentValidator.validate(assignments!!)
48         Assert.assertTrue("Failed to Validate", result)
49     }
50
51     @Test(expected = BluePrintException::class)
52     fun testValidateDuplicate() {
53         log.info(" **************** testValidateDuplicate *****************")
54         val assignments = JacksonUtils.getListFromClassPathFile("validation/duplicate.json", ResourceAssignment::class.java)
55         val resourceAssignmentValidator = ResourceAssignmentValidationServiceImpl()
56         resourceAssignmentValidator.validate(assignments!!)
57     }
58
59     @Test(expected = BluePrintException::class)
60     fun testValidateCyclic() {
61         log.info(" ****************  testValidateCyclic *****************")
62         val assignments = JacksonUtils.getListFromClassPathFile("validation/cyclic.json", ResourceAssignment::class.java)
63         val resourceAssignmentValidator = ResourceAssignmentValidationServiceImpl()
64         resourceAssignmentValidator.validate(assignments!!)
65     }
66 }