aboutsummaryrefslogtreecommitdiffstats
path: root/model/model-api/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'model/model-api/src/test')
-rw-r--r--model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestAPIResult.java80
-rw-r--r--model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIContextAlbum.java173
-rw-r--r--model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIContextSchema.java152
-rw-r--r--model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIEvent.java196
-rw-r--r--model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIKeyInfo.java136
-rw-r--r--model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIPolicy.java1022
-rw-r--r--model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPITask.java484
-rw-r--r--model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexModelAPI.java259
-rw-r--r--model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestModelFacade.java110
-rw-r--r--model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestModelHandlerFacade.java147
-rw-r--r--model/model-api/src/test/resources/META-INF/persistence.xml69
-rw-r--r--model/model-api/src/test/resources/logback-test.xml74
-rw-r--r--model/model-api/src/test/resources/models/PolicyModel.json708
-rw-r--r--model/model-api/src/test/resources/models/PolicyModel.junk9
-rw-r--r--model/model-api/src/test/resources/models/PolicyModel.xml759
15 files changed, 4378 insertions, 0 deletions
diff --git a/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestAPIResult.java b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestAPIResult.java
new file mode 100644
index 000000000..e85357fbf
--- /dev/null
+++ b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestAPIResult.java
@@ -0,0 +1,80 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.model.modelapi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.Arrays;
+
+import org.junit.Test;
+import org.onap.policy.apex.model.modelapi.ApexAPIResult.RESULT;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestAPIResult {
+
+ @Test
+ public void testAPIResult() {
+ assertNotNull(new ApexAPIResult());
+
+ for (final RESULT result : RESULT.values()) {
+ assertNotNull(new ApexAPIResult(result));
+ }
+
+ assertNotNull(new ApexAPIResult(RESULT.SUCCESS, "Result Message"));
+ assertNotNull(new ApexAPIResult(RESULT.FAILED, new IOException("IO Exception message")));
+ assertNotNull(new ApexAPIResult(RESULT.FAILED, "Result Message", new IOException("IO Exception message")));
+
+ final ApexAPIResult result =
+ new ApexAPIResult(RESULT.FAILED, "Result Message", new IOException("IO Exception message"));
+
+ assertFalse(result.isOK());
+ assertTrue(result.isNOK());
+ assertEquals(RESULT.FAILED, result.getResult());
+ assertEquals("Result Message\nIO Exception message\njava.io.IOExce", result.getMessage().substring(0, 50));
+
+ final ApexAPIResult result2 = new ApexAPIResult(RESULT.SUCCESS);
+ result2.addMessage(null);
+ assertEquals("", result2.getMessage());
+ result2.addMessage("");
+ assertEquals("", result2.getMessage());
+ result2.addMessage("funky message");
+ assertEquals("funky message\n", result2.getMessage());
+
+ result2.setResult(RESULT.OTHER_ERROR);
+ assertEquals(RESULT.OTHER_ERROR, result2.getResult());
+
+ final String[] messages = {"First Message", "Second Message", "Third Message"};
+ result2.setMessages(Arrays.asList(messages));
+ assertEquals("First Message", result2.getMessages().get(0));
+ assertEquals("Second Message", result2.getMessages().get(1));
+ assertEquals("Third Message", result2.getMessages().get(2));
+
+ assertEquals("result: OTHER_ERROR\nFirst Message\nSecond Message\nThird Message\n", result2.toString());
+ assertEquals("{\n" + "\"result\": \"OTHER_ERROR\",\n" + "\"messages\": [\n" + "\"First Message\",\n"
+ + "\"Second Message\",\n" + "\"Third Message\"]\n" + "}\n", result2.toJSON());
+ }
+}
diff --git a/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIContextAlbum.java b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIContextAlbum.java
new file mode 100644
index 000000000..ad464b187
--- /dev/null
+++ b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIContextAlbum.java
@@ -0,0 +1,173 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.model.modelapi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestApexEditorAPIContextAlbum {
+ @Test
+ public void testContextAlbumCRUD() {
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = apexModel.validateContextAlbum(null, null);
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
+
+ result = apexModel.validateContextAlbum("%%%$£", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createContextAlbum("MyMap002", "0.0.2", "APPLICATION", "true", "MapType", "0.0.1",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextAlbum("MyMap012", "0.1.2", "ZOOBY", "false", "MapType", "0.0.1",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 012");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextAlbum("MyMap012", "0.1.4", "UNDEFINED", null, "MapType", "0.0.1",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 014");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextAlbum("MyMap012", null, null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createContextAlbum("MyMap012", null, "EPHEMERAL", null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createContextAlbum("MyMap012", null, "EPHEMERAL", "false", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createContextAlbum("MyMap012", null, "EPHEMERAL", "false", "", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createContextAlbum("MyMap012", null, "EPHEMERAL", "false", "+++", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createContextAlbum("MyMap012", null, "EPHEMERAL", "false", "MapZooby", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createContextAlbum("MyMap012", null, "EPHEMERAL", "false", "MapType", "--++", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createContextAlbum("MyMap012", null, "EPHEMERAL", "false", "MapType", "0.0.2", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createContextAlbum("MyMap012", null, "EPHEMERAL", "false", "MapType", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextAlbum("MyMap012", null, "EPHEMERAL", "false", "MapType", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createContextAlbum("MyMap002", "0.0.2", "APPLICATION", "true", "MapType", null,
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createContextAlbum("MyMap011", "0.1.2", "APPLICATION", "true", "MapType", "0.0.1",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.deleteContextAlbum("MyMap012", "0.1.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextAlbum("MyMap012", "0.1.2", "ZOOBY", "false", "MapType", "0.0.1",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 012");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.validateContextAlbum(null, null);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModel.updateContextAlbum(null, null, null, null, null, null, null, null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+ result = apexModel.updateContextAlbum("MyMap002", "0.0.2", null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextAlbum("MyMap002", "0.0.2", "ZOOBY", "true", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextAlbum("MyMap002", "0.0.2", null, null, null, null,
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextAlbum("MyMap012", null, null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextAlbum("MyMap012", null, null, "true", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextAlbum("MyMap012", null, "APPLICATION", null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextAlbum("MyMap015", null, null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateContextAlbum("MyMap014", "0.1.5", null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateContextAlbum("MyMap012", null, "APPLICATION", "false", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextAlbum("MyMap012", null, "APPLICATION", "false", "StringType", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextAlbum("MyMap012", null, "APPLICATION", "false", "String", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateContextAlbum("MyMap012", null, "APPLICATION", "false", "StringType", "0.0.2", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateContextAlbum("MyMap012", null, "APPLICATION", "false", "StringType", "0.0.1", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextAlbum("MyMap012", null, "APPLICATION", "Hello", "StringType", "0.0.1", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listContextAlbum("@£%%$", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.listContextAlbum(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listContextAlbum("MyMap012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listContextAlbum("MyMap012", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listContextAlbum("MyMap012", "0.2.5");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listContextAlbum("MyMap014", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteContextAlbum("@£%%$", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.deleteContextAlbum("MyMap012", "0.1.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteContextAlbum("MyMap012oooo", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listContextAlbum("MyMap012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 3);
+
+ result = apexModel.deleteContextAlbum("MyMap012", "0.1.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listContextAlbum("MyMap012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 2);
+
+ result = apexModel.deleteContextAlbum("MyMap012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listContextAlbum("MyMap012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteContextAlbum(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(4, result.getMessages().size());
+
+ result = apexModel.listContextAlbum(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(0, result.getMessages().size());
+ }
+}
diff --git a/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIContextSchema.java b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIContextSchema.java
new file mode 100644
index 000000000..7eb85da98
--- /dev/null
+++ b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIContextSchema.java
@@ -0,0 +1,152 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.model.modelapi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestApexEditorAPIContextSchema {
+ @Test
+ public void testContextSchemaCRUD() {
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = apexModel.validateContextSchemas(null, null);
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
+
+ result = apexModel.validateContextSchemas("%%%$£", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listContextSchemas(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createContextSchema("Hello", "0.0.2", "Java", "java.lang.String",
+ "1fa2e430-f2b2-11e6-bc64-92361f002671", "A description of hello");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextSchema("Hello", "0.1.2", "Java", "java.lang.String",
+ "1fa2e430-f2b2-11e6-bc64-92361f002672", "A description of hola");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextSchema("Hello", "0.1.4", "Java", "java.lang.String",
+ "1fa2e430-f2b2-11e6-bc64-92361f002672", "A description of connichi wa");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextSchema("Hello", null, "Java", "java.lang.String", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextSchema("Hello", null, "Java", "java.lang.String", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.deleteContextSchema("Hello", "0.1.4");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextSchema("Hello", "0.1.4", "Java", "java.lang.String",
+ "1fa2e430-f2b2-11e6-bc64-92361f002672", "A description of connichi wa");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createContextSchema("Hello2", null, null, "java.lang.String", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createContextSchema("Hello2", null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createContextSchema("Hello2", null, "Java", "java.lang.String", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createContextSchema("Hello", "0.1.2", "Java", "java.lang.Float",
+ "1fa2e430-f2b2-11e6-bc64-92361f002672", "A description of hola");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+
+ result = apexModel.deleteContextSchema("Hello", "0.1.4");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createContextSchema("Hello", "0.1.4", "Java", "java.lang.String",
+ "1fa2e430-f2b2-11e6-bc64-92361f002672", "A description of connichi wa");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.validateContextSchemas(null, null);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModel.updateContextSchema(null, null, null, null, null, null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.updateContextSchema("Hello", "0.0.2", null, null, null, "An updated description of hello");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextSchema("Hello", "0.0.2", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateContextSchema("Hello", "0.1.2", "Java", "java.lang.Integer",
+ "1fa2e430-f2b2-11e6-bc64-92361f002673", "A further updated description of hola");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.updateContextSchema("Hello2", "0.0.2", null, null, null, "An updated description of hello");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listContextSchemas("@£%%$", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.listContextSchemas("Hello", "0.1.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 2);
+
+ result = apexModel.listContextSchemas("Hello", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 4);
+
+ result = apexModel.listContextSchemas(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 9);
+
+ result = apexModel.deleteContextSchema("@£%%$", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.deleteContextSchema("Hello", "0.1.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteContextSchema("Hellooooo", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listContextSchemas("Hello", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 4);
+
+ result = apexModel.deleteContextSchema("Hello", "0.1.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listContextSchemas("Hello", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 3);
+
+ result = apexModel.deleteContextSchema("Hello", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listContextSchemas("Hello", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listContextSchemas(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.deleteContextSchema(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(5, result.getMessages().size());
+
+ result = apexModel.listContextSchemas(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(0, result.getMessages().size());
+ }
+}
diff --git a/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIEvent.java b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIEvent.java
new file mode 100644
index 000000000..da9f48c25
--- /dev/null
+++ b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIEvent.java
@@ -0,0 +1,196 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.model.modelapi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestApexEditorAPIEvent {
+ @Test
+ public void testEventCRUD() {
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = apexModel.validateEvent(null, null);
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
+
+ result = apexModel.validateEvent("%%%$£", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createEvent("MyEvent002", "0.0.2", "My Namespace", "My Source", "my target",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createEvent("MyEvent012", "0.1.2", "My Namespace", "My Source", "my target",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 012");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createEvent("MyEvent012", "0.1.4", "My Namespace", "My Source", "my target",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 014");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createEvent("MyEvent012", null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createEvent("MyEvent012", null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createEvent("MyEvent002", "0.0.2", "My Namespace", "My Source", "my target",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createEvent("@£$%^", "0.2.5", "My Namespace", "My Source", "my target",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.deleteEvent("MyEvent012", "0.1.4");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createEvent("MyEvent012", "0.1.4", "My Namespace", "My Source", "my target",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 014");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.validateEvent(null, null);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModel.updateContextSchema(null, null, null, null, null, null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+ result = apexModel.updateEvent("MyEvent012", "0.1.2", "Another Namespace", null, "Another target", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateEvent("MyEvent002", "0.0.2", "My Namespace", "My Source", "my target",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateEvent("MyEvent012", null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateEvent("MyEvent015", null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateEvent("MyEvent014", "0.1.5", null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateEvent("@£$%^^", "0.6.9", null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.listEvent("@£$%", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listEvent(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listEvent("MyEvent012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listEvent("MyEvent012", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listEvent("MyEvent012", "0.2.5");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listEvent("MyEvent123", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteEvent("@£$%^", "0.1.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deleteEvent("MyEvent012", "0.1.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteEvent("MyEvent012oooo", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listEvent("MyEvent012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 3);
+
+ result = apexModel.deleteEvent("MyEvent012", "0.1.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listEvent("MyEvent012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 2);
+
+ result = apexModel.deleteEvent("MyEvent012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listEvent("MyEvent012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createEventPar("MyEvent123", null, "NewPar00", null, null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createEventPar("MyEvent002", "4.5.6", "NewPar00", null, null, true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createEventPar("MyEvent002", "0.1.4", "NewPar00", null, null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createEventPar("MyEvent002", "0.0.2", "NewPar00", null, null, true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.createEventPar("MyEvent002", "0.0.2", "NewPar00", "eventContextItem0", null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createEventPar("MyEvent002", "0.0.2", "NewPar00", "eventContextItem0", null, true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createEventPar("MyEvent002", "0.0.2", "NewPar01", "eventContextItem0", "0.0.1", false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createEventPar("MyEvent002", "0.0.2", "NewPar02", "eventContextItem0", "0.0.2", true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createEventPar("MyEvent002", null, "NewPar02", "eventContextItem0", null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createEventPar("MyEvent002", null, "NewPar03", "eventContextItem0", null, true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listEventPar("@£%%$", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listEventPar("MyEvent002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listEventPar("MyEvent002", "0.0.1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listEventPar("MyEvent002", "0.0.2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listEventPar("MyEvent002", "0.0.2", "NewPar01");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listEventPar("MyEvent002", "0.0.2", "NewPar02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listEventPar("MyEvent002", "0.0.2", "NewPar04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteEventPar("@££%%%", "0.0.2", "NewPar04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deleteEventPar("NonExistantEvent", "0.0.2", "NewPar04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(4, apexModel.listEventPar("MyEvent002", null, null).getMessages().size());
+ result = apexModel.deleteEventPar("MyEvent002", "0.0.2", "NewPar04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(4, apexModel.listEventPar("MyEvent002", null, null).getMessages().size());
+ result = apexModel.deleteEventPar("MyEvent002", null, "NewPar02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(3, apexModel.listEventPar("MyEvent002", null, null).getMessages().size());
+ result = apexModel.deleteEventPar("MyEvent002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listEventPar("MyEvent002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deleteEventPar("MyEvent002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listEventPar("MyEvent002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteEvent(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(4, result.getMessages().size());
+
+ result = apexModel.listEvent(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(0, result.getMessages().size());
+ }
+}
diff --git a/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIKeyInfo.java b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIKeyInfo.java
new file mode 100644
index 000000000..c755b9064
--- /dev/null
+++ b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIKeyInfo.java
@@ -0,0 +1,136 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.model.modelapi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestApexEditorAPIKeyInfo {
+
+ @Test
+ public void testKeyInfoCRUD() {
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = apexModel.validateKeyInformation(null, null);
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
+
+ result = apexModel.validateKeyInformation("%%%$£", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createKeyInformation(null, null, null, null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.createKeyInformation("Hello", "0.0.2", "1fa2e430-f2b2-11e6-bc64-92361f002671",
+ "A description of hello");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createKeyInformation("Hello", "0.1.2", "1fa2e430-f2b2-11e6-bc64-92361f002672",
+ "A description of hola");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createKeyInformation("Hello", "0.1.4", "1fa2e430-f2b2-11e6-bc64-92361f002672",
+ "A description of connichi wa");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createKeyInformation("Hello", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createKeyInformation("Hello", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+
+ result = apexModel.createKeyInformation("Hello", "0.1.2", "1fa2e430-f2b2-11e6-bc64-92361f002672",
+ "A description of hola");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+
+ result = apexModel.validateKeyInformation(null, null);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModel.updateKeyInformation(null, null, null, null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.updateKeyInformation("Hello", "0.0.2", null, "An updated description of hello");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateKeyInformation("Hello", "0.0.2", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateKeyInformation("Hello", "0.1.2", "1fa2e430-f2b2-11e6-bc64-92361f002673",
+ "A further updated description of hola");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.updateKeyInformation("Hello2", "0.0.2", null, "An updated description of hello");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listKeyInformation(null, null);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModel.listKeyInformation("%%%$$", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.listKeyInformation("Hello", "0.1.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 2);
+
+ result = apexModel.listKeyInformation("Hello", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 4);
+
+ result = apexModel.deleteKeyInformation("Hello", "0.1.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteKeyInformation("Hellooooo", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listKeyInformation("Hello", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 4);
+
+ result = apexModel.listKeyInformation(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 22);
+
+ result = apexModel.deleteKeyInformation("%%%$$", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.deleteKeyInformation("Hello", "0.1.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listKeyInformation("Hello", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 3);
+
+ result = apexModel.deleteKeyInformation("Hello", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listKeyInformation("Hello", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteKeyInformation(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(18, result.getMessages().size());
+
+ result = apexModel.listKeyInformation(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(0, result.getMessages().size());
+ }
+}
diff --git a/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIPolicy.java b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIPolicy.java
new file mode 100644
index 000000000..94861f9d4
--- /dev/null
+++ b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPIPolicy.java
@@ -0,0 +1,1022 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.model.modelapi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestApexEditorAPIPolicy {
+ @Test
+ public void MyTestPolicyCRUD() {
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = apexModel.validatePolicy(null, null);
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
+
+ result = apexModel.validatePolicy("%%%$£", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createPolicy("MyPolicy002", "0.0.2", "SomeTemplate", "AState",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicy("MyPolicy002", "0.0.2", "SomeTemplate", "AState",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createPolicy("MyPolicy012", null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicy("MyPolicy012", null, "SomeTemplate", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicy("MyPolicy013", null, null, "AState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicy("MyPolicy012", null, "SomeTemplate", "AState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicy("MyPolicy002", "0.0.2", "SomeTemplate", "AState",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createPolicy("MyPolicy012", "0.1.2", "SomeTemplate", "AState",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicy("MyTestPolicy", "0.0.1", "SomeTemplate", "TestState",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.deletePolicy("MyPolicy002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicy("MyPolicy002", "0.0.2", "SomeTemplate", "AState",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.validatePolicy(null, null);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModel.updatePolicy("@£$$", "0.0.2", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updatePolicy("MyPolicy002", "0.0.2", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicy("MyPolicy002", "0.0.1", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicy("MyPolicy002", "0.0.2", "SomeOtherTemplate", "BState",
+ "1fa2e430-f2b2-11e6-bc64-92361f002700", "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicy("MyPolicy012", null, "SomeOtherTemplate", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicy("MyPolicy012", null, null, "CState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicy("MyPolicy012", null, "SomeOtherTemplate", "BState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicy("MyPolicy015", null, "SomeOtherTemplate", "DState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicy("MyPolicy014", "0.1.5", "SomeOtherTemplate", "EState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listPolicy("@£$%%", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicy(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(6, result.getMessages().size());
+ result = apexModel.listPolicy("MyPolicy012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.listPolicy("MyPolicy012", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicy("MyPolicy012", "0.2.5");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicy("MyPolicy014", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deletePolicy("@£$%", "0.1.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.deletePolicy("MyPolicy012", "0.1.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deletePolicy("MyPolicy012oooo", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listPolicy("MyPolicy012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 2);
+
+ result = apexModel.deletePolicy("MyPolicy002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 1);
+
+ result = apexModel.listPolicy("MyPolicy012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 2);
+
+ result = apexModel.deletePolicy("MyPolicy012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 2);
+
+ result = apexModel.createPolicyState(null, null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyState("MyPolicy123", null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyState("MyPolicy123", null, "AState", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyState("MyTestPolicy", "0.0.2", "AState", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyState("MyTestPolicy", null, "AState", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyState("MyTestPolicy", null, "AState", "ATrigger", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyState("MyTestPolicy", null, "AState", "inEvent", "0.0.2", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyState("MyTestPolicy", null, "AState", "inEvent", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyState("MyTestPolicy", null, "AState", "inEvent", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyState("MyTestPolicy", null, "AState", "inEvent", null, "ATask", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyState("MyTestPolicy", null, "AState", "inEvent", null, "task", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyState("MyTestPolicy", null, "AState", "inEvent", null, "task", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyState("MyTestPolicy", null, "AState", "inEvent", null, "task", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createPolicyState("MyTestPolicy", "0.0.1", "AState", "inEvent", "0.0.1", "task", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createPolicyState("MyTestPolicy", "0.0.1", "BState", "inEvent", "0.0.1", "task", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyState("MyTestPolicy", "0.0.1", "CState", "inEvent", "0.0.1", "task", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyState("MyTestPolicy", "0.0.1", "DState", "inEvent", "0.0.1", "task", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.updatePolicyState(null, null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updatePolicyState("MyPolicy123", null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updatePolicyState("MyPolicy123", null, "AState", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyState("MyTestPolicy", "0.0.2", "AState", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyState("MyTestPolicy", null, "AState", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyState("MyTestPolicy", null, "ZState", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyState("MyTestPolicy", null, "AState", "ATrigger", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyState("MyTestPolicy", null, "AState", "inEvent", "0.0.2", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyState("MyTestPolicy", null, "AState", "inEvent", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyState("MyTestPolicy", null, "AState", "inEvent", "0.0.2", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyState("MyTestPolicy", null, "AState", "inEvent", null, "ATask", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyState("MyTestPolicy", null, "AState", "inEvent", null, "task", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyState("MyTestPolicy", null, "AState", "inEvent", null, "task", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyState("MyTestPolicy", null, "AState", "inEvent", null, "task", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyState("MyTestPolicy", "0.0.1", "AState", "inEvent", "0.0.1", "task", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyState("MyTestPolicy", "0.0.1", "BState", "inEvent", "0.0.1", "task", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyState("MyTestPolicy", "0.0.1", "CState", "inEvent", "0.0.1", "task", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyState("MyTestPolicy", "0.0.1", "DState", "inEvent", "0.0.1", "task", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listPolicyState("MyTestPolicy", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(4, result.getMessages().size());
+ result = apexModel.listPolicyState(null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyState("SomeOtherPolicy", "0.0.1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyState("SomeOtherPolicy", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyState("MyTestPolicy", "0.0.2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyState("MyTestPolicy", "0.0.1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(4, result.getMessages().size());
+ result = apexModel.listPolicyState("MyTestPolicy", "0.0.1", "CState");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyState("MyTestPolicy", null, "CState");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyState("MyTestPolicy", "0.0.1", "AState");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyState("MyTestPolicy", "0.0.1", "EState");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deletePolicyState("@£$$", "0.0.2", "Trigger04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ assertEquals(4, apexModel.listPolicyState("MyTestPolicy", null, null).getMessages().size());
+ result = apexModel.deletePolicyState("MyTestPolicy", "0.0.2", "Trigger04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(4, apexModel.listPolicyState("MyTestPolicy", null, null).getMessages().size());
+ result = apexModel.deletePolicyState("MyTestPolicy", null, "CState");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deletePolicyState("MyTestPolicy", null, "ZState");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(3, apexModel.listPolicyState("MyTestPolicy", null, null).getMessages().size());
+ result = apexModel.deletePolicyState("MyTestPolicy", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listPolicyState("MyTestPolicy", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyState("MyTestPolicy", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createPolicyState("MyTestPolicy", "0.0.1", "TestState1", "inEvent", "0.0.1", "task",
+ "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createPolicyState("MyTestPolicy", "0.0.1", "TestState2", "outEvent0", "0.0.1", "task",
+ "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createPolicyState("MyTestPolicy", "0.0.1", "TestState3", "outEvent1", "0.0.1", "task",
+ "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createPolicyStateTaskSelectionLogic(null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", null, "SomeState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", "1.2.3", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1", "NewTSL00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1", "UNDEFINED",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1", "MVEL",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+
+ result = apexModel.deletePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1", "JAVA",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1", "JYTHON",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1", "JAVASCRIPT",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1", "JRUBY",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.updatePolicyStateTaskSelectionLogic(null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState99", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy2", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy1", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "NonExistantState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1", "",
+ "Some Other Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1", "MVEL",
+ "Some Other Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyPolicy012", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1", null,
+ "Some Other Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyPolicy015", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyPolicy014", "0.1.5", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listPolicyStateTaskSelectionLogic(null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateTaskSelectionLogic("zooby", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateTaskSelectionLogic("zooby", null, "looby");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskSelectionLogic("zooby", null, "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskSelectionLogic("MyTestPolicy", null, "looby");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.2", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+
+ result = apexModel.deletePolicyStateTaskSelectionLogic(null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("zooby", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("zooby", null, "looby");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("zooby", null, "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("MyTestPolicy", null, "looby");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.2", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listPolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1", null,
+ "Some Other Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.createPolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1", "JRUBY",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listPolicyStateTaskSelectionLogic("MyTestPolicy", null, "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deletePolicyStateTaskSelectionLogic("MyTestPolicy", "0.0.1", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createPolicyStateOutput(null, null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", null, "SomeState", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", null, "SomeState", "SomeOutput", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "1.2.3", "TestState1", "SomeOutput", null, null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOutput", null, null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOutput",
+ "SomeDummyEvent", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOutput", "inEvent",
+ "1.2.3", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOutput", "inEvent",
+ "0.0.1", "SomeDummyNextState");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOutput", "inEvent",
+ "0.0.1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOtherOutput", "inEvent",
+ "0.0.1", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOtherOutput", "inEvent",
+ "0.0.1", "TestState2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOtherOutput", "inEvent",
+ "0.0.1", "TestState2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState2", "AnotherOtherOutput",
+ "outEvent0", "0.0.1", "TestState3");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState2", "YetAnotherOtherOutput",
+ "outEvent0", "0.0.1", "TestState3");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listPolicyStateOutput(null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", "0.0.2", "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", null, "SomeState", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "YetAnotherOtherOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState2", "YetAnotherOtherOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState3", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deletePolicyStateOutput(null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateOutput("MyTestPolicy", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateOutput("MyTestPolicy", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateOutput("MyTestPolicy", "0.0.2", "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateOutput("MyTestPolicy", null, "SomeState", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateOutput("MyTestPolicy", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateOutput("MyTestPolicy", "0.0.1", "TestState3", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateOutput("MyTestPolicy", "0.0.1", "TestState3", "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", null, "TestState1", null);
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.deletePolicyStateOutput("MyTestPolicy", null, "TestState1", "SomeOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", null, "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.deletePolicyStateOutput("MyTestPolicy", null, "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", null, "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", null, "TestState2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.deletePolicyStateOutput("MyTestPolicy", null, "TestState2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.listPolicyStateOutput("MyTestPolicy", null, "TestState2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOutput", "inEvent",
+ "0.0.1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOtherOutput", "inEvent",
+ "0.0.1", "TestState1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState1", "SomeOtherOutput", "inEvent",
+ "0.0.1", "TestState2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState2", "AnotherOtherOutput",
+ "outEvent0", "0.0.1", "TestState3");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateOutput("MyTestPolicy", "0.0.1", "TestState2", "YetAnotherOtherOutput",
+ "outEvent0", "0.0.1", "TestState3");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createPolicyStateFinalizerLogic(null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", null, "SomeState", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", null, "SomeState", "SFLName01", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "1.2.3", "TestState1", "SFLName01", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName01", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName01",
+ "NewTSL00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName02",
+ "UNDEFINED", "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName03", "MVEL",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName03", "MVEL",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName04", "JAVA",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName05", "JYTHON",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", "SFLName06",
+ "JAVASCRIPT", "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", "SFLName07", "JRUBY",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.updatePolicyStateFinalizerLogic(null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy", null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy", null, "TestState99", "SomeSFLName", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy2", null, "TestState1", "SomeSFLName", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy1", "0.0.2", "TestState1", "SomeSFLName", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "NonEistantSFL", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName06", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName06", "",
+ "Some Other Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName06", "MVEL",
+ "Some Other Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyPolicy012", null, "TestState1", "SFLName06", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", "SFLName06", null,
+ "Some Other Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", "SFLName06", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyPolicy015", null, "TestState1", "SFLName06", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updatePolicyStateFinalizerLogic("MyPolicy014", "0.1.5", "TestState1", "SFLName06", null,
+ null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listPolicyStateFinalizerLogic(null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", "0.0.2", "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", null, "SomeState", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateFinalizerLogic("zooby", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateFinalizerLogic("zooby", null, "looby", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateFinalizerLogic("zooby", null, "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", null, "looby", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", "0.0.2", "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(6, result.getMessages().size());
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", "SFLName06");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+
+ result = apexModel.deletePolicyStateFinalizerLogic(null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", "0.0.2", "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", null, "SomeState", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateFinalizerLogic("zooby", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateFinalizerLogic("zooby", null, "looby", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateFinalizerLogic("zooby", null, "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", null, "looby", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", "0.0.2", "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName06");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName06");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", "SFLName06");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(5, result.getMessages().size());
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", "SFLName02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(4, result.getMessages().size());
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(4, result.getMessages().size());
+ result = apexModel.deletePolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName02",
+ "UNDEFINED", "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName03", "MVEL",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName04", "JAVA",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", "0.0.1", "TestState1", "SFLName05", "JYTHON",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", "SFLName06",
+ "JAVASCRIPT", "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateFinalizerLogic("MyTestPolicy", null, "TestState1", "SFLName07", "JRUBY",
+ "Some Policy Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createTask("TestTask0", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTask("TestTask1", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTask("TestTask2", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTask("TestTask3", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTask("TestTask4", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createPolicyStateTaskRef(null, null, null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, null, null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "SomeState", null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "SomeState", null, null, null, null,
+ "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", "1.2.3", "SomeState", null, null, null, null,
+ "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskRef("AnyOldPolicy", "1.2.3", "SomeState", null, null, null, null,
+ "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", "0.0.1", "TestState1", "SomeTaskLocalName", null,
+ null, null, "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", "0.0.1", "TestState1", "SomeTaskLocalName",
+ "SomeTask", "Zooby|", null, "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", "0.0.1", "TestState1", "SomeTaskLocalName",
+ "SomeTask", "0.0.1", null, "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", "0.0.1", "TestState1", "SomeTaskLocalName", "task",
+ "0.0.1", null, "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", "0.0.1", "TestState1", "SomeTaskLocalName", "task",
+ "0.0.1", "Some Policy Logic", "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", "0.0.1", "TestState1", "SomeTaskLocalName", "task",
+ "0.0.1", "DIRECT", "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", "0.0.1", "TestState1", "SomeTaskLocalName", "task",
+ "0.0.1", "LOGIC", "DummyOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName", "task",
+ "0.0.1", "DIRECT", "SFLName07");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName", "task",
+ "0.0.1", "LOGIC", "SomeOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName", "task",
+ "0.0.1", "DIRECT", "SomeOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName",
+ "NonExistantTask", "0.0.1", "DIRECT", "SomeOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName", "task",
+ "0.0.1", "LOGIC", "SFLName07");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName",
+ "TestTask0", "0.0.1", "LOGIC", "SFLName07");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName",
+ "TestTask1", "0.0.1", "DIRECT", "SomeOtherOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName",
+ "TestTask2", "0.0.1", "LOGIC", "SFLName07");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName",
+ "TestTask3", "0.0.1", "DIRECT", "SomeOtherOutput");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", null, "TestTask4", "0.0.1",
+ "LOGIC", "SFLName07");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", null, "TestTask4", "0.0.1",
+ "LOGIC", "SFLName07");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", null, "TestState1", "TestTask4", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName",
+ "TestTask4", "0.0.1", "FUNKY", "SFLName07");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName",
+ "TestTask4", "0.0.1", "UNDEFINED", "SFLName07");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeTaskLocalName",
+ "TestTask4", "0.0.1", "LOGIC", "SFLName07");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateTaskRef("MyTestPolicy", null, "TestState1", null, "TestTask0", "0.0.1",
+ "LOGIC", "SFLName07");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+
+ result = apexModel.listPolicyStateTaskRef(null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", "0.0.1", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "SomeState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", "0.0.1", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateTaskRef("zooby", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateTaskRef("zooby", null, "looby", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskRef("zooby", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "looby", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(12, result.getMessages().size());
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "SomeOldTask", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "task", "1.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "task", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "TestState1", "task", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+
+ result = apexModel.deletePolicyStateTaskRef(null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", "0.0.1", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", null, "SomeState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", "0.0.1", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateTaskRef("zooby", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateTaskRef("zooby", null, "looby", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskRef("zooby", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", null, "looby", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", "0.0.1", "TestState1", "ADummyTask", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", "0.0.1", "TestState1", "task", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(12, result.getMessages().size());
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", null, "TestState1", "TestTask0", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(10, result.getMessages().size());
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", null, "TestState1", "TestTask2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(8, result.getMessages().size());
+ result = apexModel.deletePolicyStateTaskRef("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(4, result.getMessages().size());
+ result = apexModel.listPolicyStateTaskRef("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createPolicyStateContextRef(null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", null, "SomeState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", null, "SomeState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "1.2.3", "SomeState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("AnyOldPolicy", "1.2.3", "SomeState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "SomeTask", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "SomeTask", "Zooby|");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "SomeTask", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "task", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("MyPolicy123", null, null, "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateContextRef("MyPolicy123", null, "TestState1", "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "4.5.6", "TestState1", "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.1.4", "TestState1", "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", "");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", null, "TestState1", "contextAlbum0", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+
+ result = apexModel.listPolicyStateContextRef(null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.1", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", null, "SomeState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.1", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateContextRef("zooby", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateContextRef("zooby", null, "looby", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateContextRef("zooby", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", null, "looby", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "AContextMap04", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", "1.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deletePolicyStateContextRef(null, null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", "0.0.1", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", null, "SomeState", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", "0.0.1", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateContextRef("zooby", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateContextRef("zooby", null, "looby", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateContextRef("zooby", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", null, "looby", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", "0.0.2", "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "ADummyContextMap", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", null, null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "AContextMap04", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", null, "TestState1", "contextAlbum0", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", null, "TestState1", "contextAlbum0", "0.1.5");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", null, "TestState1", "contextAlbum1", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.createPolicyStateContextRef("MyTestPolicy", "0.0.1", "TestState1", "contextAlbum0", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deletePolicyStateContextRef("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listPolicyStateContextRef("MyTestPolicy", null, "TestState1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deletePolicy(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(3, result.getMessages().size());
+
+ result = apexModel.listPolicy(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(0, result.getMessages().size());
+ }
+}
diff --git a/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPITask.java b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPITask.java
new file mode 100644
index 000000000..e39da2876
--- /dev/null
+++ b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexEditorAPITask.java
@@ -0,0 +1,484 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.model.modelapi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestApexEditorAPITask {
+ @Test
+ public void testTaskCRUD() {
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = apexModel.validateTask(null, null);
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
+
+ result = apexModel.validateTask("%%%$£", null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.createTask("@^^$^^$", "0.0.2", "1fa2e430-f2b2-11e6-bc64-92361f002700",
+ "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createTask("MyTask002", "0.0.2", "1fa2e430-f2b2-11e6-bc64-92361f002700",
+ "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTask("MyTask002", "0.0.2", "1fa2e430-f2b2-11e6-bc64-92361f002700",
+ "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createTask("MyTask012", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTask("MyTask012", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.listTask(null, null);
+ result = apexModel.createTask("MyTask002", "0.0.2", "1fa2e430-f2b2-11e6-bc64-92361f002700",
+ "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createTask("MyTask012", "0.1.2", "1fa2e430-f2b2-11e6-bc64-92361f002700",
+ "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.deleteTask("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTask("MyTask002", "0.0.2", "1fa2e430-f2b2-11e6-bc64-92361f002700",
+ "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.validateTask(null, null);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModel.updateTask("@$$$£", "0.0.2", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updateTask("MyTask002", "0.0.2", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateTask("MyTask002", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateTask("MyTask002", "0.0.2", "1fa2e430-f2b2-11e6-bc64-92361f002700",
+ "A description of 002");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateTask("MyTask012", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateTask("MyTask012", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateTask("MyTask012", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateTask("MyTask015", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateTask("MyTask014", "0.1.5", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listTask("£@£@@£@£", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listTask(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTask("MyTask012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTask("MyTask012", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTask("MyTask012", "0.2.5");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listTask("MyTask014", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteTask("@£££@", "0.1.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deleteTask("MyTask012", "0.1.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deleteTask("MyTask012oooo", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listTask("MyTask012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 2);
+
+ result = apexModel.deleteTask("MyTask012", "0.1.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listTask("MyTask012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertTrue(result.getMessages().size() == 1);
+
+ result = apexModel.deleteTask("MyTask012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listTask("MyTask012", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.updateTaskLogic("MyTask002", null, "NewLogic00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskLogic("MyTask123", null, "NewLogic00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskLogic("MyTask002", "4.5.6", "NewLogic00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskLogic("MyTask002", "0.1.4", "NewLogic00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskLogic("MyTask002", "0.0.2", "NewLogic00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createTaskLogic("MyTask002", "0.0.2", "UNDEFINED", "Some Task Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskLogic("MyTask002", "0.0.2", "MVEL", "Some Task Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.deleteTaskLogic("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskLogic("MyTask002", "0.0.2", "JAVA", "Some Task Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskLogic("MyTask002", "0.0.2", "JYTHON", "Some Task Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.deleteTaskLogic("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskLogic("MyTask002", null, "JAVASCRIPT", "Some Task Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deleteTaskLogic("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskLogic("MyTask002", null, "JRUBY", "Some Task Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.updateTaskLogic("MyTask002", "0.0.2", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateTaskLogic("MyTask002", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateTaskLogic("MyTask002", "0.0.2", "", "Some Other Task Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.updateTaskLogic("MyTask002", "0.0.2", "MVEL", "Some Other Task Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateTaskLogic("MyTask012", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateTaskLogic("MyTask002", null, null, "Some Other Task Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateTaskLogic("MyTask002", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.updateTaskLogic("MyTask015", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.updateTaskLogic("MyTask014", "0.1.5", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.listTaskLogic("MyTask002", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskLogic("MyTask002", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listTaskLogic("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskLogic("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskLogic("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskLogic(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.deleteTaskLogic("@£@£@£", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deleteTaskLogic("NonExistantTask", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ assertEquals(1, apexModel.listTaskLogic("MyTask002", null).getMessages().size());
+ result = apexModel.deleteTaskLogic("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskLogic("MyTask002", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deleteTaskLogic("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(1, apexModel.listTaskLogic("MyTask002", null).getMessages().size());
+ result = apexModel.createTaskLogic("MyTask002", null, "JRUBY", "Some Task Logic");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskLogic("MyTask002", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deleteTaskLogic("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.deleteTaskLogic("MyTask002", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskInputField("MyTask123", null, "NewField00", null, null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskInputField("MyTask002", "4.5.6", "NewField00", null, null, true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskInputField("MyTask002", "0.1.4", "NewField00", null, null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskInputField("MyTask002", "0.0.2", "NewField00", null, null, true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.createTaskInputField("MyTask002", "0.0.2", "NewField00", "eventContextItem0", null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskInputField("MyTask002", "0.0.2", "NewField00", "eventContextItem0", null, true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createTaskInputField("MyTask002", "0.0.2", "NewField01", "eventContextItem0", "0.0.1",
+ false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskInputField("MyTask002", "0.0.2", "NewField02", "eventContextItem0", "0.0.2", true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskInputField("MyTask002", null, "NewField02", "eventContextItem0", null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskInputField("MyTask002", null, "NewField03", "eventContextItem0", null, true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listTaskInputField("@£$%", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listTaskInputField("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskInputField("MyTask002", "0.0.1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listTaskInputField("MyTask002", "0.0.2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskInputField("MyTask002", "0.0.2", "NewField01");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskInputField("MyTask002", "0.0.2", "NewField02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskInputField("MyTask002", "0.0.2", "NewField04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteTaskInputField("@£$%", "0.0.2", "NewField04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deleteTaskInputField("NonExistantTask", "0.0.2", "NewField04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(4, apexModel.listTaskInputField("MyTask002", null, null).getMessages().size());
+ result = apexModel.deleteTaskInputField("MyTask002", "0.0.2", "NewField04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(4, apexModel.listTaskInputField("MyTask002", null, null).getMessages().size());
+ result = apexModel.deleteTaskInputField("MyTask002", null, "NewField02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(3, apexModel.listTaskInputField("MyTask002", null, null).getMessages().size());
+ result = apexModel.deleteTaskInputField("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskInputField("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deleteTaskInputField("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskOutputField("MyTask123", null, "NewField00", null, null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskOutputField("MyTask002", "4.5.6", "NewField00", null, null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskOutputField("MyTask002", "0.1.4", "NewField00", null, null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskOutputField("MyTask002", "0.0.2", "NewField00", null, null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.createTaskOutputField("MyTask002", "0.0.2", "NewField00", "eventContextItem0", null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskOutputField("MyTask002", "0.0.2", "NewField00", "eventContextItem0", null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createTaskOutputField("MyTask002", "0.0.2", "NewField01", "eventContextItem0", "0.0.1",
+ false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskOutputField("MyTask002", "0.0.2", "NewField02", "eventContextItem0", "0.0.2",
+ false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskOutputField("MyTask002", null, "NewField02", "eventContextItem0", null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskOutputField("MyTask002", null, "NewField03", "eventContextItem0", null, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.listTaskOutputField("@£$%", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listTaskOutputField("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskOutputField("MyTask002", "0.0.1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listTaskOutputField("MyTask002", "0.0.2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskOutputField("MyTask002", "0.0.2", "NewField01");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskOutputField("MyTask002", "0.0.2", "NewField02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskOutputField("MyTask002", "0.0.2", "NewField04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteTaskOutputField("@£$%", "0.0.2", "NewField04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deleteTaskOutputField("NonExistantTask", "0.0.2", "NewField04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(4, apexModel.listTaskOutputField("MyTask002", null, null).getMessages().size());
+ result = apexModel.deleteTaskOutputField("MyTask002", "0.0.2", "NewField04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(4, apexModel.listTaskOutputField("MyTask002", null, null).getMessages().size());
+ result = apexModel.deleteTaskOutputField("MyTask002", null, "NewField02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(3, apexModel.listTaskOutputField("MyTask002", null, null).getMessages().size());
+ result = apexModel.deleteTaskOutputField("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskOutputField("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deleteTaskOutputField("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskParameter("MyTask123", null, "NewPar00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskParameter("MyTask002", "4.5.6", "NewPar00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskParameter("MyTask002", "0.1.4", "NewPar00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskParameter("MyTask002", "0.0.2", "NewPar00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.createTaskParameter("MyTask002", "0.0.2", "NewPar00", "eventContextItem0");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskParameter("MyTask002", "0.0.2", "NewPar00", "eventContextItem0");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createTaskParameter("MyTask002", "0.0.2", "NewPar01", "eventContextItem0");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskParameter("MyTask002", "0.0.2", "NewPar02", "eventContextItem0");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskParameter("MyTask002", "0.0.2", "NewPar02", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createTaskParameter("MyTask002", "0.0.2", "NewPar03", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createTaskParameter("MyTask002", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createTaskParameter("MyTask002", null, null, "Default value");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.listTaskParameter("@£$%", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listTaskParameter("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskParameter("MyTask002", "0.0.3", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listTaskParameter("MyTask002", "0.0.2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskParameter("MyTask002", "0.0.2", "NewPar01");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskParameter("MyTask002", "0.0.2", "NewPar02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskParameter("MyTask002", "0.0.2", "NewPar04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteTaskParameter("@£$%", "0.0.2", "NewPar04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deleteTaskParameter("NonExistantTask", "0.0.2", "NewPar04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(3, apexModel.listTaskParameter("MyTask002", null, null).getMessages().size());
+ result = apexModel.deleteTaskParameter("MyTask002", "0.0.2", "NewPar04");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(3, apexModel.listTaskParameter("MyTask002", null, null).getMessages().size());
+ result = apexModel.deleteTaskParameter("MyTask002", null, "NewPar02");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, apexModel.listTaskParameter("MyTask002", null, null).getMessages().size());
+ result = apexModel.deleteTaskParameter("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.listTaskParameter("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deleteTaskParameter("MyTask002", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskContextRef("@£$$", null, "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.createTaskContextRef("MyTask123", null, "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskContextRef("MyTask123", null, "AContextMap00", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskContextRef("MyTask123", null, "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskContextRef("MyTask002", "4.5.6", "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskContextRef("MyTask002", "0.1.4", "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskContextRef("MyTask002", "0.0.2", "AContextMap00", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskContextRef("MyTask002", "0.0.2", "contextAlbum2", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.createTaskContextRef("MyTask002", "0.0.2", "contextAlbum0", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.createTaskContextRef("MyTask002", "0.0.2", "contextAlbum0", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskContextRef("MyTask002", "0.0.2", "contextAlbum0", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createTaskContextRef("MyTask002", "0.0.2", "contextAlbum1", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ result = apexModel.createTaskContextRef("MyTask002", "0.0.2", "contextAlbum0", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+ result = apexModel.createTaskContextRef("MyTask002", null, "contextAlbum0", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_EXISTS));
+
+ result = apexModel.listTaskContextRef("@£$%", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.listTaskContextRef("MyTask002", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.listTaskContextRef("MyTask002", "0.0.1", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listTaskContextRef("MyTask002", "0.0.2", null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+ result = apexModel.listTaskContextRef("MyTask002", "0.0.2", "contextAlbum0", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listTaskContextRef("MyTask002", "0.0.2", "contextAlbum0", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listTaskContextRef("MyTask002", "0.0.2", "contextAlbum0", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listTaskContextRef("MyTask002", "0.0.2", "AContextMap04", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.listTaskContextRef("MyTask002", "0.0.2", "contextAlbum0", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listTaskContextRef("MyTask002", "0.0.2", "contextAlbum1", "0.0.1");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listTaskContextRef("MyTask002", "0.0.2", "contextAlbum1", "0.0.2");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteTaskContextRef("@£$%", "0.0.2", "AContextMap04", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ result = apexModel.deleteTaskContextRef("NonExistantTask", "0.0.2", "AContextMap04", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ assertEquals(2, apexModel.listTaskContextRef("MyTask002", null, null, null).getMessages().size());
+ result = apexModel.deleteTaskContextRef("MyTask002", "0.0.2", "AContextMap04", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deleteTaskContextRef("MyTask002", null, "contextAlbum0", "0.0.3");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deleteTaskContextRef("MyTask002", null, "contextAlbum0", "0.1.5");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+ result = apexModel.deleteTaskContextRef("MyTask002", null, "contextAlbum0", null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.deleteTaskContextRef("MyTask002", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(1, result.getMessages().size());
+ result = apexModel.listTaskContextRef("MyTask002", null, null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST));
+
+ result = apexModel.deleteTask(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(2, result.getMessages().size());
+
+ result = apexModel.listTask(null, null);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ assertEquals(0, result.getMessages().size());
+ }
+}
diff --git a/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexModelAPI.java b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexModelAPI.java
new file mode 100644
index 000000000..52029d3a4
--- /dev/null
+++ b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestApexModelAPI.java
@@ -0,0 +1,259 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.model.modelapi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.util.UUID;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.model.basicmodel.dao.DAOParameters;
+import org.onap.policy.apex.model.modelapi.impl.ApexModelImpl;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestApexModelAPI {
+ private Connection connection;
+
+ @Before
+ public void setup() throws Exception {
+ Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
+ connection = DriverManager.getConnection("jdbc:derby:memory:apex_test;create=true");
+ }
+
+ @After
+ public void teardown() throws Exception {
+ connection.close();
+ new File("derby.log").delete();
+ }
+
+ @Test
+ public void testApexModelLoadFromFile() {
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = apexModel.loadFromFile("src/main/resources/models/PolicyModel.json");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.deleteModel();
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.xml");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.deleteModel();
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.junk");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ assertTrue(result.getMessages().get(0).equals("format of input for Apex concept is neither JSON nor XML"));
+ }
+
+ @Test
+ public void testApexModelSaveToFile() throws IOException {
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ final File tempJsonModelFile = File.createTempFile("ApexModelTest", ".json");
+ result = apexModel.saveToFile(tempJsonModelFile.getCanonicalPath(), false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ final ApexModel jsonApexModel = new ApexModelFactory().createApexModel(null, false);
+ result = jsonApexModel.loadFromFile(tempJsonModelFile.getCanonicalPath());
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ tempJsonModelFile.delete();
+
+ final File tempXMLModelFile = File.createTempFile("ApexModelTest", ".xml");
+ result = apexModel.saveToFile(tempXMLModelFile.getCanonicalPath(), true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ final ApexModel xmlApexModel = new ApexModelFactory().createApexModel(null, false);
+ result = xmlApexModel.loadFromFile(tempXMLModelFile.getCanonicalPath());
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+ tempXMLModelFile.delete();
+ }
+
+ @Test
+ public void testApexModelDatabase() throws IOException {
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = apexModel.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ final DAOParameters daoParameters = new DAOParameters();
+ daoParameters.setPluginClass("org.onap.policy.apex.model.basicmodel.dao.impl.DefaultApexDao");
+ daoParameters.setPersistenceUnit("DAOTest");
+
+ result = apexModel.saveToDatabase(daoParameters);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.deleteModel();
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.loadFromDatabase("PolicyModel", "0.0.1", daoParameters);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.deleteModel();
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.loadFromDatabase("PolicyModel", null, daoParameters);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.deleteModel();
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.loadFromDatabase("VPNPolicyModel", "0.0.1", daoParameters);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ }
+
+ @Test
+ public void testApexModelURL() throws IOException {
+ ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = null;
+
+ try {
+ result = apexModel.readFromURL(null);
+ fail("expecting an IllegalArgumentException");
+ } catch (final Exception e) {
+ assertTrue(e instanceof IllegalArgumentException);
+ }
+
+ try {
+ result = apexModel.writeToURL(null, true);
+ fail("expecting an IllegalArgumentException");
+ } catch (final Exception e) {
+ assertTrue(e instanceof IllegalArgumentException);
+ }
+
+ result = apexModel.readFromURL("zooby/looby");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.writeToURL("zooby/looby", true);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.readFromURL("zooby://zooby/looby");
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ result = apexModel.writeToURL("zooby://zooby/looby", false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+
+ apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ final File tempJsonModelFile = File.createTempFile("ApexModelTest", ".json");
+ result = apexModel.saveToFile(tempJsonModelFile.getCanonicalPath(), false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ final String tempFileURLString = tempJsonModelFile.toURI().toString();
+ result = apexModel.readFromURL(tempFileURLString);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.SUCCESS));
+
+ result = apexModel.writeToURL(tempFileURLString, false);
+ assertTrue(result.getResult().equals(ApexAPIResult.RESULT.FAILED));
+ assertTrue(result.getMessages().get(0).equals("protocol doesn't support output"));
+
+ tempJsonModelFile.delete();
+ }
+
+ @Test
+ public void testApexModelMisc() throws IOException {
+ final ApexModelImpl apexModelImpl = (ApexModelImpl) new ApexModelFactory().createApexModel(null, false);
+
+ ApexAPIResult result = null;
+
+ result = apexModelImpl.getModelKey();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.listModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.createModel("ModelName", "0.0.1", null, null);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.updateModel("ModelName", "0.0.1", UUID.randomUUID().toString(), "Model Description");
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ apexModelImpl.deleteModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
+ result = apexModelImpl.loadFromString(modelString);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ final File tempFile = File.createTempFile("ApexModel", "json");
+ tempFile.deleteOnExit();
+ TextFileUtils.putStringAsFile(modelString, tempFile);
+
+ apexModelImpl.deleteModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.loadFromFile(tempFile.getCanonicalPath());
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.saveToFile(null, false);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.analyse();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.validate();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.compare(tempFile.getCanonicalPath(), true, true);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.compareWithString(modelString, true, true);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.split("policy");
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.split(tempFile.getCanonicalPath(), "policy");
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.merge(tempFile.getCanonicalPath(), true);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModelImpl.mergeWithString(modelString, true);
+ System.err.println(result);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ assertNotEquals(0, apexModelImpl.hashCode());
+ assertNotNull(apexModelImpl.clone());
+ assertNotNull(apexModelImpl.build());
+ }
+}
diff --git a/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestModelFacade.java b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestModelFacade.java
new file mode 100644
index 000000000..7f946f5d3
--- /dev/null
+++ b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestModelFacade.java
@@ -0,0 +1,110 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.model.modelapi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import java.util.Properties;
+import java.util.UUID;
+
+import org.junit.Test;
+import org.onap.policy.apex.model.modelapi.impl.ModelFacade;
+
+public class TestModelFacade {
+
+ @Test
+ public void testModelFacade() {
+ try {
+ new ModelFacade(null, null, false);
+ fail("test should throw an exception here");
+ } catch (final Exception e) {
+ assertEquals("apexModel may not be null", e.getMessage());
+ }
+
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ try {
+ new ModelFacade(apexModel, null, false);
+ fail("test should throw an exception here");
+ } catch (final Exception e) {
+ assertEquals("apexProperties may not be null", e.getMessage());
+ }
+
+ final Properties modelProperties = new Properties();
+ final ModelFacade mf = new ModelFacade(apexModel, modelProperties, false);
+
+ ApexAPIResult result = mf.createModel(null, null, null, null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mf.createModel("ModelName", null, null, null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mf.createModel("ModelName", "0.0.1", null, null);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ modelProperties.setProperty("DEFAULT_CONCEPT_VERSION", "");
+ result = mf.createModel("ModelName", null, null, null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ modelProperties.setProperty("DEFAULT_CONCEPT_VERSION", "£$£$£$");
+ result = mf.createModel("ModelName", null, null, null);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ modelProperties.setProperty("DEFAULT_CONCEPT_VERSION", "0.0.1");
+ result = mf.createModel("ModelName", null, null, null);
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_EXISTS, result.getResult());
+ result = mf.deleteModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+ result = mf.createModel("ModelName", null, null, null);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = mf.updateModel("ModelName", null, UUID.randomUUID().toString(), "New Description");
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = mf.updateModel("ModelName", "0.0.1", UUID.randomUUID().toString(), "New Description");
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ modelProperties.remove("DEFAULT_CONCEPT_VERSION");
+ result = mf.updateModel("ModelName", null, UUID.randomUUID().toString(), "New Description");
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mf.updateModel(null, null, UUID.randomUUID().toString(), "New Description");
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mf.deleteModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+ result = mf.updateModel("name", "0.0.1", UUID.randomUUID().toString(), "New Description");
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
+
+ result = mf.getModelKey();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = mf.listModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+ assertEquals("AxPolicyModel:(AxPolicyModel:(key=AxArtifactKey:(n", result.getMessage().substring(0, 50));
+
+ result = mf.deleteModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+ assertNotNull(mf);
+ }
+}
diff --git a/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestModelHandlerFacade.java b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestModelHandlerFacade.java
new file mode 100644
index 000000000..f13b8dfd5
--- /dev/null
+++ b/model/model-api/src/test/java/org/onap/policy/apex/model/modelapi/TestModelHandlerFacade.java
@@ -0,0 +1,147 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.model.modelapi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Properties;
+
+import org.junit.Test;
+import org.onap.policy.apex.model.basicmodel.dao.DAOParameters;
+import org.onap.policy.apex.model.modelapi.impl.ModelHandlerFacade;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestModelHandlerFacade {
+
+ @Test
+ public void testModelHandlerFacade() throws IOException {
+ try {
+ new ModelHandlerFacade(null, null, false);
+ fail("test should throw an exception here");
+ } catch (final Exception e) {
+ assertEquals("apexModel may not be null", e.getMessage());
+ }
+
+ final ApexModel apexModel = new ApexModelFactory().createApexModel(null, false);
+
+ try {
+ new ModelHandlerFacade(apexModel, null, false);
+ fail("test should throw an exception here");
+ } catch (final Exception e) {
+ assertEquals("apexProperties may not be null", e.getMessage());
+ }
+
+ final Properties modelProperties = new Properties();
+ final ModelHandlerFacade mhf = new ModelHandlerFacade(apexModel, modelProperties, false);
+ assertNotNull(mhf);
+
+ ApexAPIResult result = mhf.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = mhf.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_EXISTS, result.getResult());
+
+ final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
+
+ result = apexModel.deleteModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = mhf.loadFromString(modelString);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = mhf.loadFromString(modelString);
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_EXISTS, result.getResult());
+
+ final DAOParameters daoParameters = new DAOParameters();
+ result = mhf.loadFromDatabase("SomeModel", null, daoParameters);
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_EXISTS, result.getResult());
+
+ result = apexModel.deleteModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = mhf.loadFromDatabase("SomeModel", null, daoParameters);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mhf.saveToDatabase(daoParameters);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mhf.readFromURL("blah://somewhere/over/the/rainbow");
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mhf.loadFromString(modelString);
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = mhf.readFromURL("http://somewhere/over/the/rainbow");
+ assertEquals(ApexAPIResult.RESULT.CONCEPT_EXISTS, result.getResult());
+
+ final File tempFile = File.createTempFile("ApexModel", "json");
+ tempFile.deleteOnExit();
+
+ result = mhf.writeToURL("File:///" + tempFile.getCanonicalPath(), false);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mhf.validate();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = apexModel.deleteModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+ result = mhf.validate();
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mhf.compare("src/test/resources/models/NonExistant.json", true, true);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mhf.compareWithString("zooby", true, true);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mhf.split("FailSplit", "NonExistantPolicy");
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mhf.split("NonExistantPolicy");
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mhf.merge("src/test/resources/models/NonExistant.json", false);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.deleteModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+ result = mhf.merge("src/test/resources/models/PolicyModel.json", false);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = mhf.loadFromFile("src/test/resources/models/PolicyModel.json");
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+
+ result = mhf.mergeWithString("@£@$@£", true);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+
+ result = apexModel.deleteModel();
+ assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
+ result = mhf.mergeWithString(modelString, false);
+ assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
+ }
+}
diff --git a/model/model-api/src/test/resources/META-INF/persistence.xml b/model/model-api/src/test/resources/META-INF/persistence.xml
new file mode 100644
index 000000000..3db74174c
--- /dev/null
+++ b/model/model-api/src/test/resources/META-INF/persistence.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
+ <persistence-unit name="DAOTest" transaction-type="RESOURCE_LOCAL">
+ <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+
+ <class>org.onap.policy.apex.model.basicmodel.dao.converters.CDATAConditioner</class>
+ <class>org.onap.policy.apex.model.basicmodel.dao.converters.UUID2String</class>
+ <class>org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey</class>
+ <class>org.onap.policy.apex.model.basicmodel.concepts.AxConcept</class>
+ <class>org.onap.policy.apex.model.basicmodel.concepts.AxKeyInfo</class>
+ <class>org.onap.policy.apex.model.basicmodel.concepts.AxKeyInformation</class>
+ <class>org.onap.policy.apex.model.basicmodel.concepts.AxModel</class>
+ <class>org.onap.policy.apex.model.basicmodel.concepts.TestEntity</class>
+ <class>org.onap.policy.apex.model.contextmodel.concepts.AxContextSchema</class>
+ <class>org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas</class>
+ <class>org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbum</class>
+ <class>org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbums</class>
+ <class>org.onap.policy.apex.model.contextmodel.concepts.AxContextModel</class>
+ <class>org.onap.policy.apex.model.eventmodel.concepts.AxField</class>
+ <class>org.onap.policy.apex.model.eventmodel.concepts.AxInputField</class>
+ <class>org.onap.policy.apex.model.eventmodel.concepts.AxOutputField</class>
+ <class>org.onap.policy.apex.model.eventmodel.concepts.AxEvent</class>
+ <class>org.onap.policy.apex.model.eventmodel.concepts.AxEvents</class>
+ <class>org.onap.policy.apex.model.eventmodel.concepts.AxEventModel</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxLogic</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxTaskParameter</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxTaskLogic</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxTask</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxTasks</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxTaskSelectionLogic</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxStateFinalizerLogic</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxStateOutput</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxStateTaskReference</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxState</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxPolicy</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxPolicies</class>
+ <class>org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel</class>
+
+ <properties>
+ <property name="javax.persistence.jdbc.url" value="jdbc:derby:memory:apex_test" />
+ <property name="javax.persistence.target-database" value="Derby" />
+ <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver" />
+
+ <property name="eclipselink.ddl-generation" value="create-tables" />
+ <property name="eclipselink.ddl-generation.output-mode" value="database" />
+ <property name="eclipselink.logging.level" value="INFO" />
+ </properties>
+ </persistence-unit>
+</persistence>
diff --git a/model/model-api/src/test/resources/logback-test.xml b/model/model-api/src/test/resources/logback-test.xml
new file mode 100644
index 000000000..114b39c70
--- /dev/null
+++ b/model/model-api/src/test/resources/logback-test.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<configuration>
+
+ <contextName>Apex</contextName>
+ <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
+ <property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
+
+ <!-- USE FOR STD OUT ONLY -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <Pattern>%d %contextName [%t] %level %logger{36} - %msg%n</Pattern>
+ </encoder>
+ </appender>
+
+ <root level="INFO">
+ <appender-ref ref="STDOUT" />
+ </root>
+
+ <logger name="org.infinispan" level="INFO" additivity="false">
+ <appender-ref ref="STDOUT" />
+ </logger>
+
+ <logger name="org.apache.zookeeper.ClientCnxn" level="OFF" additivity="false">
+ <appender-ref ref="STDOUT" />
+ </logger>
+
+ <logger name="org.onap.policy.apex.core" level="INFO" additivity="false">
+ <appender-ref ref="STDOUT" />
+ </logger>
+
+ <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+ <file>${LOG_DIR}/apex.log</file>
+ <encoder>
+ <pattern>%d %-5relative [procId=${processId}] [%thread] %-5level
+ %logger{26} - %msg %n %ex{full}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="CTXT_FILE" class="ch.qos.logback.core.FileAppender">
+ <file>${LOG_DIR}/apex_ctxt.log</file>
+ <encoder>
+ <pattern>%d %-5relative [procId=${processId}] [%thread] %-5level
+ %logger{26} - %msg %n %ex{full}</pattern>
+ </encoder>
+ </appender>
+
+ <logger name="org.onap.policy.apex.core.context.impl.monitoring" level="TRACE" additivity="false">
+ <appender-ref ref="CTXT_FILE" />
+ </logger>
+
+ <logger name="org.onap.policy.apex.core.context" level="INFO" additivity="false">
+ <appender-ref ref="STDOUT" />
+ </logger>
+</configuration>
diff --git a/model/model-api/src/test/resources/models/PolicyModel.json b/model/model-api/src/test/resources/models/PolicyModel.json
new file mode 100644
index 000000000..81c222609
--- /dev/null
+++ b/model/model-api/src/test/resources/models/PolicyModel.json
@@ -0,0 +1,708 @@
+{
+ "apexPolicyModel" : {
+ "key" : {
+ "name" : "PolicyModel",
+ "version" : "0.0.1"
+ },
+ "keyInformation" : {
+ "key" : {
+ "name" : "KeyInfoMapKey",
+ "version" : "0.0.1"
+ },
+ "keyInfoMap" : {
+ "entry" : [ {
+ "key" : {
+ "name" : "ContextSchemas",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "ContextSchemas",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e000",
+ "description" : "Generated description for concept referred to by key \"ContextSchemas:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "KeyInfoMapKey",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "KeyInfoMapKey",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e001",
+ "description" : "Generated description for concept referred to by key \"KeyInfoMapKey:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "MapType",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "MapType",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e002",
+ "description" : "Generated description for concept referred to by key \"MapType:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "PolicyModel",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "PolicyModel",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e003",
+ "description" : "Generated description for concept referred to by key \"PolicyModel:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "StringType",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "StringType",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e004",
+ "description" : "Generated description for concept referred to by key \"StringType:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "context",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "context",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e005",
+ "description" : "Generated description for concept referred to by key \"context:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "contextAlbum0",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "contextAlbum0",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e006",
+ "description" : "Generated description for concept referred to by key \"contextAlbum0:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "contextAlbum1",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "contextAlbum1",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e007",
+ "description" : "Generated description for concept referred to by key \"contextAlbum1:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e008",
+ "description" : "Generated description for concept referred to by key \"eventContextItem0:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e009",
+ "description" : "Generated description for concept referred to by key \"eventContextItem1:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "events",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "events",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e010",
+ "description" : "Generated description for concept referred to by key \"events:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "inEvent",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "inEvent",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e011",
+ "description" : "Generated description for concept referred to by key \"inEvent:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "outEvent0",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "outEvent0",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e012",
+ "description" : "Generated description for concept referred to by key \"outEvent0:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "outEvent1",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "outEvent1",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e013",
+ "description" : "Generated description for concept referred to by key \"outEvent1:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "policies",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "policies",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e014",
+ "description" : "Generated description for concept referred to by key \"policies:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "policy",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "policy",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e015",
+ "description" : "Generated description for concept referred to by key \"policy:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "task",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "task",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e016",
+ "description" : "Generated description for concept referred to by key \"task:0.0.1\""
+ }
+ }, {
+ "key" : {
+ "name" : "tasks",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "tasks",
+ "version" : "0.0.1"
+ },
+ "UUID" : "0ce9168c-e6df-414f-9646-6da464b6e017",
+ "description" : "Generated description for concept referred to by key \"tasks:0.0.1\""
+ }
+ } ]
+ }
+ },
+ "policies" : {
+ "key" : {
+ "name" : "policies",
+ "version" : "0.0.1"
+ },
+ "policyMap" : {
+ "entry" : [ {
+ "key" : {
+ "name" : "policy",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "policyKey" : {
+ "name" : "policy",
+ "version" : "0.0.1"
+ },
+ "template" : "FREEFORM",
+ "state" : {
+ "entry" : [ {
+ "key" : "state",
+ "value" : {
+ "stateKey" : {
+ "parentKeyName" : "policy",
+ "parentKeyVersion" : "0.0.1",
+ "parentLocalName" : "NULL",
+ "localName" : "state"
+ },
+ "trigger" : {
+ "name" : "inEvent",
+ "version" : "0.0.1"
+ },
+ "stateOutputs" : {
+ "entry" : [ {
+ "key" : "stateOutput0",
+ "value" : {
+ "key" : {
+ "parentKeyName" : "policy",
+ "parentKeyVersion" : "0.0.1",
+ "parentLocalName" : "state",
+ "localName" : "stateOutput0"
+ },
+ "outgoingEvent" : {
+ "name" : "outEvent0",
+ "version" : "0.0.1"
+ },
+ "nextState" : {
+ "parentKeyName" : "NULL",
+ "parentKeyVersion" : "0.0.0",
+ "parentLocalName" : "NULL",
+ "localName" : "NULL"
+ }
+ }
+ } ]
+ },
+ "contextAlbumReference" : [ {
+ "name" : "contextAlbum0",
+ "version" : "0.0.1"
+ }, {
+ "name" : "contextAlbum1",
+ "version" : "0.0.1"
+ } ],
+ "taskSelectionLogic" : {
+ "key" : "taskSelectionLogic",
+ "logicFlavour" : "MVEL",
+ "logic" : "Some TS logic"
+ },
+ "stateFinalizerLogicMap" : {
+ "entry" : [ ]
+ },
+ "defaultTask" : {
+ "name" : "task",
+ "version" : "0.0.1"
+ },
+ "taskReferences" : {
+ "entry" : [ {
+ "key" : {
+ "name" : "task",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "parentKeyName" : "policy",
+ "parentKeyVersion" : "0.0.1",
+ "parentLocalName" : "state",
+ "localName" : "task"
+ },
+ "outputType" : "DIRECT",
+ "output" : {
+ "parentKeyName" : "policy",
+ "parentKeyVersion" : "0.0.1",
+ "parentLocalName" : "state",
+ "localName" : "stateOutput0"
+ }
+ }
+ } ]
+ }
+ }
+ } ]
+ },
+ "firstState" : "state"
+ }
+ } ]
+ }
+ },
+ "tasks" : {
+ "key" : {
+ "name" : "tasks",
+ "version" : "0.0.1"
+ },
+ "taskMap" : {
+ "entry" : [ {
+ "key" : {
+ "name" : "task",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "task",
+ "version" : "0.0.1"
+ },
+ "inputFields" : {
+ "entry" : [ {
+ "key" : "IEPAR0",
+ "value" : {
+ "key" : "IEPAR0",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ }
+ }
+ }, {
+ "key" : "IEPAR1",
+ "value" : {
+ "key" : "IEPAR1",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ }
+ }
+ } ]
+ },
+ "outputFields" : {
+ "entry" : [ {
+ "key" : "OE0PAR0",
+ "value" : {
+ "key" : "OE0PAR0",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ }
+ }
+ }, {
+ "key" : "OE0PAR1",
+ "value" : {
+ "key" : "OE0PAR1",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ }
+ }
+ }, {
+ "key" : "OE1PAR0",
+ "value" : {
+ "key" : "OE1PAR0",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ }
+ }
+ }, {
+ "key" : "OE1PAR1",
+ "value" : {
+ "key" : "OE1PAR1",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ }
+ }
+ } ]
+ },
+ "taskParameters" : {
+ "entry" : [ {
+ "key" : "taskParameter0",
+ "value" : {
+ "key" : {
+ "parentKeyName" : "task",
+ "parentKeyVersion" : "0.0.1",
+ "parentLocalName" : "NULL",
+ "localName" : "taskParameter0"
+ },
+ "defaultValue" : "Task parameter 0 value"
+ }
+ }, {
+ "key" : "taskParameter1",
+ "value" : {
+ "key" : {
+ "parentKeyName" : "task",
+ "parentKeyVersion" : "0.0.1",
+ "parentLocalName" : "NULL",
+ "localName" : "taskParameter1"
+ },
+ "defaultValue" : "Task parameter 1 value"
+ }
+ } ]
+ },
+ "contextAlbumReference" : [ {
+ "name" : "contextAlbum0",
+ "version" : "0.0.1"
+ }, {
+ "name" : "contextAlbum1",
+ "version" : "0.0.1"
+ } ],
+ "taskLogic" : {
+ "key" : "taskLogic",
+ "logicFlavour" : "MVEL",
+ "logic" : "Some task logic"
+ }
+ }
+ } ]
+ }
+ },
+ "events" : {
+ "key" : {
+ "name" : "events",
+ "version" : "0.0.1"
+ },
+ "eventMap" : {
+ "entry" : [ {
+ "key" : {
+ "name" : "inEvent",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "inEvent",
+ "version" : "0.0.1"
+ },
+ "nameSpace" : "org.onap.policy.apex.model.policymodel.events",
+ "source" : "Source",
+ "target" : "Target",
+ "parameter" : {
+ "entry" : [ {
+ "key" : "IEPAR0",
+ "value" : {
+ "key" : "IEPAR0",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ }
+ }
+ }, {
+ "key" : "IEPAR1",
+ "value" : {
+ "key" : "IEPAR1",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ }
+ }
+ } ]
+ }
+ }
+ }, {
+ "key" : {
+ "name" : "outEvent0",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "outEvent0",
+ "version" : "0.0.1"
+ },
+ "nameSpace" : "org.onap.policy.apex.model.policymodel.events",
+ "source" : "Source",
+ "target" : "Target",
+ "parameter" : {
+ "entry" : [ {
+ "key" : "OE0PAR0",
+ "value" : {
+ "key" : "OE0PAR0",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ }
+ }
+ }, {
+ "key" : "OE0PAR1",
+ "value" : {
+ "key" : "OE0PAR1",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ }
+ }
+ }, {
+ "key" : "OE1PAR0",
+ "value" : {
+ "key" : "OE1PAR0",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ }
+ }
+ }, {
+ "key" : "OE1PAR1",
+ "value" : {
+ "key" : "OE1PAR1",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ }
+ }
+ } ]
+ }
+ }
+ }, {
+ "key" : {
+ "name" : "outEvent1",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "outEvent1",
+ "version" : "0.0.1"
+ },
+ "nameSpace" : "org.onap.policy.apex.model.policymodel.events",
+ "source" : "Source",
+ "target" : "Target",
+ "parameter" : {
+ "entry" : [ {
+ "key" : "OE1PAR0",
+ "value" : {
+ "key" : "OE1PAR0",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ }
+ }
+ }, {
+ "key" : "OE1PAR1",
+ "value" : {
+ "key" : "OE1PAR1",
+ "fieldSchemaKey" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ }
+ }
+ } ]
+ }
+ }
+ } ]
+ }
+ },
+ "albums" : {
+ "key" : {
+ "name" : "context",
+ "version" : "0.0.1"
+ },
+ "albums" : {
+ "entry" : [ {
+ "key" : {
+ "name" : "contextAlbum0",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "contextAlbum0",
+ "version" : "0.0.1"
+ },
+ "scope" : "APPLICATION",
+ "isWritable" : true,
+ "itemSchema" : {
+ "name" : "MapType",
+ "version" : "0.0.1"
+ }
+ }
+ }, {
+ "key" : {
+ "name" : "contextAlbum1",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "contextAlbum1",
+ "version" : "0.0.1"
+ },
+ "scope" : "GLOBAL",
+ "isWritable" : false,
+ "itemSchema" : {
+ "name" : "StringType",
+ "version" : "0.0.1"
+ }
+ }
+ } ]
+ }
+ },
+ "schemas" : {
+ "key" : {
+ "name" : "ContextSchemas",
+ "version" : "0.0.1"
+ },
+ "schemas" : {
+ "entry" : [ {
+ "key" : {
+ "name" : "MapType",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "MapType",
+ "version" : "0.0.1"
+ },
+ "schemaFlavour" : "Java",
+ "schemaDefinition" : "org.onap.policy.apex.model.policymodel.concepts.TestContextItem00A"
+ }
+ }, {
+ "key" : {
+ "name" : "StringType",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "StringType",
+ "version" : "0.0.1"
+ },
+ "schemaFlavour" : "Java",
+ "schemaDefinition" : "org.onap.policy.apex.model.policymodel.concepts.TestContextItem000"
+ }
+ }, {
+ "key" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "eventContextItem0",
+ "version" : "0.0.1"
+ },
+ "schemaFlavour" : "Java",
+ "schemaDefinition" : "java.lang.String"
+ }
+ }, {
+ "key" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ },
+ "value" : {
+ "key" : {
+ "name" : "eventContextItem1",
+ "version" : "0.0.1"
+ },
+ "schemaFlavour" : "Java",
+ "schemaDefinition" : "java.lang.Long"
+ }
+ } ]
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/model/model-api/src/test/resources/models/PolicyModel.junk b/model/model-api/src/test/resources/models/PolicyModel.junk
new file mode 100644
index 000000000..613a36ad8
--- /dev/null
+++ b/model/model-api/src/test/resources/models/PolicyModel.junk
@@ -0,0 +1,9 @@
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse cursus suscipit faucibus. Pellentesque sagittis, erat placerat ultricies maximus, erat nulla efficitur ex, quis hendrerit tellus urna quis libero. Nullam vitae nisl ut nisl condimentum suscipit. Aenean sagittis condimentum nisi quis condimentum. Suspendisse potenti. Aliquam eget purus a risus viverra volutpat eu eu neque. Phasellus in libero id turpis lobortis malesuada. Praesent dignissim tellus imperdiet faucibus interdum. Donec volutpat, eros non lobortis consectetur, felis arcu consequat purus, a pharetra velit nisi at ante. Etiam ut sem imperdiet justo aliquet tempus at ornare quam.
+
+Integer sed maximus tellus. Nulla venenatis congue massa nec vestibulum. Duis ultrices quis neque ultrices semper. Morbi rhoncus gravida nibh, ut consequat ex. Proin eget ex vel lectus luctus varius. Integer nec consectetur ante. Cras ac aliquam nibh, in fermentum metus. Praesent nec ipsum tristique, ultrices arcu vel, bibendum libero. Curabitur ac odio eget felis blandit accumsan viverra vitae nibh. Integer efficitur eros lectus, et convallis elit consectetur nec. Vivamus tellus sem, vestibulum ut faucibus ut, maximus nec nulla. Donec ex eros, tempus ac justo at, posuere finibus purus. Pellentesque lacinia eu eros nec dignissim. Vestibulum tempus lectus in placerat imperdiet. Sed a diam vitae lorem gravida commodo.
+
+Sed at dolor felis. Ut at luctus libero. Ut faucibus elementum sem. Praesent aliquet tempus magna, eget bibendum nisi ultricies eu. Aenean dictum libero dui, et finibus metus consequat sed. Nullam lobortis diam ut sem imperdiet, nec posuere mauris aliquet. Etiam nec laoreet leo. Vestibulum nec turpis ante. Vivamus imperdiet commodo velit in ultricies. Maecenas facilisis maximus odio vel vestibulum.
+
+Aenean dapibus mi eget eros sodales rhoncus. Mauris dolor mi, feugiat quis egestas id, vestibulum at augue. Vivamus sit amet enim metus. Donec nec ultricies felis. Phasellus aliquam urna lectus, mollis rutrum libero ornare nec. Quisque dictum ante ac dapibus placerat. Ut euismod euismod elit eget commodo. Aenean vestibulum tempus elit quis vestibulum. Integer dapibus ultricies bibendum. Vivamus iaculis egestas magna, a ornare lacus eleifend eu. Fusce non massa ut sapien volutpat molestie vel sit amet sapien. Phasellus hendrerit felis magna, quis pharetra dui finibus sed. Praesent quis accumsan purus, hendrerit viverra felis. Pellentesque semper pretium nisl, in auctor enim interdum ut. Nullam placerat erat vel lacus vestibulum vehicula. Morbi at augue in enim luctus feugiat.
+
+Nunc aliquam auctor turpis id pretium. Donec placerat egestas tortor quis blandit. Curabitur sagittis elit eu varius gravida. Fusce eget diam eu sapien convallis pellentesque. Donec ultrices odio id leo pellentesque, eget tempus erat efficitur. Pellentesque ac ultricies purus, ut condimentum libero. Pellentesque pulvinar urna vel sollicitudin commodo. Sed tincidunt sed nulla sed auctor. \ No newline at end of file
diff --git a/model/model-api/src/test/resources/models/PolicyModel.xml b/model/model-api/src/test/resources/models/PolicyModel.xml
new file mode 100644
index 000000000..a89f73db2
--- /dev/null
+++ b/model/model-api/src/test/resources/models/PolicyModel.xml
@@ -0,0 +1,759 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<apexPolicyModel xmlns="http://www.onap.org/policy/apex-pdp">
+ <key>
+ <name>PolicyModel</name>
+ <version>0.0.1</version>
+ </key>
+ <keyInformation>
+ <key>
+ <name>KeyInfoMapKey</name>
+ <version>0.0.1</version>
+ </key>
+ <keyInfoMap>
+ <entry>
+ <key>
+ <name>ContextSchemas</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>ContextSchemas</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e000</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "ContextSchemas:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>KeyInfoMapKey</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>KeyInfoMapKey</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e001</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "KeyInfoMapKey:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>MapType</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>MapType</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e002</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "MapType:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>PolicyModel</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>PolicyModel</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e003</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "PolicyModel:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>StringType</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>StringType</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e004</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "StringType:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>context</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>context</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e005</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "context:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>contextAlbum0</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>contextAlbum0</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e006</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "contextAlbum0:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>contextAlbum1</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>contextAlbum1</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e007</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "contextAlbum1:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>eventContextItem0</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>eventContextItem0</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e008</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "eventContextItem0:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>eventContextItem1</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>eventContextItem1</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e009</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "eventContextItem1:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>events</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>events</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e010</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "events:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>inEvent</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>inEvent</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e011</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "inEvent:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>outEvent0</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>outEvent0</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e012</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "outEvent0:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>outEvent1</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>outEvent1</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e013</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "outEvent1:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>policies</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>policies</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e014</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "policies:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>policy</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>policy</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e015</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "policy:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>task</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>task</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e016</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "task:0.0.1"]]></description>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>tasks</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>tasks</name>
+ <version>0.0.1</version>
+ </key>
+ <UUID>0ce9168c-e6df-414f-9646-6da464b6e017</UUID>
+ <description><![CDATA[Generated description for concept referred to by key "tasks:0.0.1"]]></description>
+ </value>
+ </entry>
+ </keyInfoMap>
+ </keyInformation>
+ <policies>
+ <key>
+ <name>policies</name>
+ <version>0.0.1</version>
+ </key>
+ <policyMap>
+ <entry>
+ <key>
+ <name>policy</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <policyKey>
+ <name>policy</name>
+ <version>0.0.1</version>
+ </policyKey>
+ <template>FREEFORM</template>
+ <state>
+ <entry>
+ <key>state</key>
+ <value>
+ <stateKey>
+ <parentKeyName>policy</parentKeyName>
+ <parentKeyVersion>0.0.1</parentKeyVersion>
+ <parentLocalName>NULL</parentLocalName>
+ <localName>state</localName>
+ </stateKey>
+ <trigger>
+ <name>inEvent</name>
+ <version>0.0.1</version>
+ </trigger>
+ <stateOutputs>
+ <entry>
+ <key>stateOutput0</key>
+ <value>
+ <key>
+ <parentKeyName>policy</parentKeyName>
+ <parentKeyVersion>0.0.1</parentKeyVersion>
+ <parentLocalName>state</parentLocalName>
+ <localName>stateOutput0</localName>
+ </key>
+ <outgoingEvent>
+ <name>outEvent0</name>
+ <version>0.0.1</version>
+ </outgoingEvent>
+ <nextState>
+ <parentKeyName>NULL</parentKeyName>
+ <parentKeyVersion>0.0.0</parentKeyVersion>
+ <parentLocalName>NULL</parentLocalName>
+ <localName>NULL</localName>
+ </nextState>
+ </value>
+ </entry>
+ </stateOutputs>
+ <contextAlbumReference>
+ <name>contextAlbum0</name>
+ <version>0.0.1</version>
+ </contextAlbumReference>
+ <contextAlbumReference>
+ <name>contextAlbum1</name>
+ <version>0.0.1</version>
+ </contextAlbumReference>
+ <taskSelectionLogic>
+ <key>taskSelectionLogic</key>
+ <logicFlavour>MVEL</logicFlavour>
+ <logic><![CDATA[Some TS logic]]></logic>
+ </taskSelectionLogic>
+ <defaultTask>
+ <name>task</name>
+ <version>0.0.1</version>
+ </defaultTask>
+ <taskReferences>
+ <entry>
+ <key>
+ <name>task</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <parentKeyName>policy</parentKeyName>
+ <parentKeyVersion>0.0.1</parentKeyVersion>
+ <parentLocalName>state</parentLocalName>
+ <localName>task</localName>
+ </key>
+ <outputType>DIRECT</outputType>
+ <output>
+ <parentKeyName>policy</parentKeyName>
+ <parentKeyVersion>0.0.1</parentKeyVersion>
+ <parentLocalName>state</parentLocalName>
+ <localName>stateOutput0</localName>
+ </output>
+ </value>
+ </entry>
+ </taskReferences>
+ </value>
+ </entry>
+ </state>
+ <firstState>state</firstState>
+ </value>
+ </entry>
+ </policyMap>
+ </policies>
+ <tasks>
+ <key>
+ <name>tasks</name>
+ <version>0.0.1</version>
+ </key>
+ <taskMap>
+ <entry>
+ <key>
+ <name>task</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>task</name>
+ <version>0.0.1</version>
+ </key>
+ <inputFields>
+ <entry>
+ <key>IEPAR0</key>
+ <value>
+ <key>IEPAR0</key>
+ <fieldSchemaKey>
+ <name>eventContextItem0</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ <entry>
+ <key>IEPAR1</key>
+ <value>
+ <key>IEPAR1</key>
+ <fieldSchemaKey>
+ <name>eventContextItem1</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ </inputFields>
+ <outputFields>
+ <entry>
+ <key>OE0PAR0</key>
+ <value>
+ <key>OE0PAR0</key>
+ <fieldSchemaKey>
+ <name>eventContextItem0</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ <entry>
+ <key>OE0PAR1</key>
+ <value>
+ <key>OE0PAR1</key>
+ <fieldSchemaKey>
+ <name>eventContextItem1</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ <entry>
+ <key>OE1PAR0</key>
+ <value>
+ <key>OE1PAR0</key>
+ <fieldSchemaKey>
+ <name>eventContextItem0</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ <entry>
+ <key>OE1PAR1</key>
+ <value>
+ <key>OE1PAR1</key>
+ <fieldSchemaKey>
+ <name>eventContextItem1</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ </outputFields>
+ <taskParameters>
+ <entry>
+ <key>taskParameter0</key>
+ <value>
+ <key>
+ <parentKeyName>task</parentKeyName>
+ <parentKeyVersion>0.0.1</parentKeyVersion>
+ <parentLocalName>NULL</parentLocalName>
+ <localName>taskParameter0</localName>
+ </key>
+ <defaultValue>Task parameter 0 value</defaultValue>
+ </value>
+ </entry>
+ <entry>
+ <key>taskParameter1</key>
+ <value>
+ <key>
+ <parentKeyName>task</parentKeyName>
+ <parentKeyVersion>0.0.1</parentKeyVersion>
+ <parentLocalName>NULL</parentLocalName>
+ <localName>taskParameter1</localName>
+ </key>
+ <defaultValue>Task parameter 1 value</defaultValue>
+ </value>
+ </entry>
+ </taskParameters>
+ <contextAlbumReference>
+ <name>contextAlbum0</name>
+ <version>0.0.1</version>
+ </contextAlbumReference>
+ <contextAlbumReference>
+ <name>contextAlbum1</name>
+ <version>0.0.1</version>
+ </contextAlbumReference>
+ <taskLogic>
+ <key>taskLogic</key>
+ <logicFlavour>MVEL</logicFlavour>
+ <logic><![CDATA[Some task logic]]></logic>
+ </taskLogic>
+ </value>
+ </entry>
+ </taskMap>
+ </tasks>
+ <events>
+ <key>
+ <name>events</name>
+ <version>0.0.1</version>
+ </key>
+ <eventMap>
+ <entry>
+ <key>
+ <name>inEvent</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>inEvent</name>
+ <version>0.0.1</version>
+ </key>
+ <nameSpace>org.onap.policy.apex.model.policymodel.events</nameSpace>
+ <source>Source</source>
+ <target>Target</target>
+ <parameter>
+ <entry>
+ <key>IEPAR0</key>
+ <value>
+ <key>IEPAR0</key>
+ <fieldSchemaKey>
+ <name>eventContextItem0</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ <entry>
+ <key>IEPAR1</key>
+ <value>
+ <key>IEPAR1</key>
+ <fieldSchemaKey>
+ <name>eventContextItem1</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ </parameter>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>outEvent0</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>outEvent0</name>
+ <version>0.0.1</version>
+ </key>
+ <nameSpace>org.onap.policy.apex.model.policymodel.events</nameSpace>
+ <source>Source</source>
+ <target>Target</target>
+ <parameter>
+ <entry>
+ <key>OE0PAR0</key>
+ <value>
+ <key>OE0PAR0</key>
+ <fieldSchemaKey>
+ <name>eventContextItem0</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ <entry>
+ <key>OE0PAR1</key>
+ <value>
+ <key>OE0PAR1</key>
+ <fieldSchemaKey>
+ <name>eventContextItem1</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ <entry>
+ <key>OE1PAR0</key>
+ <value>
+ <key>OE1PAR0</key>
+ <fieldSchemaKey>
+ <name>eventContextItem0</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ <entry>
+ <key>OE1PAR1</key>
+ <value>
+ <key>OE1PAR1</key>
+ <fieldSchemaKey>
+ <name>eventContextItem1</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ </parameter>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name>outEvent1</name>
+ <version>0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name>outEvent1</name>
+ <version>0.0.1</version>
+ </key>
+ <nameSpace>org.onap.policy.apex.model.policymodel.events</nameSpace>
+ <source>Source</source>
+ <target>Target</target>
+ <parameter>
+ <entry>
+ <key>OE1PAR0</key>
+ <value>
+ <key>OE1PAR0</key>
+ <fieldSchemaKey>
+ <name>eventContextItem0</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ <entry>
+ <key>OE1PAR1</key>
+ <value>
+ <key>OE1PAR1</key>
+ <fieldSchemaKey>
+ <name>eventContextItem1</name>
+ <version>0.0.1</version>
+ </fieldSchemaKey>
+ </value>
+ </entry>
+ </parameter>
+ </value>
+ </entry>
+ </eventMap>
+ </events>
+ <albums>
+ <key xmlns="">
+ <name xmlns="http://www.onap.org/policy/apex-pdp">context</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <albums xmlns="">
+ <entry>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">contextAlbum0</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">contextAlbum0</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <scope>APPLICATION</scope>
+ <isWritable>true</isWritable>
+ <itemSchema>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">MapType</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </itemSchema>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">contextAlbum1</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">contextAlbum1</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <scope>GLOBAL</scope>
+ <isWritable>false</isWritable>
+ <itemSchema>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">StringType</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </itemSchema>
+ </value>
+ </entry>
+ </albums>
+ </albums>
+ <schemas>
+ <key xmlns="">
+ <name xmlns="http://www.onap.org/policy/apex-pdp">ContextSchemas</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <schemas xmlns="">
+ <entry>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">MapType</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">MapType</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <schemaFlavour>Java</schemaFlavour>
+ <schemaDefinition>org.onap.policy.apex.model.policymodel.concepts.TestContextItem00A</schemaDefinition>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">StringType</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">StringType</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <schemaFlavour>Java</schemaFlavour>
+ <schemaDefinition>org.onap.policy.apex.model.policymodel.concepts.TestContextItem000</schemaDefinition>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">eventContextItem0</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">eventContextItem0</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <schemaFlavour>Java</schemaFlavour>
+ <schemaDefinition>java.lang.String</schemaDefinition>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">eventContextItem1</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <value>
+ <key>
+ <name xmlns="http://www.onap.org/policy/apex-pdp">eventContextItem1</name>
+ <version xmlns="http://www.onap.org/policy/apex-pdp">0.0.1</version>
+ </key>
+ <schemaFlavour>Java</schemaFlavour>
+ <schemaDefinition>java.lang.Long</schemaDefinition>
+ </value>
+ </entry>
+ </schemas>
+ </schemas>
+</apexPolicyModel>