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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 * SPDX-License-Identifier: Apache-2.0
19 * ============LICENSE_END=========================================================
22 package org.onap.policy.apex.model.modelapi;
24 import static org.junit.Assert.assertEquals;
26 import org.junit.Test;
29 * Context schema for API tests.
30 * @author Liam Fallon (liam.fallon@ericsson.com)
32 public class ApexEditorApiContextSchemaTest {
34 public void testContextSchemaCrud() {
35 final ApexModel apexModel = new ApexModelFactory().createApexModel(null);
37 ApexApiResult result = apexModel.validateContextSchemas(null, null);
38 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
40 result = apexModel.validateContextSchemas("%%%$£", null);
41 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
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());
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());
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());
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());
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());
84 result = apexModel.validateContextSchemas(null, null);
85 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
87 result = apexModel.updateContextSchema(null, null, null, null, null, null);
88 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
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());
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());
101 result = apexModel.listContextSchemas("@£%%$", null);
102 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
104 result = apexModel.listContextSchemas("Hello", "0.1.2");
105 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
106 assertEquals(2, result.getMessages().size());
108 result = apexModel.listContextSchemas("Hello", null);
109 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
110 assertEquals(4, result.getMessages().size());
112 result = apexModel.listContextSchemas(null, null);
113 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
114 assertEquals(9, result.getMessages().size());
116 result = apexModel.deleteContextSchema("@£%%$", null);
117 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
119 result = apexModel.deleteContextSchema("Hello", "0.1.1");
120 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
122 result = apexModel.deleteContextSchema("Hellooooo", null);
123 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
125 result = apexModel.listContextSchemas("Hello", null);
126 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
127 assertEquals(4, result.getMessages().size());
129 result = apexModel.deleteContextSchema("Hello", "0.1.2");
130 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
132 result = apexModel.listContextSchemas("Hello", null);
133 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
134 assertEquals(3, result.getMessages().size());
136 result = apexModel.deleteContextSchema("Hello", null);
137 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
139 result = apexModel.listContextSchemas("Hello", null);
140 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
142 result = apexModel.listContextSchemas(null, null);
143 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
145 result = apexModel.deleteContextSchema(null, null);
146 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
147 assertEquals(5, result.getMessages().size());
149 result = apexModel.listContextSchemas(null, null);
150 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
151 assertEquals(0, result.getMessages().size());