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