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;
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.fail;
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 * @author Liam Fallon (liam.fallon@ericsson.com)
42 public class TestApexEditorRestResource extends JerseyTest {
44 protected Application configure() {
45 return new ResourceConfig(ApexEditorRestResource.class);
49 public void testSessionCreate() {
50 ApexAPIResult result = target("editor/-2/Session/Create").request().get(ApexAPIResult.class);
51 assertEquals(RESULT.FAILED, result.getResult());
53 result = target("editor/-1/Session/Create").request().get(ApexAPIResult.class);
54 assertEquals(RESULT.SUCCESS, result.getResult());
55 final int sessionId = new Integer(result.getMessages().get(0));
57 result = target("editor/-1/Session/Create").request().get(ApexAPIResult.class);
58 assertEquals(RESULT.SUCCESS, result.getResult());
60 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
63 target("editor/" + corruptSessionId + "/Model/Analyse").request().get(ApexAPIResult.class);
64 } catch (final Exception e) {
65 assertEquals("HTTP 500 Request failed.", e.getMessage());
68 result = target("editor/" + sessionId + "/Model/Analyse").request().get(ApexAPIResult.class);
69 assertEquals(RESULT.SUCCESS, result.getResult());
70 result = target("editor/-12345/Model/Analyse").request().get(ApexAPIResult.class);
71 assertEquals(RESULT.FAILED, result.getResult());
72 result = target("editor/12345/Model/Analyse").request().get(ApexAPIResult.class);
73 assertEquals(RESULT.FAILED, result.getResult());
76 target("editor/" + corruptSessionId + "/Model/Validate").request().get(ApexAPIResult.class);
77 } catch (final Exception e) {
78 assertEquals("HTTP 500 Request failed.", e.getMessage());
81 result = target("editor/" + sessionId + "/Model/Validate").request().get(ApexAPIResult.class);
82 assertEquals(RESULT.FAILED, result.getResult());
83 result = target("editor/-12345/Model/Validate").request().get(ApexAPIResult.class);
84 assertEquals(RESULT.FAILED, result.getResult());
85 result = target("editor/12345/Model/Validate").request().get(ApexAPIResult.class);
86 assertEquals(RESULT.FAILED, result.getResult());
88 final String modelString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
89 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002699\","
90 + "\"description\" : \"A description of the model\"" + "}";
91 final Entity<String> csEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
92 result = target("editor/-12345/Model/Create").request().post(csEntity, ApexAPIResult.class);
93 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
94 result = target("editor/-12345/Model/Create").request().post(csEntity, ApexAPIResult.class);
95 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
96 result = target("editor/1234545/Model/Create").request().post(csEntity, ApexAPIResult.class);
97 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
98 result = target("editor/" + sessionId + "/Model/Create").request().post(csEntity, ApexAPIResult.class);
99 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
102 target("editor/" + corruptSessionId + "/Model/Create").request().post(csEntity, ApexAPIResult.class);
103 } catch (final Exception e) {
104 assertEquals("HTTP 500 Request failed.", e.getMessage());
107 result = target("editor/-12345/Model/Update").request().put(csEntity, ApexAPIResult.class);
108 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
109 result = target("editor/-12345/Model/Update").request().put(csEntity, ApexAPIResult.class);
110 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
111 result = target("editor/1234545/Model/Update").request().put(csEntity, ApexAPIResult.class);
112 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
113 result = target("editor/" + sessionId + "/Model/Update").request().put(csEntity, ApexAPIResult.class);
114 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
117 target("editor/" + corruptSessionId + "/Model/Update").request().put(csEntity, ApexAPIResult.class);
118 } catch (final Exception e) {
119 assertEquals("HTTP 500 Request failed.", e.getMessage());
123 result = target("editor/" + corruptSessionId + "/Model/GetKey").request().get(ApexAPIResult.class);
124 } catch (final Exception e) {
125 assertEquals("HTTP 500 Request failed.", e.getMessage());
128 result = target("editor/" + sessionId + "/Model/GetKey").request().get(ApexAPIResult.class);
129 assertEquals(RESULT.SUCCESS, result.getResult());
130 result = target("editor/-12345/Model/GetKey").request().get(ApexAPIResult.class);
131 assertEquals(RESULT.FAILED, result.getResult());
132 result = target("editor/12345/Model/GetKey").request().get(ApexAPIResult.class);
133 assertEquals(RESULT.FAILED, result.getResult());
136 result = target("editor/" + corruptSessionId + "/Model/Get").request().get(ApexAPIResult.class);
137 } catch (final Exception e) {
138 assertEquals("HTTP 500 Request failed.", e.getMessage());
141 result = target("editor/" + sessionId + "/Model/Get").request().get(ApexAPIResult.class);
142 assertEquals(RESULT.SUCCESS, result.getResult());
143 result = target("editor/-12345/Model/Get").request().get(ApexAPIResult.class);
144 assertEquals(RESULT.FAILED, result.getResult());
145 result = target("editor/12345/Model/Get").request().get(ApexAPIResult.class);
146 assertEquals(RESULT.FAILED, result.getResult());
149 result = target("editor/" + corruptSessionId + "/Model/Download").request().get(ApexAPIResult.class);
150 } catch (final Exception e) {
151 assertEquals("HTTP 500 Request failed.", e.getMessage());
154 result = target("editor/" + sessionId + "/Model/Download").request().get(ApexAPIResult.class);
155 assertEquals(RESULT.SUCCESS, result.getResult());
157 target("editor/-12345/Model/Download").request().get(ApexAPIResult.class);
158 fail("test should throw an exception here");
159 } catch (final Exception e) {
160 assertEquals("HTTP 500 Request failed.", e.getMessage());
163 target("editor/12345/Model/Download").request().get(ApexAPIResult.class);
164 fail("test should throw an exception here");
165 } catch (final Exception e) {
166 assertEquals("HTTP 500 Request failed.", e.getMessage());
170 result = target("editor/" + corruptSessionId + "/KeyInformation/Get").request().get(ApexAPIResult.class);
171 } catch (final Exception e) {
172 assertEquals("HTTP 500 Request failed.", e.getMessage());
175 result = target("editor/" + sessionId + "/KeyInformation/Get").request().get(ApexAPIResult.class);
176 assertEquals(RESULT.SUCCESS, result.getResult());
177 result = target("editor/-12345/KeyInformation/Get").request().get(ApexAPIResult.class);
178 assertEquals(RESULT.FAILED, result.getResult());
179 result = target("editor/12345/KeyInformation/Get").request().get(ApexAPIResult.class);
180 assertEquals(RESULT.FAILED, result.getResult());
183 result = target("editor/" + corruptSessionId + "/Model/Delete").request().delete(ApexAPIResult.class);
184 } catch (final Exception e) {
185 assertEquals("HTTP 500 Request failed.", e.getMessage());
188 result = target("editor/" + sessionId + "/Model/Delete").request().delete(ApexAPIResult.class);
189 assertEquals(RESULT.SUCCESS, result.getResult());
190 result = target("editor/-12345/Model/Delete").request().delete(ApexAPIResult.class);
191 assertEquals(RESULT.FAILED, result.getResult());
192 result = target("editor/12345/Model/Delete").request().delete(ApexAPIResult.class);
193 assertEquals(RESULT.FAILED, result.getResult());
197 public void testContextSchema() throws IOException {
198 ApexAPIResult result = target("editor/-1/Session/Create").request().get(ApexAPIResult.class);
199 assertEquals(RESULT.SUCCESS, result.getResult());
200 final int sessionId = new Integer(result.getMessages().get(0));
202 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
204 result = target("editor/-12345/Validate/ContextSchema").request().get(ApexAPIResult.class);
205 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
208 target("editor/" + corruptSessionId + "/Validate/ContextSchema").request().get(ApexAPIResult.class);
209 } catch (final Exception e) {
210 assertEquals("HTTP 500 Request failed.", e.getMessage());
213 result = target("editor/" + sessionId + "/Validate/ContextSchema").request().get(ApexAPIResult.class);
214 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
216 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", (String) null)
217 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
218 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
220 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", "%%%$£")
221 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
222 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
224 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
226 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
227 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
228 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
229 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
230 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
231 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
232 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
233 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
234 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
235 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
236 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
237 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
238 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
239 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", (String) null)
240 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
241 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
244 target("editor/" + corruptSessionId + "/ContextSchema/Get").queryParam("name", (String) null)
245 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
246 } catch (final Exception e) {
247 assertEquals("HTTP 500 Request failed.", e.getMessage());
250 String csString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
251 + "\"schemaFlavour\" : \"Java\"," + "\"schemaDefinition\" : \"java.lang.String\","
252 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
253 + "\"description\" : \"A description of hello\"" + "}";
254 Entity<String> csEntity = Entity.entity(csString, MediaType.APPLICATION_JSON);
255 result = target("editor/-12345/ContextSchema/Create").request().post(csEntity, ApexAPIResult.class);
256 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
257 result = target("editor/1234545/ContextSchema/Create").request().post(csEntity, ApexAPIResult.class);
258 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
259 result = target("editor/" + sessionId + "/ContextSchema/Create").request().post(csEntity, ApexAPIResult.class);
260 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
263 target("editor/" + corruptSessionId + "/ContextSchema/Create").request().post(csEntity,
264 ApexAPIResult.class);
265 } catch (final Exception e) {
266 assertEquals("HTTP 500 Request failed.", e.getMessage());
269 csString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
270 + "\"schemaFlavour\" : \"Java\"," + "\"schemaDefinition\" : \"my.perfect.String\","
271 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
272 + "\"description\" : \"A description of hello\"" + "}";
273 csEntity = Entity.entity(csString, MediaType.APPLICATION_JSON);
274 result = target("editor/-12345/ContextSchema/Update").request().put(csEntity, ApexAPIResult.class);
275 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
276 result = target("editor/1234545/ContextSchema/Update").request().put(csEntity, ApexAPIResult.class);
277 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
278 result = target("editor/" + sessionId + "/ContextSchema/Update").request().put(csEntity, ApexAPIResult.class);
279 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
282 target("editor/" + corruptSessionId + "/ContextSchema/Update").request().put(csEntity, ApexAPIResult.class);
283 } catch (final Exception e) {
284 assertEquals("HTTP 500 Request failed.", e.getMessage());
287 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", "Hello")
288 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
289 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
290 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", "NonExistant")
291 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
292 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
293 result = target("editor/-123345/ContextSchema/Get").queryParam("name", (String) null)
294 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
295 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
296 result = target("editor/123345/ContextSchema/Get").queryParam("name", (String) null)
297 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
298 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
301 target("editor/" + corruptSessionId + "/ContextSchema/Get").queryParam("name", "Hello")
302 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
303 } catch (final Exception e) {
304 assertEquals("HTTP 500 Request failed.", e.getMessage());
307 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", (String) null)
308 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
309 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
312 target("editor/" + corruptSessionId + "/ContextSchema/Delete").queryParam("name", "Hello")
313 .queryParam("version", "0.0.2").request().delete(ApexAPIResult.class);
314 } catch (final Exception e) {
315 assertEquals("HTTP 500 Request failed.", e.getMessage());
318 result = target("editor/-123345/ContextSchema/Delete").queryParam("name", (String) null)
319 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
320 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
321 result = target("editor/123345/ContextSchema/Delete").queryParam("name", (String) null)
322 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
323 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
324 result = target("editor/" + sessionId + "/ContextSchema/Delete").queryParam("name", "Hello")
325 .queryParam("version", "0.0.2").request().delete(ApexAPIResult.class);
326 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
327 result = target("editor/" + sessionId + "/ContextSchema/Delete").queryParam("name", (String) null)
328 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
329 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
333 public void testContextAlbum() throws IOException {
334 ApexAPIResult result = target("editor/-1/Session/Create").request().get(ApexAPIResult.class);
335 assertEquals(RESULT.SUCCESS, result.getResult());
336 final int sessionId = new Integer(result.getMessages().get(0));
337 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
339 result = target("editor/-12345/Validate/ContextAlbum").request().get(ApexAPIResult.class);
340 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
343 target("editor/" + corruptSessionId + "/Validate/ContextAlbum").request().get(ApexAPIResult.class);
344 } catch (final Exception e) {
345 assertEquals("HTTP 500 Request failed.", e.getMessage());
348 result = target("editor/" + sessionId + "/Validate/ContextAlbum").request().get(ApexAPIResult.class);
349 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
351 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", (String) null)
352 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
353 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
355 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", "%%%$£")
356 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
357 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
359 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
361 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
362 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
363 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
364 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
365 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
366 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
367 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
368 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
369 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
370 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
371 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
372 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
373 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
374 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", (String) null)
375 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
376 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
378 String caString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
379 + "\"scope\" : \"Domain\"," + "\"writeable\" : false,"
380 + "\"itemSchema\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\"},"
381 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
382 + "\"description\" : \"A description of hello\"" + "}";
383 Entity<String> caEntity = Entity.entity(caString, MediaType.APPLICATION_JSON);
384 result = target("editor/-12345/ContextAlbum/Create").request().post(caEntity, ApexAPIResult.class);
385 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
386 result = target("editor/1234545/ContextAlbum/Create").request().post(caEntity, ApexAPIResult.class);
387 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
388 result = target("editor/" + sessionId + "/ContextAlbum/Create").request().post(caEntity, ApexAPIResult.class);
389 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
392 target("editor/" + corruptSessionId + "/ContextAlbum/Create").request().post(caEntity, ApexAPIResult.class);
393 } catch (final Exception e) {
394 assertEquals("HTTP 500 Request failed.", e.getMessage());
397 caString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
398 + "\"scope\" : \"Global\"," + "\"writeable\" : false,"
399 + "\"itemSchema\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\"},"
400 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
401 + "\"description\" : \"A description of hello\"" + "}";
402 caEntity = Entity.entity(caString, MediaType.APPLICATION_JSON);
403 result = target("editor/-12345/ContextAlbum/Update").request().put(caEntity, ApexAPIResult.class);
404 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
405 result = target("editor/1234545/ContextAlbum/Update").request().put(caEntity, ApexAPIResult.class);
406 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
407 result = target("editor/" + sessionId + "/ContextAlbum/Update").request().put(caEntity, ApexAPIResult.class);
408 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
411 target("editor/" + corruptSessionId + "/ContextAlbum/Update").request().put(caEntity, ApexAPIResult.class);
412 } catch (final Exception e) {
413 assertEquals("HTTP 500 Request failed.", e.getMessage());
417 target("editor/" + corruptSessionId + "/ContextAlbum/Get").queryParam("name", "Hello")
418 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
419 } catch (final Exception e) {
420 assertEquals("HTTP 500 Request failed.", e.getMessage());
423 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", "Hello")
424 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
425 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
426 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", "IDontExist")
427 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
428 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
429 result = target("editor/-123345/ContextAlbum/Get").queryParam("name", (String) null)
430 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
431 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
432 result = target("editor/123345/ContextAlbum/Get").queryParam("name", (String) null)
433 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
434 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
436 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", (String) null)
437 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
438 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
441 target("editor/" + corruptSessionId + "/ContextAlbum/Delete").queryParam("name", (String) null)
442 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
443 } catch (final Exception e) {
444 assertEquals("HTTP 500 Request failed.", e.getMessage());
447 result = target("editor/-123345/ContextAlbum/Delete").queryParam("name", (String) null)
448 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
449 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
450 result = target("editor/123345/ContextAlbum/Delete").queryParam("name", (String) null)
451 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
452 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
453 result = target("editor/" + sessionId + "/ContextAlbum/Delete").queryParam("name", "Hello")
454 .queryParam("version", "0.0.2").request().delete(ApexAPIResult.class);
455 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
456 result = target("editor/" + sessionId + "/ContextAlbum/Delete").queryParam("name", (String) null)
457 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
458 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
462 public void testEvent() throws IOException {
463 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
465 ApexAPIResult result = target("editor/-1/Session/Create").request().get(ApexAPIResult.class);
466 assertEquals(RESULT.SUCCESS, result.getResult());
467 final int sessionId = new Integer(result.getMessages().get(0));
469 result = target("editor/-12345/Validate/Event").request().get(ApexAPIResult.class);
470 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
472 result = target("editor/" + sessionId + "/Validate/Event").request().get(ApexAPIResult.class);
473 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
476 target("editor/" + corruptSessionId + "/Validate/Event").request().get(ApexAPIResult.class);
477 } catch (final Exception e) {
478 assertEquals("HTTP 500 Request failed.", e.getMessage());
481 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
482 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
483 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
485 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", "%%%$£")
486 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
487 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
489 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
491 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
492 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
493 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
494 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
495 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
496 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
497 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
498 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
499 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
500 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
501 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
502 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
503 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
504 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
505 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
506 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
508 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
509 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
510 + "\"target\" : \"end\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
511 + "\"description\" : \"A description of hello\"" + "}";
512 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
513 result = target("editor/-12345/Event/Create").request().post(entity, ApexAPIResult.class);
514 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
515 result = target("editor/1234545/Event/Create").request().post(entity, ApexAPIResult.class);
516 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
517 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexAPIResult.class);
518 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
519 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexAPIResult.class);
520 assertEquals(ApexAPIResult.RESULT.CONCEPT_EXISTS, result.getResult());
523 target("editor/" + corruptSessionId + "/Event/Create").request().post(entity, ApexAPIResult.class);
524 } catch (final Exception e) {
525 assertEquals("HTTP 500 Request failed.", e.getMessage());
528 entityString = "{" + "\"name\" : \"Hiya\"," + "\"version\" : \"0.0.2\","
529 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
530 + "\"target\" : \"end\"," + "\"parameters\" : {},"
531 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
532 + "\"description\" : \"A description of hello\"" + "}";
533 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
534 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexAPIResult.class);
535 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
537 entityString = "{" + "\"name\" : \"HowsItGoing\"," + "\"version\" : \"0.0.2\","
538 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
539 + "\"target\" : \"end\","
540 + "\"parameters\" : {\"Par0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", \"localName\" : \"Par0\", \"optional\" : false}},"
541 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
542 + "\"description\" : \"A description of hello\"" + "}";
543 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
544 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexAPIResult.class);
545 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
547 entityString = "{" + "\"name\" : \"Hi\"," + "\"version\" : \"0.0.2\","
548 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
549 + "\"target\" : \"end\"," + "\"parameters\" : {\"Par0\" : null},"
550 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
551 + "\"description\" : \"A description of hello\"" + "}";
552 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
553 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexAPIResult.class);
554 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
556 entityString = "{" + "\"name\" : \"GoodDay\"," + "\"version\" : \"0.0.2\","
557 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
558 + "\"target\" : \"end\","
559 + "\"parameters\" : {\"Par0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", \"localName\" : \"Par0\", \"optional\" : false}},"
560 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
561 + "\"description\" : \"A description of hello\"" + "}";
562 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
563 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexAPIResult.class);
564 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
566 entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
567 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\","
568 + "\"source\" : \"start\"," + "\"target\" : \"finish\","
569 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
570 + "\"description\" : \"A description of hello\"" + "}";
571 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
572 result = target("editor/-12345/Event/Update").request().put(entity, ApexAPIResult.class);
573 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
574 result = target("editor/1234545/Event/Update").request().put(entity, ApexAPIResult.class);
575 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
576 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexAPIResult.class);
577 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
580 target("editor/" + corruptSessionId + "/Event/Update").request().put(entity, ApexAPIResult.class);
581 } catch (final Exception e) {
582 assertEquals("HTTP 500 Request failed.", e.getMessage());
585 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
586 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\","
587 + "\"source\" : \"start\"," + "\"target\" : \"finish\","
588 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
589 + "\"description\" : \"A description of hello\"" + "}";
590 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
591 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexAPIResult.class);
592 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
594 entityString = "{" + "\"name\" : \"NonExistantEvent\"," + "\"version\" : \"0.0.2\","
595 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\","
596 + "\"source\" : \"start\"," + "\"target\" : \"finish\","
597 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
598 + "\"description\" : \"A description of hello\"" + "}";
599 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
600 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexAPIResult.class);
601 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
603 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", "Hello")
604 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
605 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
606 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", "IDontExist")
607 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
608 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
609 result = target("editor/-123345/Event/Get").queryParam("name", (String) null)
610 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
611 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
612 result = target("editor/123345/Event/Get").queryParam("name", (String) null)
613 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
614 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
617 target("editor/" + corruptSessionId + "/Event/Get").queryParam("name", "Hello")
618 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
619 } catch (final Exception e) {
620 assertEquals("HTTP 500 Request failed.", e.getMessage());
623 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
624 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
625 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
626 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
627 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
628 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
629 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
630 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
631 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
634 target("editor/" + corruptSessionId + "/Event/Delete").queryParam("name", (String) null)
635 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
636 } catch (final Exception e) {
637 assertEquals("HTTP 500 Request failed.", e.getMessage());
640 result = target("editor/-123345/Event/Delete").queryParam("name", (String) null)
641 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
642 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
643 result = target("editor/123345/Event/Delete").queryParam("name", (String) null)
644 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
645 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
646 result = target("editor/" + sessionId + "/Event/Delete").queryParam("name", "Hello")
647 .queryParam("version", "0.0.2").request().delete(ApexAPIResult.class);
648 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
649 result = target("editor/" + sessionId + "/Event/Delete").queryParam("name", (String) null)
650 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
651 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
655 public void testTask() throws IOException {
656 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
658 ApexAPIResult result = target("editor/-1/Session/Create").request().get(ApexAPIResult.class);
659 assertEquals(RESULT.SUCCESS, result.getResult());
660 final int sessionId = new Integer(result.getMessages().get(0));
662 result = target("editor/-12345/Validate/Task").request().get(ApexAPIResult.class);
663 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
665 result = target("editor/" + sessionId + "/Validate/Task").request().get(ApexAPIResult.class);
666 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
669 target("editor/" + corruptSessionId + "/Validate/Task").request().get(ApexAPIResult.class);
670 } catch (final Exception e) {
671 assertEquals("HTTP 500 Request failed.", e.getMessage());
674 result = target("editor/" + sessionId + "/Validate/Task").queryParam("name", (String) null)
675 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
676 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
678 result = target("editor/" + sessionId + "/Validate/Task").queryParam("name", "%%%$£")
679 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
680 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
682 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
684 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
685 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
686 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
687 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
688 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
689 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
690 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
691 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
692 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
693 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
694 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
695 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
696 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
697 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
698 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
699 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
701 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
702 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
703 + "\"description\" : \"A description of hello\"" + "}";
704 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
705 result = target("editor/-12345/Task/Create").request().post(entity, ApexAPIResult.class);
706 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
707 result = target("editor/1234545/Task/Create").request().post(entity, ApexAPIResult.class);
708 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
709 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
710 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
711 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
712 assertEquals(ApexAPIResult.RESULT.CONCEPT_EXISTS, result.getResult());
715 target("editor/" + corruptSessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
716 } catch (final Exception e) {
717 assertEquals("HTTP 500 Request failed.", e.getMessage());
720 entityString = "{" + "\"name\" : \"Hiya\"," + "\"version\" : \"0.0.2\","
721 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
722 + "\"description\" : \"A description of hello\"" + "}";
723 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
724 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
725 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
727 entityString = "{" + "\"name\" : \"HowsItGoing\"," + "\"version\" : \"0.0.2\","
728 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", \"localName\" : \"IField0\", \"optional\" : false}},"
729 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
730 + "\"description\" : \"A description of hello\"" + "}";
731 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
732 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
733 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
735 entityString = "{" + "\"name\" : \"Hi\"," + "\"version\" : \"0.0.2\","
736 + "\"inputFields\" : {\"IField0\" : null},"
737 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
738 + "\"description\" : \"A description of hello\"" + "}";
739 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
740 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
741 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
743 entityString = "{" + "\"name\" : \"GoodDay\"," + "\"version\" : \"0.0.2\","
744 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", \"localName\" : \"IField0\", \"optional\" : false}},"
745 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
746 + "\"description\" : \"A description of hello\"" + "}";
747 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
748 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
749 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
751 entityString = "{" + "\"name\" : \"Howdy\"," + "\"version\" : \"0.0.2\","
752 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", \"localName\" : \"NotIField0\", \"optional\" : false}},"
753 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
754 + "\"description\" : \"A description of hello\"" + "}";
755 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
756 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
757 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
759 entityString = "{" + "\"name\" : \"HowsItGoing2\"," + "\"version\" : \"0.0.2\","
760 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", \"localName\" : \"OField0\", \"optional\" : false}},"
761 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
762 + "\"description\" : \"A description of hello\"" + "}";
763 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
764 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
765 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
767 entityString = "{" + "\"name\" : \"Hi2\"," + "\"version\" : \"0.0.2\","
768 + "\"outputFields\" : {\"OField0\" : null},"
769 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
770 + "\"description\" : \"A description of hello\"" + "}";
771 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
772 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
773 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
775 entityString = "{" + "\"name\" : \"GoodDay2\"," + "\"version\" : \"0.0.2\","
776 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", \"localName\" : \"OField0\", \"optional\" : false}},"
777 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
778 + "\"description\" : \"A description of hello\"" + "}";
779 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
780 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
781 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
783 entityString = "{" + "\"name\" : \"Howdy2\"," + "\"version\" : \"0.0.2\","
784 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", \"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, lots of lime\"},"
793 + "\"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, lots of lime\"},"
810 + "\"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\", \"defaultValue\" : \"Parameter Defaultvalue\"}},"
826 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
827 + "\"description\" : \"A description of hello\"" + "}";
828 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
829 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
830 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
832 entityString = "{" + "\"name\" : \"Hi4\"," + "\"version\" : \"0.0.2\","
833 + "\"parameters\" : {\"Par0\" : null},"
834 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
835 + "\"description\" : \"A description of hello\"" + "}";
836 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
837 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
838 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
840 entityString = "{" + "\"name\" : \"GoodDay4\"," + "\"version\" : \"0.0.2\","
841 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"NotPar0\", \"defaultValue\" : \"Parameter Defaultvalue\"}},"
842 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
843 + "\"description\" : \"A description of hello\"" + "}";
844 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
845 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
846 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
848 entityString = "{" + "\"name\" : \"Howdy4\"," + "\"version\" : \"0.0.2\","
849 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"MyParameter\", \"defaultValue\" : null}},"
850 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
851 + "\"description\" : \"A description of hello\"" + "}";
852 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
853 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
854 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
856 entityString = "{" + "\"name\" : \"HowsItGoing5\"," + "\"version\" : \"0.0.2\","
857 + "\"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
858 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
859 + "\"description\" : \"A description of hello\"" + "}";
860 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
861 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
862 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
864 entityString = "{" + "\"name\" : \"Hi5\"," + "\"version\" : \"0.0.2\","
865 + "\"contexts\" : []," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
866 + "\"description\" : \"A description of hello\"" + "}";
867 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
868 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
869 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
871 entityString = "{" + "\"name\" : \"GoodDay5\"," + "\"version\" : \"0.0.2\","
872 + "\"contexts\" : [{\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\"}],"
873 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
874 + "\"description\" : \"A description of hello\"" + "}";
875 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
876 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
877 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
879 entityString = "{" + "\"name\" : \"Howdy5\"," + "\"version\" : \"0.0.2\","
880 + "\"contexts\" : [{\"name\" : null, \"version\" : \"0.0.1\"}],"
881 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
882 + "\"description\" : \"A description of hello\"" + "}";
883 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
884 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexAPIResult.class);
885 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
887 entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
888 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
889 + "\"description\" : \"A description of hello\"" + "}";
890 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
891 result = target("editor/-12345/Task/Update").request().put(entity, ApexAPIResult.class);
892 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
893 result = target("editor/1234545/Task/Update").request().put(entity, ApexAPIResult.class);
894 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
895 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexAPIResult.class);
896 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
899 target("editor/" + corruptSessionId + "/Task/Update").request().put(entity, ApexAPIResult.class);
900 } catch (final Exception e) {
901 assertEquals("HTTP 500 Request failed.", e.getMessage());
904 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
905 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
906 + "\"description\" : \"A description of hello\"" + "}";
907 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
908 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexAPIResult.class);
909 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
911 entityString = "{" + "\"name\" : \"NonExistantEvent\"," + "\"version\" : \"0.0.2\","
912 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
913 + "\"description\" : \"A description of hello\"" + "}";
914 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
915 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexAPIResult.class);
916 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
918 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", "Hello")
919 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
920 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
921 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", (String) null)
922 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
923 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
924 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", "IDontExist")
925 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
926 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
927 result = target("editor/-123345/Task/Get").queryParam("name", (String) null)
928 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
929 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
930 result = target("editor/123345/Task/Get").queryParam("name", (String) null).queryParam("version", (String) null)
931 .request().get(ApexAPIResult.class);
932 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
935 target("editor/" + corruptSessionId + "/Task/Get").queryParam("name", "Hello")
936 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
937 } catch (final Exception e) {
938 assertEquals("HTTP 500 Request failed.", e.getMessage());
941 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
942 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
943 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
944 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
945 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
946 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
947 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
948 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
949 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
952 target("editor/" + corruptSessionId + "/Task/Delete").queryParam("name", (String) null)
953 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
954 } catch (final Exception e) {
955 assertEquals("HTTP 500 Request failed.", e.getMessage());
958 result = target("editor/-123345/Task/Delete").queryParam("name", (String) null)
959 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
960 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
961 result = target("editor/123345/Task/Delete").queryParam("name", (String) null)
962 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
963 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
964 result = target("editor/" + sessionId + "/Task/Delete").queryParam("name", "Hello")
965 .queryParam("version", "0.0.2").request().delete(ApexAPIResult.class);
966 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
967 result = target("editor/" + sessionId + "/Task/Delete").queryParam("name", (String) null)
968 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
969 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
973 public void testPolicy() throws IOException {
974 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
976 ApexAPIResult result = target("editor/-1/Session/Create").request().get(ApexAPIResult.class);
977 assertEquals(RESULT.SUCCESS, result.getResult());
978 final int sessionId = new Integer(result.getMessages().get(0));
980 result = target("editor/-12345/Model/Validate").request().get(ApexAPIResult.class);
981 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
983 result = target("editor/" + sessionId + "/Model/Validate").request().get(ApexAPIResult.class);
984 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
987 target("editor/" + corruptSessionId + "/Model/Validate").request().get(ApexAPIResult.class);
988 } catch (final Exception e) {
989 assertEquals("HTTP 500 Request failed.", e.getMessage());
992 result = target("editor/" + sessionId + "/Model/Validate").queryParam("name", (String) null)
993 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
994 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
996 result = target("editor/" + sessionId + "/Model/Validate").queryParam("name", "%%%$£")
997 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
998 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1000 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
1002 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
1003 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
1004 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1005 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
1006 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1007 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
1008 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1009 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
1010 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
1011 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1012 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
1013 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexAPIResult.class);
1014 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1015 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
1016 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
1017 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1019 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
1020 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1021 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1022 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1023 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1025 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1026 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1027 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1028 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1029 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1030 + "\"description\" : \"A description of hello\"" + "}";
1031 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1032 result = target("editor/-12345/Policy/Create").request().post(entity, ApexAPIResult.class);
1033 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1034 result = target("editor/1234545/Policy/Create").request().post(entity, ApexAPIResult.class);
1035 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1036 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1037 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1038 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1039 assertEquals(ApexAPIResult.RESULT.CONCEPT_EXISTS, result.getResult());
1042 target("editor/" + corruptSessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1043 } catch (final Exception e) {
1044 assertEquals("HTTP 500 Request failed.", e.getMessage());
1047 entityString = "{" + "\"name\" : \"GoodTaSeeYa\"," + "\"version\" : \"0.0.2\","
1048 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1049 + "\"states\" : null," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1050 + "\"description\" : \"A description of hello\"" + "}";
1051 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1052 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1053 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1055 entityString = "{" + "\"name\" : \"HelloAnother\"," + "\"version\" : \"0.0.2\","
1056 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1057 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1058 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1059 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1061 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1062 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1063 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1064 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1065 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1066 + "\"description\" : \"A description of hello\"" + "}";
1067 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1068 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1069 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1071 entityString = "{" + "\"name\" : \"Hello2\"," + "\"version\" : \"0.0.2\","
1072 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1073 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1074 + " \"trigger\" : null,"
1075 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1077 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1078 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1079 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1080 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1081 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1082 + "\"description\" : \"A description of hello\"" + "}";
1083 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1084 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1085 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1087 entityString = "{" + "\"name\" : \"Hello3\"," + "\"version\" : \"0.0.2\","
1088 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1089 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1090 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1091 + " \"defaultTask\" : null," + " \"stateOutputs\" : {" + " \"so0\" : {"
1092 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1093 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1094 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1095 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1096 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1097 + "\"description\" : \"A description of hello\"" + "}";
1098 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1099 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1100 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1102 entityString = "{" + "\"name\" : \"Hello4\"," + "\"version\" : \"0.0.2\","
1103 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1104 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1105 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1106 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1107 + " \"stateOutputs\" : null," + " \"tasks\" : {" + " \"tr0\" : {"
1108 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1109 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1110 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1111 + "\"description\" : \"A description of hello\"" + "}";
1112 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1113 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1114 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1116 entityString = "{" + "\"name\" : \"Hello5\"," + "\"version\" : \"0.0.2\","
1117 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1118 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1119 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1120 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1122 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1123 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : null" + " }" + "},"
1124 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1125 + "\"description\" : \"A description of hello\"" + "}";
1126 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1127 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1128 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1130 entityString = "{" + "\"name\" : \"Hello6\"," + "\"version\" : \"0.0.2\","
1131 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1132 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1133 + " \"trigger\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1134 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1136 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1137 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1138 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1139 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1140 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1141 + "\"description\" : \"A description of hello\"" + "}";
1142 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1143 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1144 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
1146 entityString = "{" + "\"name\" : \"Hello7\"," + "\"version\" : \"0.0.2\","
1147 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1148 + "\"states\" : {" + " \"state\" : null" + "},"
1149 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1150 + "\"description\" : \"A description of hello\"" + "}";
1151 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1152 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1153 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1155 entityString = "{" + "\"name\" : \"Hello8\"," + "\"version\" : \"0.0.2\","
1156 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1157 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1158 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1159 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1161 + " \"event\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1162 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1163 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1164 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1165 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1166 + "\"description\" : \"A description of hello\"" + "}";
1167 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1168 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1169 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
1171 entityString = "{" + "\"name\" : \"Hello9\"," + "\"version\" : \"0.0.2\","
1172 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1173 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1174 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1175 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1176 + " \"so0\" : {" + " \"event\" : null," + " \"nextState\" : null" + " }"
1177 + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1178 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1179 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1180 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1181 + "\"description\" : \"A description of hello\"" + "}";
1182 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1183 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1184 System.err.println(result);
1185 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1187 entityString = "{" + "\"name\" : \"Hello10\"," + "\"version\" : \"0.0.2\","
1188 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1189 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1190 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1191 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1193 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1194 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1196 + " \"task\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1197 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1198 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1199 + "\"description\" : \"A description of hello\"" + "}";
1200 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1201 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1202 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
1204 entityString = "{" + "\"name\" : \"Hello11\"," + "\"version\" : \"0.0.2\","
1205 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1206 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1207 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1208 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1210 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1211 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1212 + " \"tr0\" : {" + " \"task\" : null," + " \"outputType\" : \"DIRECT\","
1213 + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1214 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1215 + "\"description\" : \"A description of hello\"" + "}";
1216 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1217 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1218 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1220 entityString = "{" + "\"name\" : \"Hello12\"," + "\"version\" : \"0.0.2\","
1221 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1222 + "\"states\" : {" + " \"state\" : {"
1223 + " \"name\" : \"state\","
1224 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1225 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1226 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, lots of lime\"},"
1227 + " \"stateOutputs\" : {" + " \"so0\" : {"
1228 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1229 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1231 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1232 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1233 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1234 + "\"description\" : \"A description of hello\"" + "}";
1235 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1236 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1237 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1239 entityString = "{" + "\"name\" : \"Hello13\"," + "\"version\" : \"0.0.2\","
1240 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1241 + "\"states\" : {" + " \"state\" : {"
1242 + " \"name\" : \"state\","
1243 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1244 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1245 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null},"
1246 + " \"stateOutputs\" : {" + " \"so0\" : {"
1247 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1248 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1250 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1251 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1252 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1253 + "\"description\" : \"A description of hello\"" + "}";
1254 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1255 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1256 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1258 entityString = "{" + "\"name\" : \"Hello14\"," + "\"version\" : \"0.0.2\","
1259 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1260 + "\"states\" : {" + " \"state\" : {"
1261 + " \"name\" : \"state\","
1262 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1263 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1264 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, lots of lime\"},"
1265 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1266 + " \"stateOutputs\" : {" + " \"so0\" : {"
1267 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1268 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1270 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1271 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1272 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1273 + "\"description\" : \"A description of hello\"" + "}";
1274 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1275 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1276 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1278 entityString = "{" + "\"name\" : \"Hello15\"," + "\"version\" : \"0.0.2\","
1279 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1280 + "\"states\" : {" + " \"state\" : {"
1281 + " \"name\" : \"state\","
1282 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1283 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1284 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, lots of lime\"},"
1285 + " \"contexts\" : [{\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"}],"
1286 + " \"stateOutputs\" : {" + " \"so0\" : {"
1287 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1288 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1290 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1291 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1292 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1293 + "\"description\" : \"A description of hello\"" + "}";
1294 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1295 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1296 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
1298 entityString = "{" + "\"name\" : \"Hello16\"," + "\"version\" : \"0.0.2\","
1299 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1300 + "\"states\" : {" + " \"state\" : {"
1301 + " \"name\" : \"state\","
1302 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1303 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1304 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, lots of lime\"},"
1305 + " \"contexts\" : [null]," + " \"stateOutputs\" : {" + " \"so0\" : {"
1306 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1307 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1309 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1310 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1311 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1312 + "\"description\" : \"A description of hello\"" + "}";
1313 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1314 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1315 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1317 entityString = "{" + "\"name\" : \"Hello17\"," + "\"version\" : \"0.0.2\","
1318 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1319 + "\"states\" : {" + " \"state\" : {"
1320 + " \"name\" : \"state\","
1321 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1322 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1323 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, lots of lime\"},"
1324 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1325 + " \"stateOutputs\" : {" + " \"so0\" : {"
1326 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1327 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1329 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1330 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1331 + " \"finalizers\" : {"
1332 + " \"sf0\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, lots of lime\"}"
1333 + " }" + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1334 + "\"description\" : \"A description of hello\"" + "}";
1335 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1336 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1337 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1339 entityString = "{" + "\"name\" : \"Hello18\"," + "\"version\" : \"0.0.2\","
1340 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1341 + "\"states\" : {" + " \"state\" : {"
1342 + " \"name\" : \"state\","
1343 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1344 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1345 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, lots of lime\"},"
1346 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1347 + " \"stateOutputs\" : {" + " \"so0\" : {"
1348 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1349 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1351 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1352 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1353 + " \"finalizers\" : {" + " \"sf0\" : null" + " }" + " }" + "},"
1354 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1355 + "\"description\" : \"A description of hello\"" + "}";
1356 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1357 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1358 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1360 entityString = "{" + "\"name\" : \"Hello19\"," + "\"version\" : \"0.0.2\","
1361 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1362 + "\"states\" : {" + " \"state\" : {"
1363 + " \"name\" : \"state\","
1364 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1365 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1366 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, lots of lime\"},"
1367 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1368 + " \"stateOutputs\" : {" + " \"so0\" : {"
1369 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1370 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1372 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1373 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1374 + " \"finalizers\" : {"
1375 + " \"sf0\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null}" + " }" + " }"
1376 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1377 + "\"description\" : \"A description of hello\"" + "}";
1378 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1379 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexAPIResult.class);
1380 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1382 entityString = "{" + "\"name\" : \"HelloAnother\"," + "\"version\" : \"0.0.2\","
1383 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1384 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1385 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1386 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1388 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1389 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1390 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1391 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1392 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1393 + "\"description\" : \"A better description of hello\"" + "}";
1394 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1395 result = target("editor/-12345/Policy/Update").request().put(entity, ApexAPIResult.class);
1396 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1397 result = target("editor/1234545/Policy/Update").request().put(entity, ApexAPIResult.class);
1398 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1399 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexAPIResult.class);
1400 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1402 result = target("editor/" + sessionId + "/Policy/Update").queryParam("firstStatePeriodic", "true").request()
1403 .put(entity, ApexAPIResult.class);
1404 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1407 target("editor/" + corruptSessionId + "/Policy/Update").request().put(entity, ApexAPIResult.class);
1408 } catch (final Exception e) {
1409 assertEquals("HTTP 500 Request failed.", e.getMessage());
1412 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
1413 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1414 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1415 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1416 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1418 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1419 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1420 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1421 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1422 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1423 + "\"description\" : \"A better description of hello\"" + "}";
1424 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1425 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexAPIResult.class);
1426 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1428 entityString = "{" + "\"name\" : \"IDontExist\"," + "\"version\" : \"0.0.2\","
1429 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1430 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1431 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1432 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1434 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1435 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1436 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1437 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1438 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1439 + "\"description\" : \"A better description of hello\"" + "}";
1440 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1441 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexAPIResult.class);
1442 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
1444 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", "Hello")
1445 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
1446 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1447 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", "IDontExist")
1448 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
1449 assertEquals(ApexAPIResult.RESULT.CONCEPT_DOES_NOT_EXIST, result.getResult());
1450 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", (String) null)
1451 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
1452 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1453 result = target("editor/-123345/Policy/Get").queryParam("name", (String) null)
1454 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
1455 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1456 result = target("editor/123345/Policy/Get").queryParam("name", (String) null)
1457 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
1458 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1461 target("editor/" + corruptSessionId + "/Policy/Get").queryParam("name", "Hello")
1462 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
1463 } catch (final Exception e) {
1464 assertEquals("HTTP 500 Request failed.", e.getMessage());
1467 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
1468 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
1469 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1470 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
1471 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
1472 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1473 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
1474 .queryParam("version", (String) null).request().get(ApexAPIResult.class);
1475 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1478 target("editor/" + corruptSessionId + "/Policy/Delete").queryParam("name", (String) null)
1479 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
1480 } catch (final Exception e) {
1481 assertEquals("HTTP 500 Request failed.", e.getMessage());
1484 result = target("editor/-123345/Policy/Delete").queryParam("name", (String) null)
1485 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
1486 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1487 result = target("editor/123345/Policy/Delete").queryParam("name", (String) null)
1488 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
1489 assertEquals(ApexAPIResult.RESULT.FAILED, result.getResult());
1490 result = target("editor/" + sessionId + "/Policy/Delete").queryParam("name", "Hello")
1491 .queryParam("version", "0.0.2").request().delete(ApexAPIResult.class);
1492 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());
1493 result = target("editor/" + sessionId + "/Policy/Delete").queryParam("name", (String) null)
1494 .queryParam("version", (String) null).request().delete(ApexAPIResult.class);
1495 assertEquals(ApexAPIResult.RESULT.SUCCESS, result.getResult());