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