7eb85da98bd3808fe76ac9fbce303383e547fe66
[policy/apex-pdp.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  * 
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  * 
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * 
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.apex.model.modelapi;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertTrue;
25
26 import org.junit.Test;
27
28 /**
29  * @author Liam Fallon (liam.fallon@ericsson.com)
30  */
31 public class TestApexEditorAPIContextSchema {
32     @Test
33     public void testContextSchemaCRUD() {
34         final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
35
36         ApexAPIResult result = apexModel.validateContextSchemas(null, null);
37         assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
38
39         result = apexModel.validateContextSchemas("%%%$£", null);
40         assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
41
42         result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.json");
43         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
44         result = apexModel.listContextSchemas(null, null);
45         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
46
47         result = apexModel.createContextSchema("Hello", "0.0.2", "Java", "java.lang.String",
48                 "1fa2e430-f2b2-11e6-bc64-92361f002671", "A description of hello");
49         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
50         result = apexModel.createContextSchema("Hello", "0.1.2", "Java", "java.lang.String",
51                 "1fa2e430-f2b2-11e6-bc64-92361f002672", "A description of hola");
52         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
53         result = apexModel.createContextSchema("Hello", "0.1.4", "Java", "java.lang.String",
54                 "1fa2e430-f2b2-11e6-bc64-92361f002672", "A description of connichi wa");
55         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
56         result = apexModel.createContextSchema("Hello", null, "Java", "java.lang.String", null, null);
57         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
58         result = apexModel.createContextSchema("Hello", null, "Java", "java.lang.String", null, null);
59         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
60         result = apexModel.deleteContextSchema("Hello", "0.1.4");
61         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
62         result = apexModel.createContextSchema("Hello", "0.1.4", "Java", "java.lang.String",
63                 "1fa2e430-f2b2-11e6-bc64-92361f002672", "A description of connichi wa");
64         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
65
66         result = apexModel.createContextSchema("Hello2", null, null, "java.lang.String", null, null);
67         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
68         result = apexModel.createContextSchema("Hello2", null, null, null, null, null);
69         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
70         result = apexModel.createContextSchema("Hello2", null, "Java", "java.lang.String", null, null);
71         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
72
73         result = apexModel.createContextSchema("Hello", "0.1.2", "Java", "java.lang.Float",
74                 "1fa2e430-f2b2-11e6-bc64-92361f002672", "A description of hola");
75         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
76
77         result = apexModel.deleteContextSchema("Hello", "0.1.4");
78         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
79         result = apexModel.createContextSchema("Hello", "0.1.4", "Java", "java.lang.String",
80                 "1fa2e430-f2b2-11e6-bc64-92361f002672", "A description of connichi wa");
81         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
82
83         result = apexModel.validateContextSchemas(null, null);
84         assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
85
86         result = apexModel.updateContextSchema(null, null, null, null, null, null);
87         assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
88
89         result = apexModel.updateContextSchema("Hello", "0.0.2", null, null, null, "An updated description of hello");
90         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
91         result = apexModel.updateContextSchema("Hello", "0.0.2", null, null, null, null);
92         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
93         result = apexModel.updateContextSchema("Hello", "0.1.2", "Java", "java.lang.Integer",
94                 "1fa2e430-f2b2-11e6-bc64-92361f002673", "A further updated description of hola");
95         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
96
97         result = apexModel.updateContextSchema("Hello2", "0.0.2", null, null, null, "An updated description of hello");
98         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
99
100         result = apexModel.listContextSchemas("@£%%$", null);
101         assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
102
103         result = apexModel.listContextSchemas("Hello", "0.1.2");
104         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
105         assertTrue(result.getMessages().size() == 2);
106
107         result = apexModel.listContextSchemas("Hello", null);
108         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
109         assertTrue(result.getMessages().size() == 4);
110
111         result = apexModel.listContextSchemas(null, null);
112         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
113         assertTrue(result.getMessages().size() == 9);
114
115         result = apexModel.deleteContextSchema("@£%%$", null);
116         assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
117
118         result = apexModel.deleteContextSchema("Hello", "0.1.1");
119         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
120
121         result = apexModel.deleteContextSchema("Hellooooo", null);
122         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
123
124         result = apexModel.listContextSchemas("Hello", null);
125         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
126         assertTrue(result.getMessages().size() == 4);
127
128         result = apexModel.deleteContextSchema("Hello", "0.1.2");
129         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
130
131         result = apexModel.listContextSchemas("Hello", null);
132         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
133         assertTrue(result.getMessages().size() == 3);
134
135         result = apexModel.deleteContextSchema("Hello", null);
136         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
137
138         result = apexModel.listContextSchemas("Hello", null);
139         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
140
141         result = apexModel.listContextSchemas(null, null);
142         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
143
144         result = apexModel.deleteContextSchema(null, null);
145         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
146         assertEquals(5, result.getMessages().size());
147
148         result = apexModel.listContextSchemas(null, null);
149         assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
150         assertEquals(0, result.getMessages().size());
151     }
152 }