2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2016-2018 Ericsson. All rights reserved.
4 * Modifications Copyright (C) 2020 Nordix Foundation.
5 * ================================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 * SPDX-License-Identifier: Apache-2.0
19 * ============LICENSE_END=========================================================
22 package org.onap.policy.gui.editors.apex.rest.handling;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotNull;
27 import java.io.IOException;
28 import javax.ws.rs.client.Entity;
29 import javax.ws.rs.core.Application;
30 import javax.ws.rs.core.MediaType;
31 import org.glassfish.jersey.media.multipart.MultiPartFeature;
32 import org.glassfish.jersey.server.ResourceConfig;
33 import org.glassfish.jersey.test.JerseyTest;
34 import org.junit.Test;
35 import org.onap.policy.apex.model.modelapi.ApexApiResult;
36 import org.onap.policy.apex.model.modelapi.ApexApiResult.Result;
37 import org.onap.policy.common.utils.resources.TextFileUtils;
40 * Test Apex Editor Rest Resource.
42 * @author Liam Fallon (liam.fallon@ericsson.com)
44 public class ApexEditorRestResourceTest extends JerseyTest {
46 protected Application configure() {
47 return new ResourceConfig(ApexEditorRestResource.class).register(MultiPartFeature.class);
51 public void testSessionCreate() {
52 ApexApiResult result = target("editor/-2/Session/Create").request().get(ApexApiResult.class);
53 assertEquals(Result.FAILED, result.getResult());
55 result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
56 assertEquals(Result.SUCCESS, result.getResult());
57 final int sessionId = Integer.valueOf(result.getMessages().get(0));
59 result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
60 assertEquals(Result.SUCCESS, result.getResult());
62 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
64 target("editor/" + corruptSessionId + "/Model/Analyse").request().get(ApexApiResult.class);
66 result = target("editor/" + sessionId + "/Model/Analyse").request().get(ApexApiResult.class);
67 assertEquals(Result.SUCCESS, result.getResult());
68 result = target("editor/-12345/Model/Analyse").request().get(ApexApiResult.class);
69 assertEquals(Result.FAILED, result.getResult());
70 result = target("editor/12345/Model/Analyse").request().get(ApexApiResult.class);
71 assertEquals(Result.FAILED, result.getResult());
73 target("editor/" + corruptSessionId + "/Model/Validate").request().get(ApexApiResult.class);
75 result = target("editor/" + sessionId + "/Model/Validate").request().get(ApexApiResult.class);
76 assertEquals(Result.FAILED, result.getResult());
77 result = target("editor/-12345/Model/Validate").request().get(ApexApiResult.class);
78 assertEquals(Result.FAILED, result.getResult());
79 result = target("editor/12345/Model/Validate").request().get(ApexApiResult.class);
80 assertEquals(Result.FAILED, result.getResult());
82 final String modelString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
83 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002699\","
84 + "\"description\" : \"A description of the model\"" + "}";
85 final Entity<String> csEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
86 result = target("editor/-12345/Model/Create").request().post(csEntity, ApexApiResult.class);
87 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
88 result = target("editor/-12345/Model/Create").request().post(csEntity, ApexApiResult.class);
89 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
90 result = target("editor/1234545/Model/Create").request().post(csEntity, ApexApiResult.class);
91 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
92 result = target("editor/" + sessionId + "/Model/Create").request().post(csEntity, ApexApiResult.class);
93 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
95 target("editor/" + corruptSessionId + "/Model/Create").request().post(csEntity, ApexApiResult.class);
97 result = target("editor/-12345/Model/Update").request().put(csEntity, ApexApiResult.class);
98 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
99 result = target("editor/-12345/Model/Update").request().put(csEntity, ApexApiResult.class);
100 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
101 result = target("editor/1234545/Model/Update").request().put(csEntity, ApexApiResult.class);
102 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
103 result = target("editor/" + sessionId + "/Model/Update").request().put(csEntity, ApexApiResult.class);
104 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
106 target("editor/" + corruptSessionId + "/Model/Update").request().put(csEntity, ApexApiResult.class);
108 result = target("editor/" + corruptSessionId + "/Model/GetKey").request().get(ApexApiResult.class);
110 result = target("editor/" + sessionId + "/Model/GetKey").request().get(ApexApiResult.class);
111 assertEquals(Result.SUCCESS, result.getResult());
112 result = target("editor/-12345/Model/GetKey").request().get(ApexApiResult.class);
113 assertEquals(Result.FAILED, result.getResult());
114 result = target("editor/12345/Model/GetKey").request().get(ApexApiResult.class);
115 assertEquals(Result.FAILED, result.getResult());
117 result = target("editor/" + corruptSessionId + "/Model/Get").request().get(ApexApiResult.class);
119 result = target("editor/" + sessionId + "/Model/Get").request().get(ApexApiResult.class);
120 assertEquals(Result.SUCCESS, result.getResult());
121 result = target("editor/-12345/Model/Get").request().get(ApexApiResult.class);
122 assertEquals(Result.FAILED, result.getResult());
123 result = target("editor/12345/Model/Get").request().get(ApexApiResult.class);
124 assertEquals(Result.FAILED, result.getResult());
126 String resultString = target("editor/" + corruptSessionId + "/Model/Download").request().get(String.class);
127 assertEquals("", resultString);
129 resultString = target("editor/" + sessionId + "/Model/Download").request().get(String.class);
130 assertNotNull(resultString);
132 resultString = target("editor/-12345/Model/Download").request().get(String.class);
133 assertEquals("", resultString);
135 resultString = target("editor/12345/Model/Download").request().get(String.class);
136 assertEquals("", resultString);
138 result = target("editor/" + corruptSessionId + "/KeyInformation/Get").request().get(ApexApiResult.class);
140 result = target("editor/" + sessionId + "/KeyInformation/Get").request().get(ApexApiResult.class);
141 assertEquals(Result.SUCCESS, result.getResult());
142 result = target("editor/-12345/KeyInformation/Get").request().get(ApexApiResult.class);
143 assertEquals(Result.FAILED, result.getResult());
144 result = target("editor/12345/KeyInformation/Get").request().get(ApexApiResult.class);
145 assertEquals(Result.FAILED, result.getResult());
147 result = target("editor/" + corruptSessionId + "/Model/Delete").request().delete(ApexApiResult.class);
149 result = target("editor/" + sessionId + "/Model/Delete").request().delete(ApexApiResult.class);
150 assertEquals(Result.SUCCESS, result.getResult());
151 result = target("editor/-12345/Model/Delete").request().delete(ApexApiResult.class);
152 assertEquals(Result.FAILED, result.getResult());
153 result = target("editor/12345/Model/Delete").request().delete(ApexApiResult.class);
154 assertEquals(Result.FAILED, result.getResult());
158 public void testContextSchema() throws IOException {
159 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
160 assertEquals(Result.SUCCESS, result.getResult());
161 final int sessionId = Integer.valueOf(result.getMessages().get(0));
163 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
165 result = target("editor/-12345/Validate/ContextSchema").request().get(ApexApiResult.class);
166 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
168 target("editor/" + corruptSessionId + "/Validate/ContextSchema").request().get(ApexApiResult.class);
170 result = target("editor/" + sessionId + "/Validate/ContextSchema").request().get(ApexApiResult.class);
171 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
173 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", (String) null)
174 .queryParam("version", (String) null).request().get(ApexApiResult.class);
175 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
177 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", "%%%$£")
178 .queryParam("version", (String) null).request().get(ApexApiResult.class);
179 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
181 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
183 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
184 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
185 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
186 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
187 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
188 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
189 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
190 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
191 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
192 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
193 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
194 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
195 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
196 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", (String) null)
197 .queryParam("version", (String) null).request().get(ApexApiResult.class);
198 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
200 target("editor/" + corruptSessionId + "/ContextSchema/Get").queryParam("name", (String) null)
201 .queryParam("version", (String) null).request().get(ApexApiResult.class);
203 String csString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
204 + "\"schemaFlavour\" : \"Java\"," + "\"schemaDefinition\" : \"java.lang.String\","
205 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
206 + "\"description\" : \"A description of hello\"" + "}";
207 Entity<String> csEntity = Entity.entity(csString, MediaType.APPLICATION_JSON);
208 result = target("editor/-12345/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
209 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
210 result = target("editor/1234545/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
211 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
212 result = target("editor/" + sessionId + "/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
213 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
215 target("editor/" + corruptSessionId + "/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
217 csString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
218 + "\"schemaFlavour\" : \"Java\"," + "\"schemaDefinition\" : \"my.perfect.String\","
219 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
220 + "\"description\" : \"A description of hello\"" + "}";
221 csEntity = Entity.entity(csString, MediaType.APPLICATION_JSON);
222 result = target("editor/-12345/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
223 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
224 result = target("editor/1234545/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
225 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
226 result = target("editor/" + sessionId + "/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
227 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
229 target("editor/" + corruptSessionId + "/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
231 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", "Hello")
232 .queryParam("version", (String) null).request().get(ApexApiResult.class);
233 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
234 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", "NonExistant")
235 .queryParam("version", (String) null).request().get(ApexApiResult.class);
236 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
237 result = target("editor/-123345/ContextSchema/Get").queryParam("name", (String) null)
238 .queryParam("version", (String) null).request().get(ApexApiResult.class);
239 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
240 result = target("editor/123345/ContextSchema/Get").queryParam("name", (String) null)
241 .queryParam("version", (String) null).request().get(ApexApiResult.class);
242 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
244 target("editor/" + corruptSessionId + "/ContextSchema/Get").queryParam("name", "Hello")
245 .queryParam("version", (String) null).request().get(ApexApiResult.class);
247 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", (String) null)
248 .queryParam("version", (String) null).request().get(ApexApiResult.class);
249 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
251 target("editor/" + corruptSessionId + "/ContextSchema/Delete").queryParam("name", "Hello")
252 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
254 result = target("editor/-123345/ContextSchema/Delete").queryParam("name", (String) null)
255 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
256 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
257 result = target("editor/123345/ContextSchema/Delete").queryParam("name", (String) null)
258 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
259 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
260 result = target("editor/" + sessionId + "/ContextSchema/Delete").queryParam("name", "Hello")
261 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
262 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
263 result = target("editor/" + sessionId + "/ContextSchema/Delete").queryParam("name", (String) null)
264 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
265 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
269 public void testContextAlbum() throws IOException {
270 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
271 assertEquals(Result.SUCCESS, result.getResult());
272 final int sessionId = Integer.valueOf(result.getMessages().get(0));
273 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
275 result = target("editor/-12345/Validate/ContextAlbum").request().get(ApexApiResult.class);
276 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
278 target("editor/" + corruptSessionId + "/Validate/ContextAlbum").request().get(ApexApiResult.class);
280 result = target("editor/" + sessionId + "/Validate/ContextAlbum").request().get(ApexApiResult.class);
281 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
283 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", (String) null)
284 .queryParam("version", (String) null).request().get(ApexApiResult.class);
285 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
287 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", "%%%$£")
288 .queryParam("version", (String) null).request().get(ApexApiResult.class);
289 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
291 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
293 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
294 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
295 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
296 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
297 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
298 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
299 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
300 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
301 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
302 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
303 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
304 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
305 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
306 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", (String) null)
307 .queryParam("version", (String) null).request().get(ApexApiResult.class);
308 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
310 String caString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
311 + "\"scope\" : \"Domain\"," + "\"writeable\" : false,"
312 + "\"itemSchema\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\"},"
313 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
314 + "\"description\" : \"A description of hello\"" + "}";
315 Entity<String> caEntity = Entity.entity(caString, MediaType.APPLICATION_JSON);
316 result = target("editor/-12345/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
317 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
318 result = target("editor/1234545/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
319 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
320 result = target("editor/" + sessionId + "/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
321 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
323 target("editor/" + corruptSessionId + "/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
325 caString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
326 + "\"scope\" : \"Global\"," + "\"writeable\" : false,"
327 + "\"itemSchema\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\"},"
328 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
329 + "\"description\" : \"A description of hello\"" + "}";
330 caEntity = Entity.entity(caString, MediaType.APPLICATION_JSON);
331 result = target("editor/-12345/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
332 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
333 result = target("editor/1234545/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
334 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
335 result = target("editor/" + sessionId + "/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
336 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
338 target("editor/" + corruptSessionId + "/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
340 target("editor/" + corruptSessionId + "/ContextAlbum/Get").queryParam("name", "Hello")
341 .queryParam("version", (String) null).request().get(ApexApiResult.class);
343 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", "Hello")
344 .queryParam("version", (String) null).request().get(ApexApiResult.class);
345 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
346 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", "IDontExist")
347 .queryParam("version", (String) null).request().get(ApexApiResult.class);
348 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
349 result = target("editor/-123345/ContextAlbum/Get").queryParam("name", (String) null)
350 .queryParam("version", (String) null).request().get(ApexApiResult.class);
351 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
352 result = target("editor/123345/ContextAlbum/Get").queryParam("name", (String) null)
353 .queryParam("version", (String) null).request().get(ApexApiResult.class);
354 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
356 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", (String) null)
357 .queryParam("version", (String) null).request().get(ApexApiResult.class);
358 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
360 target("editor/" + corruptSessionId + "/ContextAlbum/Delete").queryParam("name", (String) null)
361 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
363 result = target("editor/-123345/ContextAlbum/Delete").queryParam("name", (String) null)
364 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
365 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
366 result = target("editor/123345/ContextAlbum/Delete").queryParam("name", (String) null)
367 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
368 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
369 result = target("editor/" + sessionId + "/ContextAlbum/Delete").queryParam("name", "Hello")
370 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
371 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
372 result = target("editor/" + sessionId + "/ContextAlbum/Delete").queryParam("name", (String) null)
373 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
374 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
378 public void testEvent() throws IOException {
379 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
381 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
382 assertEquals(Result.SUCCESS, result.getResult());
383 final int sessionId = Integer.valueOf(result.getMessages().get(0));
385 result = target("editor/-12345/Validate/Event").request().get(ApexApiResult.class);
386 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
388 result = target("editor/" + sessionId + "/Validate/Event").request().get(ApexApiResult.class);
389 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
391 target("editor/" + corruptSessionId + "/Validate/Event").request().get(ApexApiResult.class);
393 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
394 .queryParam("version", (String) null).request().get(ApexApiResult.class);
395 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
397 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", "%%%$£")
398 .queryParam("version", (String) null).request().get(ApexApiResult.class);
399 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
401 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
403 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
404 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
405 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
406 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
407 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
408 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
409 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
410 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
411 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
412 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
413 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
414 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
415 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
416 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
417 .queryParam("version", (String) null).request().get(ApexApiResult.class);
418 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
420 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
421 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
422 + "\"target\" : \"end\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
423 + "\"description\" : \"A description of hello\"" + "}";
424 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
425 result = target("editor/-12345/Event/Create").request().post(entity, ApexApiResult.class);
426 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
427 result = target("editor/1234545/Event/Create").request().post(entity, ApexApiResult.class);
428 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
429 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
430 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
431 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
432 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
434 target("editor/" + corruptSessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
436 entityString = "{" + "\"name\" : \"Hiya\"," + "\"version\" : \"0.0.2\","
437 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
438 + "\"target\" : \"end\"," + "\"parameters\" : {},"
439 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
440 + "\"description\" : \"A description of hello\"" + "}";
441 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
442 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
443 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
445 entityString = "{" + "\"name\" : \"HowsItGoing\"," + "\"version\" : \"0.0.2\","
446 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
447 + "\"target\" : \"end\","
448 + "\"parameters\" : {\"Par0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
449 + "\"localName\" : \"Par0\", \"optional\" : false}},"
450 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
451 + "\"description\" : \"A description of hello\"" + "}";
452 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
453 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
454 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
456 entityString = "{" + "\"name\" : \"Hi\"," + "\"version\" : \"0.0.2\","
457 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
458 + "\"target\" : \"end\"," + "\"parameters\" : {\"Par0\" : null},"
459 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
460 + "\"description\" : \"A description of hello\"" + "}";
461 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
462 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
463 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
465 entityString = "{" + "\"name\" : \"GoodDay\"," + "\"version\" : \"0.0.2\","
466 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
467 + "\"target\" : \"end\","
468 + "\"parameters\" : {\"Par0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
469 + "\"localName\" : \"Par0\", \"optional\" : false}},"
470 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
471 + "\"description\" : \"A description of hello\"" + "}";
472 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
473 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
474 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
476 entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
477 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\"," + "\"source\" : \"start\","
478 + "\"target\" : \"finish\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
479 + "\"description\" : \"A description of hello\"" + "}";
480 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
481 result = target("editor/-12345/Event/Update").request().put(entity, ApexApiResult.class);
482 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
483 result = target("editor/1234545/Event/Update").request().put(entity, ApexApiResult.class);
484 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
485 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
486 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
488 target("editor/" + corruptSessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
490 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
491 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\"," + "\"source\" : \"start\","
492 + "\"target\" : \"finish\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
493 + "\"description\" : \"A description of hello\"" + "}";
494 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
495 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
496 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
498 entityString = "{" + "\"name\" : \"NonExistantEvent\"," + "\"version\" : \"0.0.2\","
499 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\"," + "\"source\" : \"start\","
500 + "\"target\" : \"finish\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
501 + "\"description\" : \"A description of hello\"" + "}";
502 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
503 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
504 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
506 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", "Hello")
507 .queryParam("version", (String) null).request().get(ApexApiResult.class);
508 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
509 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", "IDontExist")
510 .queryParam("version", (String) null).request().get(ApexApiResult.class);
511 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
512 result = target("editor/-123345/Event/Get").queryParam("name", (String) null)
513 .queryParam("version", (String) null).request().get(ApexApiResult.class);
514 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
515 result = target("editor/123345/Event/Get").queryParam("name", (String) null)
516 .queryParam("version", (String) null).request().get(ApexApiResult.class);
517 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
519 target("editor/" + corruptSessionId + "/Event/Get").queryParam("name", "Hello")
520 .queryParam("version", (String) null).request().get(ApexApiResult.class);
522 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
523 .queryParam("version", (String) null).request().get(ApexApiResult.class);
524 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
525 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
526 .queryParam("version", (String) null).request().get(ApexApiResult.class);
527 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
528 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
529 .queryParam("version", (String) null).request().get(ApexApiResult.class);
530 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
532 target("editor/" + corruptSessionId + "/Event/Delete").queryParam("name", (String) null)
533 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
535 result = target("editor/-123345/Event/Delete").queryParam("name", (String) null)
536 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
537 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
538 result = target("editor/123345/Event/Delete").queryParam("name", (String) null)
539 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
540 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
541 result = target("editor/" + sessionId + "/Event/Delete").queryParam("name", "Hello")
542 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
543 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
544 result = target("editor/" + sessionId + "/Event/Delete").queryParam("name", (String) null)
545 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
546 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
550 public void testTask() throws IOException {
551 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
553 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
554 assertEquals(Result.SUCCESS, result.getResult());
555 final int sessionId = Integer.valueOf(result.getMessages().get(0));
557 result = target("editor/-12345/Validate/Task").request().get(ApexApiResult.class);
558 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
560 result = target("editor/" + sessionId + "/Validate/Task").request().get(ApexApiResult.class);
561 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
564 target("editor/" + corruptSessionId + "/Validate/Task").request().get(ApexApiResult.class);
565 } catch (final Exception e) {
566 assertEquals("HTTP 500 Request failed.", e.getMessage());
569 result = target("editor/" + sessionId + "/Validate/Task").queryParam("name", (String) null)
570 .queryParam("version", (String) null).request().get(ApexApiResult.class);
571 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
573 result = target("editor/" + sessionId + "/Validate/Task").queryParam("name", "%%%$£")
574 .queryParam("version", (String) null).request().get(ApexApiResult.class);
575 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
577 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
579 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
580 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
581 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
582 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
583 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
584 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
585 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
586 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
587 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
588 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
589 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
590 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
591 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
592 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
593 .queryParam("version", (String) null).request().get(ApexApiResult.class);
594 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
596 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
597 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
598 + "\"description\" : \"A description of hello\"" + "}";
599 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
600 result = target("editor/-12345/Task/Create").request().post(entity, ApexApiResult.class);
601 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
602 result = target("editor/1234545/Task/Create").request().post(entity, ApexApiResult.class);
603 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
604 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
605 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
606 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
607 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
609 target("editor/" + corruptSessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
611 entityString = "{" + "\"name\" : \"Hiya\"," + "\"version\" : \"0.0.2\","
612 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
613 + "\"description\" : \"A description of hello\"" + "}";
614 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
615 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
616 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
618 entityString = "{" + "\"name\" : \"HowsItGoing\"," + "\"version\" : \"0.0.2\","
619 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
620 + "\"localName\" : \"IField0\", \"optional\" : false}},"
621 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
622 + "\"description\" : \"A description of hello\"" + "}";
623 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
624 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
625 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
627 entityString = "{" + "\"name\" : \"Hi\"," + "\"version\" : \"0.0.2\","
628 + "\"inputFields\" : {\"IField0\" : null},"
629 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
630 + "\"description\" : \"A description of hello\"" + "}";
631 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
632 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
633 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
635 entityString = "{" + "\"name\" : \"GoodDay\"," + "\"version\" : \"0.0.2\","
636 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
637 + "\"localName\" : \"IField0\", \"optional\" : false}},"
638 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
639 + "\"description\" : \"A description of hello\"" + "}";
640 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
641 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
642 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
644 entityString = "{" + "\"name\" : \"Howdy\"," + "\"version\" : \"0.0.2\","
645 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
646 + "\"localName\" : \"NotIField0\", \"optional\" : false}},"
647 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
648 + "\"description\" : \"A description of hello\"" + "}";
649 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
650 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
651 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
653 entityString = "{" + "\"name\" : \"HowsItGoing2\"," + "\"version\" : \"0.0.2\","
654 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
655 + "\"localName\" : \"OField0\", \"optional\" : false}},"
656 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
657 + "\"description\" : \"A description of hello\"" + "}";
658 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
659 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
660 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
662 entityString = "{" + "\"name\" : \"Hi2\"," + "\"version\" : \"0.0.2\","
663 + "\"outputFields\" : {\"OField0\" : null},"
664 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
665 + "\"description\" : \"A description of hello\"" + "}";
666 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
667 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
668 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
670 entityString = "{" + "\"name\" : \"GoodDay2\"," + "\"version\" : \"0.0.2\","
671 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\","
672 + " \"localName\" : \"OField0\", \"optional\" : false}},"
673 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
674 + "\"description\" : \"A description of hello\"" + "}";
675 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
676 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
677 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
679 entityString = "{" + "\"name\" : \"Howdy2\"," + "\"version\" : \"0.0.2\","
680 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
681 + "\"localName\" : \"NotOField0\", \"optional\" : false}},"
682 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
683 + "\"description\" : \"A description of hello\"" + "}";
684 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
685 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
686 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
688 entityString = "{" + "\"name\" : \"HowsItGoing3\"," + "\"version\" : \"0.0.2\","
689 + "\"taskLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons,"
690 + " lots of lime\"}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
691 + "\"description\" : \"A description of hello\"" + "}";
692 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
693 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
694 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
696 entityString = "{" + "\"name\" : \"Hi3\"," + "\"version\" : \"0.0.2\","
697 + "\"taskLogic\" : null," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
698 + "\"description\" : \"A description of hello\"" + "}";
699 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
700 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
701 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
703 entityString = "{" + "\"name\" : \"GoodDay3\"," + "\"version\" : \"0.0.2\","
704 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
705 + "\"target\" : \"end\","
706 + "\"taskLogic\" : {\"logicFlavour\" : \"UNDEFINED\", \"logic\" : \"lots of lemons,"
707 + " lots of lime\"}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
708 + "\"description\" : \"A description of hello\"" + "}";
709 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
710 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
711 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
713 entityString = "{" + "\"name\" : \"Howdy3\"," + "\"version\" : \"0.0.2\","
714 + "\"taskLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null},"
715 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
716 + "\"description\" : \"A description of hello\"" + "}";
717 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
718 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
719 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
721 entityString = "{" + "\"name\" : \"HowsItGoing4\"," + "\"version\" : \"0.0.2\","
722 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"Par0\", "
723 + "\"defaultValue\" : \"Parameter Defaultvalue\"}},"
724 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
725 + "\"description\" : \"A description of hello\"" + "}";
726 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
727 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
728 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
730 entityString = "{" + "\"name\" : \"Hi4\"," + "\"version\" : \"0.0.2\","
731 + "\"parameters\" : {\"Par0\" : null},"
732 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
733 + "\"description\" : \"A description of hello\"" + "}";
734 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
735 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
736 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
738 entityString = "{" + "\"name\" : \"GoodDay4\"," + "\"version\" : \"0.0.2\","
739 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"NotPar0\", \"defaultValue\" : "
740 + "\"Parameter Defaultvalue\"}}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
741 + "\"description\" : \"A description of hello\"" + "}";
742 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
743 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
744 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
746 entityString = "{" + "\"name\" : \"Howdy4\"," + "\"version\" : \"0.0.2\","
747 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"MyParameter\", \"defaultValue\" : null}},"
748 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
749 + "\"description\" : \"A description of hello\"" + "}";
750 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
751 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
752 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
754 entityString = "{" + "\"name\" : \"HowsItGoing5\"," + "\"version\" : \"0.0.2\","
755 + "\"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
756 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
757 + "\"description\" : \"A description of hello\"" + "}";
758 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
759 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
760 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
762 entityString = "{" + "\"name\" : \"Hi5\"," + "\"version\" : \"0.0.2\","
763 + "\"contexts\" : []," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
764 + "\"description\" : \"A description of hello\"" + "}";
765 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
766 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
767 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
769 entityString = "{" + "\"name\" : \"GoodDay5\"," + "\"version\" : \"0.0.2\","
770 + "\"contexts\" : [{\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\"}],"
771 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
772 + "\"description\" : \"A description of hello\"" + "}";
773 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
774 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
775 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
777 entityString = "{" + "\"name\" : \"Howdy5\"," + "\"version\" : \"0.0.2\","
778 + "\"contexts\" : [{\"name\" : null, \"version\" : \"0.0.1\"}],"
779 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
780 + "\"description\" : \"A description of hello\"" + "}";
781 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
782 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
783 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
785 entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
786 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
787 + "\"description\" : \"A description of hello\"" + "}";
788 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
789 result = target("editor/-12345/Task/Update").request().put(entity, ApexApiResult.class);
790 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
791 result = target("editor/1234545/Task/Update").request().put(entity, ApexApiResult.class);
792 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
793 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
794 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
796 target("editor/" + corruptSessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
798 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
799 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
800 + "\"description\" : \"A description of hello\"" + "}";
801 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
802 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
803 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
805 entityString = "{" + "\"name\" : \"NonExistantEvent\"," + "\"version\" : \"0.0.2\","
806 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
807 + "\"description\" : \"A description of hello\"" + "}";
808 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
809 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
810 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
812 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", "Hello")
813 .queryParam("version", (String) null).request().get(ApexApiResult.class);
814 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
815 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", (String) null)
816 .queryParam("version", (String) null).request().get(ApexApiResult.class);
817 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
818 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", "IDontExist")
819 .queryParam("version", (String) null).request().get(ApexApiResult.class);
820 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
821 result = target("editor/-123345/Task/Get").queryParam("name", (String) null)
822 .queryParam("version", (String) null).request().get(ApexApiResult.class);
823 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
824 result = target("editor/123345/Task/Get").queryParam("name", (String) null).queryParam("version", (String) null)
825 .request().get(ApexApiResult.class);
826 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
828 target("editor/" + corruptSessionId + "/Task/Get").queryParam("name", "Hello")
829 .queryParam("version", (String) null).request().get(ApexApiResult.class);
831 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
832 .queryParam("version", (String) null).request().get(ApexApiResult.class);
833 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
834 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
835 .queryParam("version", (String) null).request().get(ApexApiResult.class);
836 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
837 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
838 .queryParam("version", (String) null).request().get(ApexApiResult.class);
839 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
841 target("editor/" + corruptSessionId + "/Task/Delete").queryParam("name", (String) null)
842 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
844 result = target("editor/-123345/Task/Delete").queryParam("name", (String) null)
845 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
846 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
847 result = target("editor/123345/Task/Delete").queryParam("name", (String) null)
848 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
849 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
850 result = target("editor/" + sessionId + "/Task/Delete").queryParam("name", "Hello")
851 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
852 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
853 result = target("editor/" + sessionId + "/Task/Delete").queryParam("name", (String) null)
854 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
855 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
859 public void testPolicy() throws IOException {
860 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
862 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
863 assertEquals(Result.SUCCESS, result.getResult());
864 final int sessionId = Integer.valueOf(result.getMessages().get(0));
866 result = target("editor/-12345/Model/Validate").request().get(ApexApiResult.class);
867 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
869 result = target("editor/" + sessionId + "/Model/Validate").request().get(ApexApiResult.class);
870 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
872 target("editor/" + corruptSessionId + "/Model/Validate").request().get(ApexApiResult.class);
873 result = target("editor/" + sessionId + "/Model/Validate").queryParam("name", (String) null)
874 .queryParam("version", (String) null).request().get(ApexApiResult.class);
875 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
877 result = target("editor/" + sessionId + "/Model/Validate").queryParam("name", "%%%$£")
878 .queryParam("version", (String) null).request().get(ApexApiResult.class);
879 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
881 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
883 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
884 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
885 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
886 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
887 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
888 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
889 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
890 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
891 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
892 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
893 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
894 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
895 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
896 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
897 .queryParam("version", (String) null).request().get(ApexApiResult.class);
898 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
900 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
901 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
902 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
903 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
904 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
905 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
906 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
907 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
908 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
909 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
910 + "\"description\" : \"A description of hello\"" + "}";
911 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
912 result = target("editor/-12345/Policy/Create").request().post(entity, ApexApiResult.class);
913 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
914 result = target("editor/1234545/Policy/Create").request().post(entity, ApexApiResult.class);
915 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
916 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
917 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
918 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
919 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
921 target("editor/" + corruptSessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
923 entityString = "{" + "\"name\" : \"GoodTaSeeYa\"," + "\"version\" : \"0.0.2\","
924 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
925 + "\"states\" : null," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
926 + "\"description\" : \"A description of hello\"" + "}";
927 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
928 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
929 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
931 entityString = "{" + "\"name\" : \"HelloAnother\"," + "\"version\" : \"0.0.2\","
932 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
933 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
934 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
935 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
936 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
937 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
938 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
939 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
940 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
941 + "\"description\" : \"A description of hello\"" + "}";
942 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
943 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
944 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
946 entityString = "{" + "\"name\" : \"Hello2\"," + "\"version\" : \"0.0.2\","
947 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
948 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
949 + " \"trigger\" : null," + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
950 + " \"stateOutputs\" : {" + " \"so0\" : {"
951 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
952 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
953 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
954 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
955 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
956 + "\"description\" : \"A description of hello\"" + "}";
957 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
958 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
959 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
961 entityString = "{" + "\"name\" : \"Hello3\"," + "\"version\" : \"0.0.2\","
962 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
963 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
964 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
965 + " \"defaultTask\" : null," + " \"stateOutputs\" : {" + " \"so0\" : {"
966 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
967 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
968 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
969 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
970 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
971 + "\"description\" : \"A description of hello\"" + "}";
972 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
973 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
974 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
976 entityString = "{" + "\"name\" : \"Hello4\"," + "\"version\" : \"0.0.2\","
977 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
978 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
979 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
980 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : null,"
981 + " \"tasks\" : {" + " \"tr0\" : {"
982 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
983 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
984 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
985 + "\"description\" : \"A description of hello\"" + "}";
986 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
987 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
988 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
990 entityString = "{" + "\"name\" : \"Hello5\"," + "\"version\" : \"0.0.2\","
991 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
992 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
993 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
994 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
995 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
996 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : null" + " }" + "},"
997 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
998 + "\"description\" : \"A description of hello\"" + "}";
999 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1000 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1001 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1003 entityString = "{" + "\"name\" : \"Hello6\"," + "\"version\" : \"0.0.2\","
1004 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1005 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1006 + " \"trigger\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1007 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1008 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1009 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1010 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1011 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1012 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1013 + "\"description\" : \"A description of hello\"" + "}";
1014 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1015 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1016 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1018 entityString = "{" + "\"name\" : \"Hello7\"," + "\"version\" : \"0.0.2\","
1019 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1020 + "\"states\" : {" + " \"state\" : null" + "},"
1021 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1022 + "\"description\" : \"A description of hello\"" + "}";
1023 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1024 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1025 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1027 entityString = "{" + "\"name\" : \"Hello8\"," + "\"version\" : \"0.0.2\","
1028 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1029 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1030 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1031 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1033 + " \"event\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1034 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1035 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1036 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1037 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1038 + "\"description\" : \"A description of hello\"" + "}";
1039 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1040 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1041 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1043 entityString = "{" + "\"name\" : \"Hello9\"," + "\"version\" : \"0.0.2\","
1044 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1045 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1046 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1047 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1048 + " \"so0\" : {" + " \"event\" : null," + " \"nextState\" : null" + " }"
1049 + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1050 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1051 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1052 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1053 + "\"description\" : \"A description of hello\"" + "}";
1054 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1055 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1056 System.err.println(result);
1057 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1059 entityString = "{" + "\"name\" : \"Hello10\"," + "\"version\" : \"0.0.2\","
1060 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1061 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1062 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1063 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1064 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1065 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1066 + " \"task\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1067 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1068 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1069 + "\"description\" : \"A description of hello\"" + "}";
1070 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1071 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1072 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1074 entityString = "{" + "\"name\" : \"Hello11\"," + "\"version\" : \"0.0.2\","
1075 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1076 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1077 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1078 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1079 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1080 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1081 + " \"task\" : null," + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\""
1082 + " }" + " }" + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1083 + "\"description\" : \"A description of hello\"" + "}";
1084 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1085 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1086 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1088 entityString = "{" + "\"name\" : \"Hello12\"," + "\"version\" : \"0.0.2\","
1089 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1090 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1091 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1092 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1093 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1094 + "lots of lime\"}," + " \"stateOutputs\" : {" + " \"so0\" : {"
1095 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1096 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1098 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1099 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }"
1100 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1101 + "\"description\" : \"A description of hello\"" + "}";
1102 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1103 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1104 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1106 entityString = "{" + "\"name\" : \"Hello13\"," + "\"version\" : \"0.0.2\","
1107 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1108 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1109 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1110 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1111 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null},"
1112 + " \"stateOutputs\" : {" + " \"so0\" : {"
1113 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1114 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1116 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1117 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }"
1118 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1119 + "\"description\" : \"A description of hello\"" + "}";
1120 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1121 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1122 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1124 entityString = "{" + "\"name\" : \"Hello14\"," + "\"version\" : \"0.0.2\","
1125 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1126 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1127 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1128 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1129 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1130 + "lots of lime\"},"
1131 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1132 + " \"stateOutputs\" : {" + " \"so0\" : {"
1133 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1134 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1136 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1137 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }"
1138 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1139 + "\"description\" : \"A description of hello\"" + "}";
1140 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1141 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1142 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1144 entityString = "{" + "\"name\" : \"Hello15\"," + "\"version\" : \"0.0.2\","
1145 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1146 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1147 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1148 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1149 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1150 + "lots of lime\"}," + " \"contexts\" : [{\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"}],"
1151 + " \"stateOutputs\" : {" + " \"so0\" : {"
1152 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1153 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1155 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1156 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }"
1157 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1158 + "\"description\" : \"A description of hello\"" + "}";
1159 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1160 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1161 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1163 entityString = "{" + "\"name\" : \"Hello16\"," + "\"version\" : \"0.0.2\","
1164 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1165 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1166 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1167 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1168 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1169 + "lots of lime\"}," + " \"contexts\" : [null]," + " \"stateOutputs\" : {"
1171 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1172 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1174 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1175 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }"
1176 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1177 + "\"description\" : \"A description of hello\"" + "}";
1178 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1179 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1180 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1182 entityString = "{" + "\"name\" : \"Hello17\"," + "\"version\" : \"0.0.2\","
1183 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1184 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1185 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1186 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1187 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1188 + "lots of lime\"},"
1189 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1190 + " \"stateOutputs\" : {" + " \"so0\" : {"
1191 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1192 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1194 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1195 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1196 + " \"finalizers\" : {"
1197 + " \"sf0\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1198 + "lots of lime\"}" + " }" + " }" + "},"
1199 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1200 + "\"description\" : \"A description of hello\"" + "}";
1201 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1202 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1203 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1205 entityString = "{" + "\"name\" : \"Hello18\"," + "\"version\" : \"0.0.2\","
1206 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1207 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1208 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1209 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1210 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1211 + "lots of lime\"},"
1212 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1213 + " \"stateOutputs\" : {" + " \"so0\" : {"
1214 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1215 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1217 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1218 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1219 + " \"finalizers\" : {" + " \"sf0\" : null" + " }" + " }" + "},"
1220 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1221 + "\"description\" : \"A description of hello\"" + "}";
1222 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1223 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1224 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1226 entityString = "{" + "\"name\" : \"Hello19\"," + "\"version\" : \"0.0.2\","
1227 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1228 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1229 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1230 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1231 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1232 + "lots of lime\"},"
1233 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1234 + " \"stateOutputs\" : {" + " \"so0\" : {"
1235 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1236 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1238 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1239 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1240 + " \"finalizers\" : {"
1241 + " \"sf0\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null}" + " }" + " }" + "},"
1242 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1243 + "\"description\" : \"A description of hello\"" + "}";
1244 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1245 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1246 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1248 entityString = "{" + "\"name\" : \"HelloAnother\"," + "\"version\" : \"0.0.2\","
1249 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1250 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1251 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1252 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1253 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1254 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1255 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1256 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1257 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1258 + "\"description\" : \"A better description of hello\"" + "}";
1259 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1260 result = target("editor/-12345/Policy/Update").request().put(entity, ApexApiResult.class);
1261 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1262 result = target("editor/1234545/Policy/Update").request().put(entity, ApexApiResult.class);
1263 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1264 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1265 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1267 result = target("editor/" + sessionId + "/Policy/Update").queryParam("firstStatePeriodic", "true").request()
1268 .put(entity, ApexApiResult.class);
1269 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1271 target("editor/" + corruptSessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1273 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
1274 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1275 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1276 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1277 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1278 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1279 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1280 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1281 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1282 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1283 + "\"description\" : \"A better description of hello\"" + "}";
1284 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1285 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1286 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1288 entityString = "{" + "\"name\" : \"IDontExist\"," + "\"version\" : \"0.0.2\","
1289 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1290 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1291 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1292 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1293 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1294 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1295 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1296 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1297 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1298 + "\"description\" : \"A better description of hello\"" + "}";
1299 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1300 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1301 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1303 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", "Hello")
1304 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1305 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1306 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", "IDontExist")
1307 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1308 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1309 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", (String) null)
1310 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1311 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1312 result = target("editor/-123345/Policy/Get").queryParam("name", (String) null)
1313 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1314 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1315 result = target("editor/123345/Policy/Get").queryParam("name", (String) null)
1316 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1317 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1319 target("editor/" + corruptSessionId + "/Policy/Get").queryParam("name", "Hello")
1320 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1322 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
1323 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1324 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1325 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
1326 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1327 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1328 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
1329 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1330 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1332 target("editor/" + corruptSessionId + "/Policy/Delete").queryParam("name", (String) null)
1333 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1335 result = target("editor/-123345/Policy/Delete").queryParam("name", (String) null)
1336 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1337 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1338 result = target("editor/123345/Policy/Delete").queryParam("name", (String) null)
1339 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1340 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1341 result = target("editor/" + sessionId + "/Policy/Delete").queryParam("name", "Hello")
1342 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
1343 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1344 result = target("editor/" + sessionId + "/Policy/Delete").queryParam("name", (String) null)
1345 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1346 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());