2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2016-2018 Ericsson. All rights reserved.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.apex.client.editor.rest.handling;
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertNotNull;
26 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;
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.apex.model.utilities.TextFileUtils;
40 * Test Apex Editor Rest Resource.
41 * @author Liam Fallon (liam.fallon@ericsson.com)
43 public class ApexEditorRestResourceTest extends JerseyTest {
45 protected Application configure() {
46 return new ResourceConfig(ApexEditorRestResource.class);
50 public void testSessionCreate() {
51 ApexApiResult result = target("editor/-2/Session/Create").request().get(ApexApiResult.class);
52 assertEquals(Result.FAILED, result.getResult());
54 result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
55 assertEquals(Result.SUCCESS, result.getResult());
56 final int sessionId = new Integer(result.getMessages().get(0));
58 result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
59 assertEquals(Result.SUCCESS, result.getResult());
61 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
64 target("editor/" + corruptSessionId + "/Model/Analyse").request().get(ApexApiResult.class);
65 } catch (final Exception e) {
66 assertEquals("HTTP 500 Request failed.", e.getMessage());
69 result = target("editor/" + sessionId + "/Model/Analyse").request().get(ApexApiResult.class);
70 assertEquals(Result.SUCCESS, result.getResult());
71 result = target("editor/-12345/Model/Analyse").request().get(ApexApiResult.class);
72 assertEquals(Result.FAILED, result.getResult());
73 result = target("editor/12345/Model/Analyse").request().get(ApexApiResult.class);
74 assertEquals(Result.FAILED, result.getResult());
77 target("editor/" + corruptSessionId + "/Model/Validate").request().get(ApexApiResult.class);
78 } catch (final Exception e) {
79 assertEquals("HTTP 500 Request failed.", e.getMessage());
82 result = target("editor/" + sessionId + "/Model/Validate").request().get(ApexApiResult.class);
83 assertEquals(Result.FAILED, result.getResult());
84 result = target("editor/-12345/Model/Validate").request().get(ApexApiResult.class);
85 assertEquals(Result.FAILED, result.getResult());
86 result = target("editor/12345/Model/Validate").request().get(ApexApiResult.class);
87 assertEquals(Result.FAILED, result.getResult());
89 final String modelString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
90 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002699\","
91 + "\"description\" : \"A description of the model\"" + "}";
92 final Entity<String> csEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
93 result = target("editor/-12345/Model/Create").request().post(csEntity, ApexApiResult.class);
94 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
95 result = target("editor/-12345/Model/Create").request().post(csEntity, ApexApiResult.class);
96 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
97 result = target("editor/1234545/Model/Create").request().post(csEntity, ApexApiResult.class);
98 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
99 result = target("editor/" + sessionId + "/Model/Create").request().post(csEntity, ApexApiResult.class);
100 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
103 target("editor/" + corruptSessionId + "/Model/Create").request().post(csEntity, ApexApiResult.class);
104 } catch (final Exception e) {
105 assertEquals("HTTP 500 Request failed.", e.getMessage());
108 result = target("editor/-12345/Model/Update").request().put(csEntity, ApexApiResult.class);
109 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
110 result = target("editor/-12345/Model/Update").request().put(csEntity, ApexApiResult.class);
111 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
112 result = target("editor/1234545/Model/Update").request().put(csEntity, ApexApiResult.class);
113 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
114 result = target("editor/" + sessionId + "/Model/Update").request().put(csEntity, ApexApiResult.class);
115 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
118 target("editor/" + corruptSessionId + "/Model/Update").request().put(csEntity, ApexApiResult.class);
119 } catch (final Exception e) {
120 assertEquals("HTTP 500 Request failed.", e.getMessage());
124 result = target("editor/" + corruptSessionId + "/Model/GetKey").request().get(ApexApiResult.class);
125 } catch (final Exception e) {
126 assertEquals("HTTP 500 Request failed.", e.getMessage());
129 result = target("editor/" + sessionId + "/Model/GetKey").request().get(ApexApiResult.class);
130 assertEquals(Result.SUCCESS, result.getResult());
131 result = target("editor/-12345/Model/GetKey").request().get(ApexApiResult.class);
132 assertEquals(Result.FAILED, result.getResult());
133 result = target("editor/12345/Model/GetKey").request().get(ApexApiResult.class);
134 assertEquals(Result.FAILED, result.getResult());
137 result = target("editor/" + corruptSessionId + "/Model/Get").request().get(ApexApiResult.class);
138 } catch (final Exception e) {
139 assertEquals("HTTP 500 Request failed.", e.getMessage());
142 result = target("editor/" + sessionId + "/Model/Get").request().get(ApexApiResult.class);
143 assertEquals(Result.SUCCESS, result.getResult());
144 result = target("editor/-12345/Model/Get").request().get(ApexApiResult.class);
145 assertEquals(Result.FAILED, result.getResult());
146 result = target("editor/12345/Model/Get").request().get(ApexApiResult.class);
147 assertEquals(Result.FAILED, result.getResult());
149 String resultString = target("editor/" + corruptSessionId + "/Model/Download").request().get(String.class);
150 assertEquals("", resultString);
152 resultString = target("editor/" + sessionId + "/Model/Download").request().get(String.class);
153 assertNotNull(resultString);
155 resultString = target("editor/-12345/Model/Download").request().get(String.class);
156 assertEquals("", resultString);
158 resultString = target("editor/12345/Model/Download").request().get(String.class);
159 assertEquals("", resultString);
162 result = target("editor/" + corruptSessionId + "/KeyInformation/Get").request().get(ApexApiResult.class);
163 } catch (final Exception e) {
164 assertEquals("HTTP 500 Request failed.", e.getMessage());
167 result = target("editor/" + sessionId + "/KeyInformation/Get").request().get(ApexApiResult.class);
168 assertEquals(Result.SUCCESS, result.getResult());
169 result = target("editor/-12345/KeyInformation/Get").request().get(ApexApiResult.class);
170 assertEquals(Result.FAILED, result.getResult());
171 result = target("editor/12345/KeyInformation/Get").request().get(ApexApiResult.class);
172 assertEquals(Result.FAILED, result.getResult());
175 result = target("editor/" + corruptSessionId + "/Model/Delete").request().delete(ApexApiResult.class);
176 } catch (final Exception e) {
177 assertEquals("HTTP 500 Request failed.", e.getMessage());
180 result = target("editor/" + sessionId + "/Model/Delete").request().delete(ApexApiResult.class);
181 assertEquals(Result.SUCCESS, result.getResult());
182 result = target("editor/-12345/Model/Delete").request().delete(ApexApiResult.class);
183 assertEquals(Result.FAILED, result.getResult());
184 result = target("editor/12345/Model/Delete").request().delete(ApexApiResult.class);
185 assertEquals(Result.FAILED, result.getResult());
189 public void testContextSchema() throws IOException {
190 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
191 assertEquals(Result.SUCCESS, result.getResult());
192 final int sessionId = new Integer(result.getMessages().get(0));
194 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
196 result = target("editor/-12345/Validate/ContextSchema").request().get(ApexApiResult.class);
197 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
200 target("editor/" + corruptSessionId + "/Validate/ContextSchema").request().get(ApexApiResult.class);
201 } catch (final Exception e) {
202 assertEquals("HTTP 500 Request failed.", e.getMessage());
205 result = target("editor/" + sessionId + "/Validate/ContextSchema").request().get(ApexApiResult.class);
206 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
208 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", (String) null)
209 .queryParam("version", (String) null).request().get(ApexApiResult.class);
210 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
212 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", "%%%$£")
213 .queryParam("version", (String) null).request().get(ApexApiResult.class);
214 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
216 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
218 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
219 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
220 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
221 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
222 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
223 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
224 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
225 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
226 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
227 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
228 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
229 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
230 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
231 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", (String) null)
232 .queryParam("version", (String) null).request().get(ApexApiResult.class);
233 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
236 target("editor/" + corruptSessionId + "/ContextSchema/Get").queryParam("name", (String) null)
237 .queryParam("version", (String) null).request().get(ApexApiResult.class);
238 } catch (final Exception e) {
239 assertEquals("HTTP 500 Request failed.", e.getMessage());
242 String csString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
243 + "\"schemaFlavour\" : \"Java\"," + "\"schemaDefinition\" : \"java.lang.String\","
244 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
245 + "\"description\" : \"A description of hello\"" + "}";
246 Entity<String> csEntity = Entity.entity(csString, MediaType.APPLICATION_JSON);
247 result = target("editor/-12345/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
248 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
249 result = target("editor/1234545/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
250 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
251 result = target("editor/" + sessionId + "/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
252 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
255 target("editor/" + corruptSessionId + "/ContextSchema/Create").request().post(csEntity,
256 ApexApiResult.class);
257 } catch (final Exception e) {
258 assertEquals("HTTP 500 Request failed.", e.getMessage());
261 csString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
262 + "\"schemaFlavour\" : \"Java\"," + "\"schemaDefinition\" : \"my.perfect.String\","
263 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
264 + "\"description\" : \"A description of hello\"" + "}";
265 csEntity = Entity.entity(csString, MediaType.APPLICATION_JSON);
266 result = target("editor/-12345/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
267 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
268 result = target("editor/1234545/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
269 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
270 result = target("editor/" + sessionId + "/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
271 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
274 target("editor/" + corruptSessionId + "/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
275 } catch (final Exception e) {
276 assertEquals("HTTP 500 Request failed.", e.getMessage());
279 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", "Hello")
280 .queryParam("version", (String) null).request().get(ApexApiResult.class);
281 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
282 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", "NonExistant")
283 .queryParam("version", (String) null).request().get(ApexApiResult.class);
284 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
285 result = target("editor/-123345/ContextSchema/Get").queryParam("name", (String) null)
286 .queryParam("version", (String) null).request().get(ApexApiResult.class);
287 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
288 result = target("editor/123345/ContextSchema/Get").queryParam("name", (String) null)
289 .queryParam("version", (String) null).request().get(ApexApiResult.class);
290 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
293 target("editor/" + corruptSessionId + "/ContextSchema/Get").queryParam("name", "Hello")
294 .queryParam("version", (String) null).request().get(ApexApiResult.class);
295 } catch (final Exception e) {
296 assertEquals("HTTP 500 Request failed.", e.getMessage());
299 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", (String) null)
300 .queryParam("version", (String) null).request().get(ApexApiResult.class);
301 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
304 target("editor/" + corruptSessionId + "/ContextSchema/Delete").queryParam("name", "Hello")
305 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
306 } catch (final Exception e) {
307 assertEquals("HTTP 500 Request failed.", e.getMessage());
310 result = target("editor/-123345/ContextSchema/Delete").queryParam("name", (String) null)
311 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
312 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
313 result = target("editor/123345/ContextSchema/Delete").queryParam("name", (String) null)
314 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
315 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
316 result = target("editor/" + sessionId + "/ContextSchema/Delete").queryParam("name", "Hello")
317 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
318 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
319 result = target("editor/" + sessionId + "/ContextSchema/Delete").queryParam("name", (String) null)
320 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
321 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
325 public void testContextAlbum() throws IOException {
326 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
327 assertEquals(Result.SUCCESS, result.getResult());
328 final int sessionId = new Integer(result.getMessages().get(0));
329 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
331 result = target("editor/-12345/Validate/ContextAlbum").request().get(ApexApiResult.class);
332 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
335 target("editor/" + corruptSessionId + "/Validate/ContextAlbum").request().get(ApexApiResult.class);
336 } catch (final Exception e) {
337 assertEquals("HTTP 500 Request failed.", e.getMessage());
340 result = target("editor/" + sessionId + "/Validate/ContextAlbum").request().get(ApexApiResult.class);
341 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
343 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", (String) null)
344 .queryParam("version", (String) null).request().get(ApexApiResult.class);
345 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
347 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", "%%%$£")
348 .queryParam("version", (String) null).request().get(ApexApiResult.class);
349 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
351 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
353 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
354 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
355 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
356 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
357 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
358 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
359 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
360 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
361 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
362 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
363 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
364 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
365 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
366 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", (String) null)
367 .queryParam("version", (String) null).request().get(ApexApiResult.class);
368 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
370 String caString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
371 + "\"scope\" : \"Domain\"," + "\"writeable\" : false,"
372 + "\"itemSchema\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\"},"
373 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
374 + "\"description\" : \"A description of hello\"" + "}";
375 Entity<String> caEntity = Entity.entity(caString, MediaType.APPLICATION_JSON);
376 result = target("editor/-12345/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
377 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
378 result = target("editor/1234545/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
379 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
380 result = target("editor/" + sessionId + "/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
381 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
384 target("editor/" + corruptSessionId + "/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
385 } catch (final Exception e) {
386 assertEquals("HTTP 500 Request failed.", e.getMessage());
389 caString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
390 + "\"scope\" : \"Global\"," + "\"writeable\" : false,"
391 + "\"itemSchema\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\"},"
392 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
393 + "\"description\" : \"A description of hello\"" + "}";
394 caEntity = Entity.entity(caString, MediaType.APPLICATION_JSON);
395 result = target("editor/-12345/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
396 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
397 result = target("editor/1234545/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
398 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
399 result = target("editor/" + sessionId + "/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
400 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
403 target("editor/" + corruptSessionId + "/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
404 } catch (final Exception e) {
405 assertEquals("HTTP 500 Request failed.", e.getMessage());
409 target("editor/" + corruptSessionId + "/ContextAlbum/Get").queryParam("name", "Hello")
410 .queryParam("version", (String) null).request().get(ApexApiResult.class);
411 } catch (final Exception e) {
412 assertEquals("HTTP 500 Request failed.", e.getMessage());
415 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", "Hello")
416 .queryParam("version", (String) null).request().get(ApexApiResult.class);
417 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
418 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", "IDontExist")
419 .queryParam("version", (String) null).request().get(ApexApiResult.class);
420 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
421 result = target("editor/-123345/ContextAlbum/Get").queryParam("name", (String) null)
422 .queryParam("version", (String) null).request().get(ApexApiResult.class);
423 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
424 result = target("editor/123345/ContextAlbum/Get").queryParam("name", (String) null)
425 .queryParam("version", (String) null).request().get(ApexApiResult.class);
426 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
428 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", (String) null)
429 .queryParam("version", (String) null).request().get(ApexApiResult.class);
430 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
433 target("editor/" + corruptSessionId + "/ContextAlbum/Delete").queryParam("name", (String) null)
434 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
435 } catch (final Exception e) {
436 assertEquals("HTTP 500 Request failed.", e.getMessage());
439 result = target("editor/-123345/ContextAlbum/Delete").queryParam("name", (String) null)
440 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
441 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
442 result = target("editor/123345/ContextAlbum/Delete").queryParam("name", (String) null)
443 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
444 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
445 result = target("editor/" + sessionId + "/ContextAlbum/Delete").queryParam("name", "Hello")
446 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
447 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
448 result = target("editor/" + sessionId + "/ContextAlbum/Delete").queryParam("name", (String) null)
449 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
450 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
454 public void testEvent() throws IOException {
455 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
457 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
458 assertEquals(Result.SUCCESS, result.getResult());
459 final int sessionId = new Integer(result.getMessages().get(0));
461 result = target("editor/-12345/Validate/Event").request().get(ApexApiResult.class);
462 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
464 result = target("editor/" + sessionId + "/Validate/Event").request().get(ApexApiResult.class);
465 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
468 target("editor/" + corruptSessionId + "/Validate/Event").request().get(ApexApiResult.class);
469 } catch (final Exception e) {
470 assertEquals("HTTP 500 Request failed.", e.getMessage());
473 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
474 .queryParam("version", (String) null).request().get(ApexApiResult.class);
475 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
477 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", "%%%$£")
478 .queryParam("version", (String) null).request().get(ApexApiResult.class);
479 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
481 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
483 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
484 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
485 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
486 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
487 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
488 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
489 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
490 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
491 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
492 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
493 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
494 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
495 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
496 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
497 .queryParam("version", (String) null).request().get(ApexApiResult.class);
498 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
500 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
501 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
502 + "\"target\" : \"end\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
503 + "\"description\" : \"A description of hello\"" + "}";
504 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
505 result = target("editor/-12345/Event/Create").request().post(entity, ApexApiResult.class);
506 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
507 result = target("editor/1234545/Event/Create").request().post(entity, ApexApiResult.class);
508 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
509 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
510 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
511 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
512 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
515 target("editor/" + corruptSessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
516 } catch (final Exception e) {
517 assertEquals("HTTP 500 Request failed.", e.getMessage());
520 entityString = "{" + "\"name\" : \"Hiya\"," + "\"version\" : \"0.0.2\","
521 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
522 + "\"target\" : \"end\"," + "\"parameters\" : {},"
523 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
524 + "\"description\" : \"A description of hello\"" + "}";
525 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
526 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
527 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
529 entityString = "{" + "\"name\" : \"HowsItGoing\"," + "\"version\" : \"0.0.2\","
530 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
531 + "\"target\" : \"end\","
532 + "\"parameters\" : {\"Par0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
533 + "\"localName\" : \"Par0\", \"optional\" : false}},"
534 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
535 + "\"description\" : \"A description of hello\"" + "}";
536 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
537 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
538 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
540 entityString = "{" + "\"name\" : \"Hi\"," + "\"version\" : \"0.0.2\","
541 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
542 + "\"target\" : \"end\"," + "\"parameters\" : {\"Par0\" : null},"
543 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
544 + "\"description\" : \"A description of hello\"" + "}";
545 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
546 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
547 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
549 entityString = "{" + "\"name\" : \"GoodDay\"," + "\"version\" : \"0.0.2\","
550 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
551 + "\"target\" : \"end\","
552 + "\"parameters\" : {\"Par0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
553 + "\"localName\" : \"Par0\", \"optional\" : false}},"
554 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
555 + "\"description\" : \"A description of hello\"" + "}";
556 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
557 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
558 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
560 entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
561 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\","
562 + "\"source\" : \"start\"," + "\"target\" : \"finish\","
563 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
564 + "\"description\" : \"A description of hello\"" + "}";
565 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
566 result = target("editor/-12345/Event/Update").request().put(entity, ApexApiResult.class);
567 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
568 result = target("editor/1234545/Event/Update").request().put(entity, ApexApiResult.class);
569 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
570 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
571 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
574 target("editor/" + corruptSessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
575 } catch (final Exception e) {
576 assertEquals("HTTP 500 Request failed.", e.getMessage());
579 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
580 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\","
581 + "\"source\" : \"start\"," + "\"target\" : \"finish\","
582 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
583 + "\"description\" : \"A description of hello\"" + "}";
584 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
585 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
586 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
588 entityString = "{" + "\"name\" : \"NonExistantEvent\"," + "\"version\" : \"0.0.2\","
589 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\","
590 + "\"source\" : \"start\"," + "\"target\" : \"finish\","
591 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
592 + "\"description\" : \"A description of hello\"" + "}";
593 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
594 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
595 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
597 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", "Hello")
598 .queryParam("version", (String) null).request().get(ApexApiResult.class);
599 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
600 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", "IDontExist")
601 .queryParam("version", (String) null).request().get(ApexApiResult.class);
602 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
603 result = target("editor/-123345/Event/Get").queryParam("name", (String) null)
604 .queryParam("version", (String) null).request().get(ApexApiResult.class);
605 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
606 result = target("editor/123345/Event/Get").queryParam("name", (String) null)
607 .queryParam("version", (String) null).request().get(ApexApiResult.class);
608 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
611 target("editor/" + corruptSessionId + "/Event/Get").queryParam("name", "Hello")
612 .queryParam("version", (String) null).request().get(ApexApiResult.class);
613 } catch (final Exception e) {
614 assertEquals("HTTP 500 Request failed.", e.getMessage());
617 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
618 .queryParam("version", (String) null).request().get(ApexApiResult.class);
619 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
620 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
621 .queryParam("version", (String) null).request().get(ApexApiResult.class);
622 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
623 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
624 .queryParam("version", (String) null).request().get(ApexApiResult.class);
625 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
628 target("editor/" + corruptSessionId + "/Event/Delete").queryParam("name", (String) null)
629 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
630 } catch (final Exception e) {
631 assertEquals("HTTP 500 Request failed.", e.getMessage());
634 result = target("editor/-123345/Event/Delete").queryParam("name", (String) null)
635 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
636 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
637 result = target("editor/123345/Event/Delete").queryParam("name", (String) null)
638 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
639 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
640 result = target("editor/" + sessionId + "/Event/Delete").queryParam("name", "Hello")
641 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
642 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
643 result = target("editor/" + sessionId + "/Event/Delete").queryParam("name", (String) null)
644 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
645 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
649 public void testTask() throws IOException {
650 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
652 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
653 assertEquals(Result.SUCCESS, result.getResult());
654 final int sessionId = new Integer(result.getMessages().get(0));
656 result = target("editor/-12345/Validate/Task").request().get(ApexApiResult.class);
657 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
659 result = target("editor/" + sessionId + "/Validate/Task").request().get(ApexApiResult.class);
660 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
663 target("editor/" + corruptSessionId + "/Validate/Task").request().get(ApexApiResult.class);
664 } catch (final Exception e) {
665 assertEquals("HTTP 500 Request failed.", e.getMessage());
668 result = target("editor/" + sessionId + "/Validate/Task").queryParam("name", (String) null)
669 .queryParam("version", (String) null).request().get(ApexApiResult.class);
670 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
672 result = target("editor/" + sessionId + "/Validate/Task").queryParam("name", "%%%$£")
673 .queryParam("version", (String) null).request().get(ApexApiResult.class);
674 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
676 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
678 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
679 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
680 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
681 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
682 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
683 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
684 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
685 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
686 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
687 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
688 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
689 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
690 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
691 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
692 .queryParam("version", (String) null).request().get(ApexApiResult.class);
693 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
695 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
696 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
697 + "\"description\" : \"A description of hello\"" + "}";
698 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
699 result = target("editor/-12345/Task/Create").request().post(entity, ApexApiResult.class);
700 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
701 result = target("editor/1234545/Task/Create").request().post(entity, ApexApiResult.class);
702 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
703 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
704 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
705 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
706 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
709 target("editor/" + corruptSessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
710 } catch (final Exception e) {
711 assertEquals("HTTP 500 Request failed.", e.getMessage());
714 entityString = "{" + "\"name\" : \"Hiya\"," + "\"version\" : \"0.0.2\","
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.SUCCESS, result.getResult());
721 entityString = "{" + "\"name\" : \"HowsItGoing\"," + "\"version\" : \"0.0.2\","
722 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
723 + "\"localName\" : \"IField0\", \"optional\" : false}},"
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\" : \"Hi\"," + "\"version\" : \"0.0.2\","
731 + "\"inputFields\" : {\"IField0\" : 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\" : \"GoodDay\"," + "\"version\" : \"0.0.2\","
739 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
740 + "\"localName\" : \"IField0\", \"optional\" : false}},"
741 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
742 + "\"description\" : \"A description of hello\"" + "}";
743 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
744 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
745 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
747 entityString = "{" + "\"name\" : \"Howdy\"," + "\"version\" : \"0.0.2\","
748 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
749 + "\"localName\" : \"NotIField0\", \"optional\" : false}},"
750 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
751 + "\"description\" : \"A description of hello\"" + "}";
752 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
753 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
754 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
756 entityString = "{" + "\"name\" : \"HowsItGoing2\"," + "\"version\" : \"0.0.2\","
757 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
758 + "\"localName\" : \"OField0\", \"optional\" : false}},"
759 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
760 + "\"description\" : \"A description of hello\"" + "}";
761 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
762 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
763 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
765 entityString = "{" + "\"name\" : \"Hi2\"," + "\"version\" : \"0.0.2\","
766 + "\"outputFields\" : {\"OField0\" : null},"
767 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
768 + "\"description\" : \"A description of hello\"" + "}";
769 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
770 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
771 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
773 entityString = "{" + "\"name\" : \"GoodDay2\"," + "\"version\" : \"0.0.2\","
774 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\","
775 + " \"localName\" : \"OField0\", \"optional\" : false}},"
776 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
777 + "\"description\" : \"A description of hello\"" + "}";
778 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
779 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
780 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
782 entityString = "{" + "\"name\" : \"Howdy2\"," + "\"version\" : \"0.0.2\","
783 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
784 + "\"localName\" : \"NotOField0\", \"optional\" : false}},"
785 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
786 + "\"description\" : \"A description of hello\"" + "}";
787 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
788 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
789 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
791 entityString = "{" + "\"name\" : \"HowsItGoing3\"," + "\"version\" : \"0.0.2\","
792 + "\"taskLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons,"
793 + " lots of lime\"}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
794 + "\"description\" : \"A description of hello\"" + "}";
795 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
796 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
797 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
799 entityString = "{" + "\"name\" : \"Hi3\"," + "\"version\" : \"0.0.2\","
800 + "\"taskLogic\" : null," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
801 + "\"description\" : \"A description of hello\"" + "}";
802 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
803 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
804 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
806 entityString = "{" + "\"name\" : \"GoodDay3\"," + "\"version\" : \"0.0.2\","
807 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
808 + "\"target\" : \"end\","
809 + "\"taskLogic\" : {\"logicFlavour\" : \"UNDEFINED\", \"logic\" : \"lots of lemons,"
810 + " lots of lime\"}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
811 + "\"description\" : \"A description of hello\"" + "}";
812 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
813 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
814 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
816 entityString = "{" + "\"name\" : \"Howdy3\"," + "\"version\" : \"0.0.2\","
817 + "\"taskLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null},"
818 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
819 + "\"description\" : \"A description of hello\"" + "}";
820 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
821 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
822 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
824 entityString = "{" + "\"name\" : \"HowsItGoing4\"," + "\"version\" : \"0.0.2\","
825 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"Par0\", "
826 + "\"defaultValue\" : \"Parameter Defaultvalue\"}},"
827 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
828 + "\"description\" : \"A description of hello\"" + "}";
829 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
830 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
831 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
833 entityString = "{" + "\"name\" : \"Hi4\"," + "\"version\" : \"0.0.2\","
834 + "\"parameters\" : {\"Par0\" : null},"
835 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
836 + "\"description\" : \"A description of hello\"" + "}";
837 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
838 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
839 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
841 entityString = "{" + "\"name\" : \"GoodDay4\"," + "\"version\" : \"0.0.2\","
842 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"NotPar0\", \"defaultValue\" : "
843 + "\"Parameter Defaultvalue\"}},"
844 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
845 + "\"description\" : \"A description of hello\"" + "}";
846 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
847 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
848 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
850 entityString = "{" + "\"name\" : \"Howdy4\"," + "\"version\" : \"0.0.2\","
851 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"MyParameter\", \"defaultValue\" : null}},"
852 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
853 + "\"description\" : \"A description of hello\"" + "}";
854 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
855 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
856 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
858 entityString = "{" + "\"name\" : \"HowsItGoing5\"," + "\"version\" : \"0.0.2\","
859 + "\"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
860 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
861 + "\"description\" : \"A description of hello\"" + "}";
862 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
863 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
864 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
866 entityString = "{" + "\"name\" : \"Hi5\"," + "\"version\" : \"0.0.2\","
867 + "\"contexts\" : []," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
868 + "\"description\" : \"A description of hello\"" + "}";
869 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
870 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
871 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
873 entityString = "{" + "\"name\" : \"GoodDay5\"," + "\"version\" : \"0.0.2\","
874 + "\"contexts\" : [{\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\"}],"
875 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
876 + "\"description\" : \"A description of hello\"" + "}";
877 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
878 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
879 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
881 entityString = "{" + "\"name\" : \"Howdy5\"," + "\"version\" : \"0.0.2\","
882 + "\"contexts\" : [{\"name\" : null, \"version\" : \"0.0.1\"}],"
883 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
884 + "\"description\" : \"A description of hello\"" + "}";
885 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
886 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
887 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
889 entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
890 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
891 + "\"description\" : \"A description of hello\"" + "}";
892 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
893 result = target("editor/-12345/Task/Update").request().put(entity, ApexApiResult.class);
894 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
895 result = target("editor/1234545/Task/Update").request().put(entity, ApexApiResult.class);
896 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
897 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
898 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
901 target("editor/" + corruptSessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
902 } catch (final Exception e) {
903 assertEquals("HTTP 500 Request failed.", e.getMessage());
906 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
907 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
908 + "\"description\" : \"A description of hello\"" + "}";
909 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
910 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
911 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
913 entityString = "{" + "\"name\" : \"NonExistantEvent\"," + "\"version\" : \"0.0.2\","
914 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
915 + "\"description\" : \"A description of hello\"" + "}";
916 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
917 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
918 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
920 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", "Hello")
921 .queryParam("version", (String) null).request().get(ApexApiResult.class);
922 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
923 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", (String) null)
924 .queryParam("version", (String) null).request().get(ApexApiResult.class);
925 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
926 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", "IDontExist")
927 .queryParam("version", (String) null).request().get(ApexApiResult.class);
928 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
929 result = target("editor/-123345/Task/Get").queryParam("name", (String) null)
930 .queryParam("version", (String) null).request().get(ApexApiResult.class);
931 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
932 result = target("editor/123345/Task/Get").queryParam("name", (String) null).queryParam("version", (String) null)
933 .request().get(ApexApiResult.class);
934 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
937 target("editor/" + corruptSessionId + "/Task/Get").queryParam("name", "Hello")
938 .queryParam("version", (String) null).request().get(ApexApiResult.class);
939 } catch (final Exception e) {
940 assertEquals("HTTP 500 Request failed.", e.getMessage());
943 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
944 .queryParam("version", (String) null).request().get(ApexApiResult.class);
945 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
946 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
947 .queryParam("version", (String) null).request().get(ApexApiResult.class);
948 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
949 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
950 .queryParam("version", (String) null).request().get(ApexApiResult.class);
951 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
954 target("editor/" + corruptSessionId + "/Task/Delete").queryParam("name", (String) null)
955 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
956 } catch (final Exception e) {
957 assertEquals("HTTP 500 Request failed.", e.getMessage());
960 result = target("editor/-123345/Task/Delete").queryParam("name", (String) null)
961 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
962 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
963 result = target("editor/123345/Task/Delete").queryParam("name", (String) null)
964 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
965 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
966 result = target("editor/" + sessionId + "/Task/Delete").queryParam("name", "Hello")
967 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
968 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
969 result = target("editor/" + sessionId + "/Task/Delete").queryParam("name", (String) null)
970 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
971 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
975 public void testPolicy() throws IOException {
976 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
978 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
979 assertEquals(Result.SUCCESS, result.getResult());
980 final int sessionId = new Integer(result.getMessages().get(0));
982 result = target("editor/-12345/Model/Validate").request().get(ApexApiResult.class);
983 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
985 result = target("editor/" + sessionId + "/Model/Validate").request().get(ApexApiResult.class);
986 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
989 target("editor/" + corruptSessionId + "/Model/Validate").request().get(ApexApiResult.class);
990 } catch (final Exception e) {
991 assertEquals("HTTP 500 Request failed.", e.getMessage());
994 result = target("editor/" + sessionId + "/Model/Validate").queryParam("name", (String) null)
995 .queryParam("version", (String) null).request().get(ApexApiResult.class);
996 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
998 result = target("editor/" + sessionId + "/Model/Validate").queryParam("name", "%%%$£")
999 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1000 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1002 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
1004 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
1005 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
1006 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1007 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
1008 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1009 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
1010 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1011 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
1012 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
1013 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1014 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
1015 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
1016 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1017 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
1018 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1019 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1021 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
1022 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1023 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1024 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1025 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1027 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1028 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1029 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1030 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1031 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1032 + "\"description\" : \"A description of hello\"" + "}";
1033 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1034 result = target("editor/-12345/Policy/Create").request().post(entity, ApexApiResult.class);
1035 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1036 result = target("editor/1234545/Policy/Create").request().post(entity, ApexApiResult.class);
1037 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1038 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1039 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1040 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1041 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
1044 target("editor/" + corruptSessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1045 } catch (final Exception e) {
1046 assertEquals("HTTP 500 Request failed.", e.getMessage());
1049 entityString = "{" + "\"name\" : \"GoodTaSeeYa\"," + "\"version\" : \"0.0.2\","
1050 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1051 + "\"states\" : null," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1052 + "\"description\" : \"A description of hello\"" + "}";
1053 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1054 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1055 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1057 entityString = "{" + "\"name\" : \"HelloAnother\"," + "\"version\" : \"0.0.2\","
1058 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1059 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1060 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1061 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1063 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1064 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1065 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1066 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1067 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1068 + "\"description\" : \"A description of hello\"" + "}";
1069 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1070 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1071 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1073 entityString = "{" + "\"name\" : \"Hello2\"," + "\"version\" : \"0.0.2\","
1074 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1075 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1076 + " \"trigger\" : null,"
1077 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1079 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1080 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1081 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1082 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1083 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1084 + "\"description\" : \"A description of hello\"" + "}";
1085 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1086 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1087 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1089 entityString = "{" + "\"name\" : \"Hello3\"," + "\"version\" : \"0.0.2\","
1090 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1091 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1092 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1093 + " \"defaultTask\" : null," + " \"stateOutputs\" : {" + " \"so0\" : {"
1094 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1095 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1096 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1097 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1098 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1099 + "\"description\" : \"A description of hello\"" + "}";
1100 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1101 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1102 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1104 entityString = "{" + "\"name\" : \"Hello4\"," + "\"version\" : \"0.0.2\","
1105 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1106 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1107 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1108 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1109 + " \"stateOutputs\" : null," + " \"tasks\" : {" + " \"tr0\" : {"
1110 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1111 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1112 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1113 + "\"description\" : \"A description of hello\"" + "}";
1114 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1115 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1116 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1118 entityString = "{" + "\"name\" : \"Hello5\"," + "\"version\" : \"0.0.2\","
1119 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1120 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1121 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1122 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1124 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1125 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : null" + " }" + "},"
1126 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1127 + "\"description\" : \"A description of hello\"" + "}";
1128 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1129 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1130 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1132 entityString = "{" + "\"name\" : \"Hello6\"," + "\"version\" : \"0.0.2\","
1133 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1134 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1135 + " \"trigger\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1136 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1138 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1139 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1140 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1141 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1142 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1143 + "\"description\" : \"A description of hello\"" + "}";
1144 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1145 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1146 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1148 entityString = "{" + "\"name\" : \"Hello7\"," + "\"version\" : \"0.0.2\","
1149 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1150 + "\"states\" : {" + " \"state\" : null" + "},"
1151 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1152 + "\"description\" : \"A description of hello\"" + "}";
1153 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1154 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1155 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1157 entityString = "{" + "\"name\" : \"Hello8\"," + "\"version\" : \"0.0.2\","
1158 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1159 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1160 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1161 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1163 + " \"event\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1164 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1165 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1166 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1167 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1168 + "\"description\" : \"A description of hello\"" + "}";
1169 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1170 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1171 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1173 entityString = "{" + "\"name\" : \"Hello9\"," + "\"version\" : \"0.0.2\","
1174 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1175 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1176 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1177 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1178 + " \"so0\" : {" + " \"event\" : null," + " \"nextState\" : null" + " }"
1179 + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1180 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1181 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1182 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1183 + "\"description\" : \"A description of hello\"" + "}";
1184 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1185 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1186 System.err.println(result);
1187 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1189 entityString = "{" + "\"name\" : \"Hello10\"," + "\"version\" : \"0.0.2\","
1190 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1191 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1192 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1193 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1195 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1196 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1198 + " \"task\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1199 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1200 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1201 + "\"description\" : \"A description of hello\"" + "}";
1202 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1203 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1204 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1206 entityString = "{" + "\"name\" : \"Hello11\"," + "\"version\" : \"0.0.2\","
1207 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1208 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1209 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1210 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1212 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1213 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1214 + " \"tr0\" : {" + " \"task\" : null," + " \"outputType\" : \"DIRECT\","
1215 + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1216 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1217 + "\"description\" : \"A description of hello\"" + "}";
1218 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1219 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1220 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1222 entityString = "{" + "\"name\" : \"Hello12\"," + "\"version\" : \"0.0.2\","
1223 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1224 + "\"states\" : {" + " \"state\" : {"
1225 + " \"name\" : \"state\","
1226 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1227 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1228 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1229 + "lots of lime\"}," + " \"stateOutputs\" : {" + " \"so0\" : {"
1230 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1231 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1233 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1234 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1235 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1236 + "\"description\" : \"A description of hello\"" + "}";
1237 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1238 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1239 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1241 entityString = "{" + "\"name\" : \"Hello13\"," + "\"version\" : \"0.0.2\","
1242 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1243 + "\"states\" : {" + " \"state\" : {"
1244 + " \"name\" : \"state\","
1245 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1246 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1247 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null},"
1248 + " \"stateOutputs\" : {" + " \"so0\" : {"
1249 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1250 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1252 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1253 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1254 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1255 + "\"description\" : \"A description of hello\"" + "}";
1256 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1257 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1258 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1260 entityString = "{" + "\"name\" : \"Hello14\"," + "\"version\" : \"0.0.2\","
1261 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1262 + "\"states\" : {" + " \"state\" : {"
1263 + " \"name\" : \"state\","
1264 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1265 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1266 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1267 + "lots of lime\"},"
1268 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1269 + " \"stateOutputs\" : {" + " \"so0\" : {"
1270 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1271 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1273 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1274 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1275 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1276 + "\"description\" : \"A description of hello\"" + "}";
1277 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1278 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1279 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1281 entityString = "{" + "\"name\" : \"Hello15\"," + "\"version\" : \"0.0.2\","
1282 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1283 + "\"states\" : {" + " \"state\" : {"
1284 + " \"name\" : \"state\","
1285 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1286 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1287 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1288 + "lots of lime\"},"
1289 + " \"contexts\" : [{\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"}],"
1290 + " \"stateOutputs\" : {" + " \"so0\" : {"
1291 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1292 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1294 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1295 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1296 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1297 + "\"description\" : \"A description of hello\"" + "}";
1298 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1299 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1300 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1302 entityString = "{" + "\"name\" : \"Hello16\"," + "\"version\" : \"0.0.2\","
1303 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1304 + "\"states\" : {" + " \"state\" : {"
1305 + " \"name\" : \"state\","
1306 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1307 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1308 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1309 + "lots of lime\"},"
1310 + " \"contexts\" : [null]," + " \"stateOutputs\" : {" + " \"so0\" : {"
1311 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1312 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1314 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1315 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1316 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1317 + "\"description\" : \"A description of hello\"" + "}";
1318 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1319 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1320 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1322 entityString = "{" + "\"name\" : \"Hello17\"," + "\"version\" : \"0.0.2\","
1323 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1324 + "\"states\" : {" + " \"state\" : {"
1325 + " \"name\" : \"state\","
1326 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1327 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1328 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1329 + "lots of lime\"},"
1330 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1331 + " \"stateOutputs\" : {" + " \"so0\" : {"
1332 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1333 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1335 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1336 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1337 + " \"finalizers\" : {"
1338 + " \"sf0\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1340 + " }" + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1341 + "\"description\" : \"A description of hello\"" + "}";
1342 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1343 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1344 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1346 entityString = "{" + "\"name\" : \"Hello18\"," + "\"version\" : \"0.0.2\","
1347 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1348 + "\"states\" : {" + " \"state\" : {"
1349 + " \"name\" : \"state\","
1350 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1351 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1352 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1353 + "lots of lime\"},"
1354 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1355 + " \"stateOutputs\" : {" + " \"so0\" : {"
1356 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1357 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1359 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1360 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1361 + " \"finalizers\" : {" + " \"sf0\" : null" + " }" + " }" + "},"
1362 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1363 + "\"description\" : \"A description of hello\"" + "}";
1364 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1365 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1366 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1368 entityString = "{" + "\"name\" : \"Hello19\"," + "\"version\" : \"0.0.2\","
1369 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1370 + "\"states\" : {" + " \"state\" : {"
1371 + " \"name\" : \"state\","
1372 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1373 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1374 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1375 + "lots of lime\"},"
1376 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1377 + " \"stateOutputs\" : {" + " \"so0\" : {"
1378 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1379 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1381 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1382 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1383 + " \"finalizers\" : {"
1384 + " \"sf0\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null}" + " }" + " }"
1385 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1386 + "\"description\" : \"A description of hello\"" + "}";
1387 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1388 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1389 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1391 entityString = "{" + "\"name\" : \"HelloAnother\"," + "\"version\" : \"0.0.2\","
1392 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1393 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1394 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1395 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1397 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1398 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1399 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1400 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1401 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1402 + "\"description\" : \"A better description of hello\"" + "}";
1403 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1404 result = target("editor/-12345/Policy/Update").request().put(entity, ApexApiResult.class);
1405 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1406 result = target("editor/1234545/Policy/Update").request().put(entity, ApexApiResult.class);
1407 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1408 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1409 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1411 result = target("editor/" + sessionId + "/Policy/Update").queryParam("firstStatePeriodic", "true").request()
1412 .put(entity, ApexApiResult.class);
1413 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1416 target("editor/" + corruptSessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1417 } catch (final Exception e) {
1418 assertEquals("HTTP 500 Request failed.", e.getMessage());
1421 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
1422 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1423 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1424 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1425 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1427 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1428 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1429 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1430 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1431 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1432 + "\"description\" : \"A better description of hello\"" + "}";
1433 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1434 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1435 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1437 entityString = "{" + "\"name\" : \"IDontExist\"," + "\"version\" : \"0.0.2\","
1438 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1439 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1440 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1441 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1443 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1444 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1445 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1446 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1447 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1448 + "\"description\" : \"A better description of hello\"" + "}";
1449 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1450 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1451 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1453 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", "Hello")
1454 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1455 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1456 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", "IDontExist")
1457 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1458 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1459 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", (String) null)
1460 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1461 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1462 result = target("editor/-123345/Policy/Get").queryParam("name", (String) null)
1463 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1464 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1465 result = target("editor/123345/Policy/Get").queryParam("name", (String) null)
1466 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1467 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1470 target("editor/" + corruptSessionId + "/Policy/Get").queryParam("name", "Hello")
1471 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1472 } catch (final Exception e) {
1473 assertEquals("HTTP 500 Request failed.", e.getMessage());
1476 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
1477 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1478 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1479 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
1480 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1481 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1482 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
1483 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1484 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1487 target("editor/" + corruptSessionId + "/Policy/Delete").queryParam("name", (String) null)
1488 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1489 } catch (final Exception e) {
1490 assertEquals("HTTP 500 Request failed.", e.getMessage());
1493 result = target("editor/-123345/Policy/Delete").queryParam("name", (String) null)
1494 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1495 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1496 result = target("editor/123345/Policy/Delete").queryParam("name", (String) null)
1497 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1498 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1499 result = target("editor/" + sessionId + "/Policy/Delete").queryParam("name", "Hello")
1500 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
1501 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1502 result = target("editor/" + sessionId + "/Policy/Delete").queryParam("name", (String) null)
1503 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1504 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());