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;
29 import javax.ws.rs.client.Entity;
30 import javax.ws.rs.core.Application;
31 import javax.ws.rs.core.MediaType;
33 import org.glassfish.jersey.server.ResourceConfig;
34 import org.glassfish.jersey.test.JerseyTest;
35 import org.junit.Test;
36 import org.onap.policy.apex.model.modelapi.ApexApiResult;
37 import org.onap.policy.apex.model.modelapi.ApexApiResult.Result;
38 import org.onap.policy.common.utils.resources.TextFileUtils;
41 * Test Apex Editor Rest Resource.
43 * @author Liam Fallon (liam.fallon@ericsson.com)
45 public class ApexEditorRestResourceTest extends JerseyTest {
47 protected Application configure() {
48 return new ResourceConfig(ApexEditorRestResource.class);
52 public void testSessionCreate() {
53 ApexApiResult result = target("editor/-2/Session/Create").request().get(ApexApiResult.class);
54 assertEquals(Result.FAILED, result.getResult());
56 result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
57 assertEquals(Result.SUCCESS, result.getResult());
58 final int sessionId = Integer.valueOf(result.getMessages().get(0));
60 result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
61 assertEquals(Result.SUCCESS, result.getResult());
63 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
66 target("editor/" + corruptSessionId + "/Model/Analyse").request().get(ApexApiResult.class);
67 } catch (final Exception e) {
68 assertEquals("HTTP 500 Request failed.", e.getMessage());
71 result = target("editor/" + sessionId + "/Model/Analyse").request().get(ApexApiResult.class);
72 assertEquals(Result.SUCCESS, result.getResult());
73 result = target("editor/-12345/Model/Analyse").request().get(ApexApiResult.class);
74 assertEquals(Result.FAILED, result.getResult());
75 result = target("editor/12345/Model/Analyse").request().get(ApexApiResult.class);
76 assertEquals(Result.FAILED, result.getResult());
79 target("editor/" + corruptSessionId + "/Model/Validate").request().get(ApexApiResult.class);
80 } catch (final Exception e) {
81 assertEquals("HTTP 500 Request failed.", e.getMessage());
84 result = target("editor/" + sessionId + "/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());
88 result = target("editor/12345/Model/Validate").request().get(ApexApiResult.class);
89 assertEquals(Result.FAILED, result.getResult());
91 final String modelString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
92 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002699\","
93 + "\"description\" : \"A description of the model\"" + "}";
94 final Entity<String> csEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
95 result = target("editor/-12345/Model/Create").request().post(csEntity, ApexApiResult.class);
96 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
97 result = target("editor/-12345/Model/Create").request().post(csEntity, ApexApiResult.class);
98 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
99 result = target("editor/1234545/Model/Create").request().post(csEntity, ApexApiResult.class);
100 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
101 result = target("editor/" + sessionId + "/Model/Create").request().post(csEntity, ApexApiResult.class);
102 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
105 target("editor/" + corruptSessionId + "/Model/Create").request().post(csEntity, ApexApiResult.class);
106 } catch (final Exception e) {
107 assertEquals("HTTP 500 Request failed.", e.getMessage());
110 result = target("editor/-12345/Model/Update").request().put(csEntity, ApexApiResult.class);
111 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
112 result = target("editor/-12345/Model/Update").request().put(csEntity, ApexApiResult.class);
113 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
114 result = target("editor/1234545/Model/Update").request().put(csEntity, ApexApiResult.class);
115 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
116 result = target("editor/" + sessionId + "/Model/Update").request().put(csEntity, ApexApiResult.class);
117 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
120 target("editor/" + corruptSessionId + "/Model/Update").request().put(csEntity, ApexApiResult.class);
121 } catch (final Exception e) {
122 assertEquals("HTTP 500 Request failed.", e.getMessage());
126 result = target("editor/" + corruptSessionId + "/Model/GetKey").request().get(ApexApiResult.class);
127 } catch (final Exception e) {
128 assertEquals("HTTP 500 Request failed.", e.getMessage());
131 result = target("editor/" + sessionId + "/Model/GetKey").request().get(ApexApiResult.class);
132 assertEquals(Result.SUCCESS, result.getResult());
133 result = target("editor/-12345/Model/GetKey").request().get(ApexApiResult.class);
134 assertEquals(Result.FAILED, result.getResult());
135 result = target("editor/12345/Model/GetKey").request().get(ApexApiResult.class);
136 assertEquals(Result.FAILED, result.getResult());
139 result = target("editor/" + corruptSessionId + "/Model/Get").request().get(ApexApiResult.class);
140 } catch (final Exception e) {
141 assertEquals("HTTP 500 Request failed.", e.getMessage());
144 result = target("editor/" + sessionId + "/Model/Get").request().get(ApexApiResult.class);
145 assertEquals(Result.SUCCESS, result.getResult());
146 result = target("editor/-12345/Model/Get").request().get(ApexApiResult.class);
147 assertEquals(Result.FAILED, result.getResult());
148 result = target("editor/12345/Model/Get").request().get(ApexApiResult.class);
149 assertEquals(Result.FAILED, result.getResult());
151 String resultString = target("editor/" + corruptSessionId + "/Model/Download").request().get(String.class);
152 assertEquals("", resultString);
154 resultString = target("editor/" + sessionId + "/Model/Download").request().get(String.class);
155 assertNotNull(resultString);
157 resultString = target("editor/-12345/Model/Download").request().get(String.class);
158 assertEquals("", resultString);
160 resultString = target("editor/12345/Model/Download").request().get(String.class);
161 assertEquals("", resultString);
164 result = target("editor/" + corruptSessionId + "/KeyInformation/Get").request().get(ApexApiResult.class);
165 } catch (final Exception e) {
166 assertEquals("HTTP 500 Request failed.", e.getMessage());
169 result = target("editor/" + sessionId + "/KeyInformation/Get").request().get(ApexApiResult.class);
170 assertEquals(Result.SUCCESS, result.getResult());
171 result = target("editor/-12345/KeyInformation/Get").request().get(ApexApiResult.class);
172 assertEquals(Result.FAILED, result.getResult());
173 result = target("editor/12345/KeyInformation/Get").request().get(ApexApiResult.class);
174 assertEquals(Result.FAILED, result.getResult());
177 result = target("editor/" + corruptSessionId + "/Model/Delete").request().delete(ApexApiResult.class);
178 } catch (final Exception e) {
179 assertEquals("HTTP 500 Request failed.", e.getMessage());
182 result = target("editor/" + sessionId + "/Model/Delete").request().delete(ApexApiResult.class);
183 assertEquals(Result.SUCCESS, result.getResult());
184 result = target("editor/-12345/Model/Delete").request().delete(ApexApiResult.class);
185 assertEquals(Result.FAILED, result.getResult());
186 result = target("editor/12345/Model/Delete").request().delete(ApexApiResult.class);
187 assertEquals(Result.FAILED, result.getResult());
191 public void testContextSchema() throws IOException {
192 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
193 assertEquals(Result.SUCCESS, result.getResult());
194 final int sessionId = Integer.valueOf(result.getMessages().get(0));
196 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
198 result = target("editor/-12345/Validate/ContextSchema").request().get(ApexApiResult.class);
199 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
202 target("editor/" + corruptSessionId + "/Validate/ContextSchema").request().get(ApexApiResult.class);
203 } catch (final Exception e) {
204 assertEquals("HTTP 500 Request failed.", e.getMessage());
207 result = target("editor/" + sessionId + "/Validate/ContextSchema").request().get(ApexApiResult.class);
208 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
210 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", (String) null)
211 .queryParam("version", (String) null).request().get(ApexApiResult.class);
212 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
214 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", "%%%$£")
215 .queryParam("version", (String) null).request().get(ApexApiResult.class);
216 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
218 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
220 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
221 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
222 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
223 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
224 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
225 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
226 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
227 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
228 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
229 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
230 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
231 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
232 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
233 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", (String) null)
234 .queryParam("version", (String) null).request().get(ApexApiResult.class);
235 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
238 target("editor/" + corruptSessionId + "/ContextSchema/Get").queryParam("name", (String) null)
239 .queryParam("version", (String) null).request().get(ApexApiResult.class);
240 } catch (final Exception e) {
241 assertEquals("HTTP 500 Request failed.", e.getMessage());
244 String csString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
245 + "\"schemaFlavour\" : \"Java\"," + "\"schemaDefinition\" : \"java.lang.String\","
246 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
247 + "\"description\" : \"A description of hello\"" + "}";
248 Entity<String> csEntity = Entity.entity(csString, MediaType.APPLICATION_JSON);
249 result = target("editor/-12345/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
250 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
251 result = target("editor/1234545/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
252 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
253 result = target("editor/" + sessionId + "/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
254 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
257 target("editor/" + corruptSessionId + "/ContextSchema/Create").request().post(csEntity,
258 ApexApiResult.class);
259 } catch (final Exception e) {
260 assertEquals("HTTP 500 Request failed.", e.getMessage());
263 csString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
264 + "\"schemaFlavour\" : \"Java\"," + "\"schemaDefinition\" : \"my.perfect.String\","
265 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
266 + "\"description\" : \"A description of hello\"" + "}";
267 csEntity = Entity.entity(csString, MediaType.APPLICATION_JSON);
268 result = target("editor/-12345/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
269 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
270 result = target("editor/1234545/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
271 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
272 result = target("editor/" + sessionId + "/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
273 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
276 target("editor/" + corruptSessionId + "/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
277 } catch (final Exception e) {
278 assertEquals("HTTP 500 Request failed.", e.getMessage());
281 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", "Hello")
282 .queryParam("version", (String) null).request().get(ApexApiResult.class);
283 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
284 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", "NonExistant")
285 .queryParam("version", (String) null).request().get(ApexApiResult.class);
286 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
287 result = target("editor/-123345/ContextSchema/Get").queryParam("name", (String) null)
288 .queryParam("version", (String) null).request().get(ApexApiResult.class);
289 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
290 result = target("editor/123345/ContextSchema/Get").queryParam("name", (String) null)
291 .queryParam("version", (String) null).request().get(ApexApiResult.class);
292 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
295 target("editor/" + corruptSessionId + "/ContextSchema/Get").queryParam("name", "Hello")
296 .queryParam("version", (String) null).request().get(ApexApiResult.class);
297 } catch (final Exception e) {
298 assertEquals("HTTP 500 Request failed.", e.getMessage());
301 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", (String) null)
302 .queryParam("version", (String) null).request().get(ApexApiResult.class);
303 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
306 target("editor/" + corruptSessionId + "/ContextSchema/Delete").queryParam("name", "Hello")
307 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
308 } catch (final Exception e) {
309 assertEquals("HTTP 500 Request failed.", e.getMessage());
312 result = target("editor/-123345/ContextSchema/Delete").queryParam("name", (String) null)
313 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
314 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
315 result = target("editor/123345/ContextSchema/Delete").queryParam("name", (String) null)
316 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
317 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
318 result = target("editor/" + sessionId + "/ContextSchema/Delete").queryParam("name", "Hello")
319 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
320 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
321 result = target("editor/" + sessionId + "/ContextSchema/Delete").queryParam("name", (String) null)
322 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
323 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
327 public void testContextAlbum() throws IOException {
328 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
329 assertEquals(Result.SUCCESS, result.getResult());
330 final int sessionId = Integer.valueOf(result.getMessages().get(0));
331 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
333 result = target("editor/-12345/Validate/ContextAlbum").request().get(ApexApiResult.class);
334 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
337 target("editor/" + corruptSessionId + "/Validate/ContextAlbum").request().get(ApexApiResult.class);
338 } catch (final Exception e) {
339 assertEquals("HTTP 500 Request failed.", e.getMessage());
342 result = target("editor/" + sessionId + "/Validate/ContextAlbum").request().get(ApexApiResult.class);
343 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
345 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", (String) null)
346 .queryParam("version", (String) null).request().get(ApexApiResult.class);
347 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
349 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", "%%%$£")
350 .queryParam("version", (String) null).request().get(ApexApiResult.class);
351 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
353 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
355 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
356 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
357 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
358 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
359 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
360 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
361 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
362 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
363 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
364 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
365 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
366 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
367 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
368 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", (String) null)
369 .queryParam("version", (String) null).request().get(ApexApiResult.class);
370 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
372 String caString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
373 + "\"scope\" : \"Domain\"," + "\"writeable\" : false,"
374 + "\"itemSchema\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\"},"
375 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
376 + "\"description\" : \"A description of hello\"" + "}";
377 Entity<String> caEntity = Entity.entity(caString, MediaType.APPLICATION_JSON);
378 result = target("editor/-12345/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
379 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
380 result = target("editor/1234545/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
381 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
382 result = target("editor/" + sessionId + "/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
383 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
386 target("editor/" + corruptSessionId + "/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
387 } catch (final Exception e) {
388 assertEquals("HTTP 500 Request failed.", e.getMessage());
391 caString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
392 + "\"scope\" : \"Global\"," + "\"writeable\" : false,"
393 + "\"itemSchema\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\"},"
394 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
395 + "\"description\" : \"A description of hello\"" + "}";
396 caEntity = Entity.entity(caString, MediaType.APPLICATION_JSON);
397 result = target("editor/-12345/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
398 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
399 result = target("editor/1234545/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
400 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
401 result = target("editor/" + sessionId + "/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
402 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
405 target("editor/" + corruptSessionId + "/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
406 } catch (final Exception e) {
407 assertEquals("HTTP 500 Request failed.", e.getMessage());
411 target("editor/" + corruptSessionId + "/ContextAlbum/Get").queryParam("name", "Hello")
412 .queryParam("version", (String) null).request().get(ApexApiResult.class);
413 } catch (final Exception e) {
414 assertEquals("HTTP 500 Request failed.", e.getMessage());
417 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", "Hello")
418 .queryParam("version", (String) null).request().get(ApexApiResult.class);
419 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
420 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", "IDontExist")
421 .queryParam("version", (String) null).request().get(ApexApiResult.class);
422 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
423 result = target("editor/-123345/ContextAlbum/Get").queryParam("name", (String) null)
424 .queryParam("version", (String) null).request().get(ApexApiResult.class);
425 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
426 result = target("editor/123345/ContextAlbum/Get").queryParam("name", (String) null)
427 .queryParam("version", (String) null).request().get(ApexApiResult.class);
428 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
430 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", (String) null)
431 .queryParam("version", (String) null).request().get(ApexApiResult.class);
432 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
435 target("editor/" + corruptSessionId + "/ContextAlbum/Delete").queryParam("name", (String) null)
436 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
437 } catch (final Exception e) {
438 assertEquals("HTTP 500 Request failed.", e.getMessage());
441 result = target("editor/-123345/ContextAlbum/Delete").queryParam("name", (String) null)
442 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
443 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
444 result = target("editor/123345/ContextAlbum/Delete").queryParam("name", (String) null)
445 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
446 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
447 result = target("editor/" + sessionId + "/ContextAlbum/Delete").queryParam("name", "Hello")
448 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
449 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
450 result = target("editor/" + sessionId + "/ContextAlbum/Delete").queryParam("name", (String) null)
451 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
452 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
456 public void testEvent() throws IOException {
457 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
459 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
460 assertEquals(Result.SUCCESS, result.getResult());
461 final int sessionId = Integer.valueOf(result.getMessages().get(0));
463 result = target("editor/-12345/Validate/Event").request().get(ApexApiResult.class);
464 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
466 result = target("editor/" + sessionId + "/Validate/Event").request().get(ApexApiResult.class);
467 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
470 target("editor/" + corruptSessionId + "/Validate/Event").request().get(ApexApiResult.class);
471 } catch (final Exception e) {
472 assertEquals("HTTP 500 Request failed.", e.getMessage());
475 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
476 .queryParam("version", (String) null).request().get(ApexApiResult.class);
477 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
479 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", "%%%$£")
480 .queryParam("version", (String) null).request().get(ApexApiResult.class);
481 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
483 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
485 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
486 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
487 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
488 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
489 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
490 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
491 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
492 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
493 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
494 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
495 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
496 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
497 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
498 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
499 .queryParam("version", (String) null).request().get(ApexApiResult.class);
500 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
502 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
503 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
504 + "\"target\" : \"end\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
505 + "\"description\" : \"A description of hello\"" + "}";
506 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
507 result = target("editor/-12345/Event/Create").request().post(entity, ApexApiResult.class);
508 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
509 result = target("editor/1234545/Event/Create").request().post(entity, ApexApiResult.class);
510 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
511 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
512 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
513 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
514 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
517 target("editor/" + corruptSessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
518 } catch (final Exception e) {
519 assertEquals("HTTP 500 Request failed.", e.getMessage());
522 entityString = "{" + "\"name\" : \"Hiya\"," + "\"version\" : \"0.0.2\","
523 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
524 + "\"target\" : \"end\"," + "\"parameters\" : {},"
525 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
526 + "\"description\" : \"A description of hello\"" + "}";
527 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
528 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
529 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
531 entityString = "{" + "\"name\" : \"HowsItGoing\"," + "\"version\" : \"0.0.2\","
532 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
533 + "\"target\" : \"end\","
534 + "\"parameters\" : {\"Par0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
535 + "\"localName\" : \"Par0\", \"optional\" : false}},"
536 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
537 + "\"description\" : \"A description of hello\"" + "}";
538 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
539 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
540 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
542 entityString = "{" + "\"name\" : \"Hi\"," + "\"version\" : \"0.0.2\","
543 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
544 + "\"target\" : \"end\"," + "\"parameters\" : {\"Par0\" : null},"
545 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
546 + "\"description\" : \"A description of hello\"" + "}";
547 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
548 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
549 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
551 entityString = "{" + "\"name\" : \"GoodDay\"," + "\"version\" : \"0.0.2\","
552 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
553 + "\"target\" : \"end\","
554 + "\"parameters\" : {\"Par0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
555 + "\"localName\" : \"Par0\", \"optional\" : false}},"
556 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
557 + "\"description\" : \"A description of hello\"" + "}";
558 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
559 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
560 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
562 entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
563 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\","
564 + "\"source\" : \"start\"," + "\"target\" : \"finish\","
565 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
566 + "\"description\" : \"A description of hello\"" + "}";
567 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
568 result = target("editor/-12345/Event/Update").request().put(entity, ApexApiResult.class);
569 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
570 result = target("editor/1234545/Event/Update").request().put(entity, ApexApiResult.class);
571 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
572 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
573 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
576 target("editor/" + corruptSessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
577 } catch (final Exception e) {
578 assertEquals("HTTP 500 Request failed.", e.getMessage());
581 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
582 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\","
583 + "\"source\" : \"start\"," + "\"target\" : \"finish\","
584 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
585 + "\"description\" : \"A description of hello\"" + "}";
586 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
587 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
588 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
590 entityString = "{" + "\"name\" : \"NonExistantEvent\"," + "\"version\" : \"0.0.2\","
591 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\","
592 + "\"source\" : \"start\"," + "\"target\" : \"finish\","
593 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
594 + "\"description\" : \"A description of hello\"" + "}";
595 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
596 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
597 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
599 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", "Hello")
600 .queryParam("version", (String) null).request().get(ApexApiResult.class);
601 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
602 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", "IDontExist")
603 .queryParam("version", (String) null).request().get(ApexApiResult.class);
604 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
605 result = target("editor/-123345/Event/Get").queryParam("name", (String) null)
606 .queryParam("version", (String) null).request().get(ApexApiResult.class);
607 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
608 result = target("editor/123345/Event/Get").queryParam("name", (String) null)
609 .queryParam("version", (String) null).request().get(ApexApiResult.class);
610 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
613 target("editor/" + corruptSessionId + "/Event/Get").queryParam("name", "Hello")
614 .queryParam("version", (String) null).request().get(ApexApiResult.class);
615 } catch (final Exception e) {
616 assertEquals("HTTP 500 Request failed.", e.getMessage());
619 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
620 .queryParam("version", (String) null).request().get(ApexApiResult.class);
621 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
622 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
623 .queryParam("version", (String) null).request().get(ApexApiResult.class);
624 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
625 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
626 .queryParam("version", (String) null).request().get(ApexApiResult.class);
627 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
630 target("editor/" + corruptSessionId + "/Event/Delete").queryParam("name", (String) null)
631 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
632 } catch (final Exception e) {
633 assertEquals("HTTP 500 Request failed.", e.getMessage());
636 result = target("editor/-123345/Event/Delete").queryParam("name", (String) null)
637 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
638 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
639 result = target("editor/123345/Event/Delete").queryParam("name", (String) null)
640 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
641 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
642 result = target("editor/" + sessionId + "/Event/Delete").queryParam("name", "Hello")
643 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
644 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
645 result = target("editor/" + sessionId + "/Event/Delete").queryParam("name", (String) null)
646 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
647 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
651 public void testTask() throws IOException {
652 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
654 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
655 assertEquals(Result.SUCCESS, result.getResult());
656 final int sessionId = Integer.valueOf(result.getMessages().get(0));
658 result = target("editor/-12345/Validate/Task").request().get(ApexApiResult.class);
659 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
661 result = target("editor/" + sessionId + "/Validate/Task").request().get(ApexApiResult.class);
662 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
665 target("editor/" + corruptSessionId + "/Validate/Task").request().get(ApexApiResult.class);
666 } catch (final Exception e) {
667 assertEquals("HTTP 500 Request failed.", e.getMessage());
670 result = target("editor/" + sessionId + "/Validate/Task").queryParam("name", (String) null)
671 .queryParam("version", (String) null).request().get(ApexApiResult.class);
672 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
674 result = target("editor/" + sessionId + "/Validate/Task").queryParam("name", "%%%$£")
675 .queryParam("version", (String) null).request().get(ApexApiResult.class);
676 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
678 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
680 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
681 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
682 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
683 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
684 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
685 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
686 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
687 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
688 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
689 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
690 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
691 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
692 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
693 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
694 .queryParam("version", (String) null).request().get(ApexApiResult.class);
695 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
697 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
698 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
699 + "\"description\" : \"A description of hello\"" + "}";
700 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
701 result = target("editor/-12345/Task/Create").request().post(entity, ApexApiResult.class);
702 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
703 result = target("editor/1234545/Task/Create").request().post(entity, ApexApiResult.class);
704 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
705 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
706 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
707 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
708 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
711 target("editor/" + corruptSessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
712 } catch (final Exception e) {
713 assertEquals("HTTP 500 Request failed.", e.getMessage());
716 entityString = "{" + "\"name\" : \"Hiya\"," + "\"version\" : \"0.0.2\","
717 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
718 + "\"description\" : \"A description of hello\"" + "}";
719 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
720 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
721 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
723 entityString = "{" + "\"name\" : \"HowsItGoing\"," + "\"version\" : \"0.0.2\","
724 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
725 + "\"localName\" : \"IField0\", \"optional\" : false}},"
726 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
727 + "\"description\" : \"A description of hello\"" + "}";
728 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
729 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
730 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
732 entityString = "{" + "\"name\" : \"Hi\"," + "\"version\" : \"0.0.2\","
733 + "\"inputFields\" : {\"IField0\" : null},"
734 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
735 + "\"description\" : \"A description of hello\"" + "}";
736 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
737 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
738 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
740 entityString = "{" + "\"name\" : \"GoodDay\"," + "\"version\" : \"0.0.2\","
741 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
742 + "\"localName\" : \"IField0\", \"optional\" : false}},"
743 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
744 + "\"description\" : \"A description of hello\"" + "}";
745 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
746 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
747 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
749 entityString = "{" + "\"name\" : \"Howdy\"," + "\"version\" : \"0.0.2\","
750 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
751 + "\"localName\" : \"NotIField0\", \"optional\" : false}},"
752 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
753 + "\"description\" : \"A description of hello\"" + "}";
754 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
755 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
756 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
758 entityString = "{" + "\"name\" : \"HowsItGoing2\"," + "\"version\" : \"0.0.2\","
759 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
760 + "\"localName\" : \"OField0\", \"optional\" : false}},"
761 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
762 + "\"description\" : \"A description of hello\"" + "}";
763 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
764 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
765 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
767 entityString = "{" + "\"name\" : \"Hi2\"," + "\"version\" : \"0.0.2\","
768 + "\"outputFields\" : {\"OField0\" : null},"
769 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
770 + "\"description\" : \"A description of hello\"" + "}";
771 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
772 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
773 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
775 entityString = "{" + "\"name\" : \"GoodDay2\"," + "\"version\" : \"0.0.2\","
776 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\","
777 + " \"localName\" : \"OField0\", \"optional\" : false}},"
778 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
779 + "\"description\" : \"A description of hello\"" + "}";
780 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
781 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
782 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
784 entityString = "{" + "\"name\" : \"Howdy2\"," + "\"version\" : \"0.0.2\","
785 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
786 + "\"localName\" : \"NotOField0\", \"optional\" : false}},"
787 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
788 + "\"description\" : \"A description of hello\"" + "}";
789 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
790 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
791 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
793 entityString = "{" + "\"name\" : \"HowsItGoing3\"," + "\"version\" : \"0.0.2\","
794 + "\"taskLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons,"
795 + " lots of lime\"}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
796 + "\"description\" : \"A description of hello\"" + "}";
797 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
798 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
799 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
801 entityString = "{" + "\"name\" : \"Hi3\"," + "\"version\" : \"0.0.2\","
802 + "\"taskLogic\" : null," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
803 + "\"description\" : \"A description of hello\"" + "}";
804 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
805 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
806 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
808 entityString = "{" + "\"name\" : \"GoodDay3\"," + "\"version\" : \"0.0.2\","
809 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
810 + "\"target\" : \"end\","
811 + "\"taskLogic\" : {\"logicFlavour\" : \"UNDEFINED\", \"logic\" : \"lots of lemons,"
812 + " lots of lime\"}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
813 + "\"description\" : \"A description of hello\"" + "}";
814 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
815 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
816 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
818 entityString = "{" + "\"name\" : \"Howdy3\"," + "\"version\" : \"0.0.2\","
819 + "\"taskLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null},"
820 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
821 + "\"description\" : \"A description of hello\"" + "}";
822 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
823 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
824 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
826 entityString = "{" + "\"name\" : \"HowsItGoing4\"," + "\"version\" : \"0.0.2\","
827 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"Par0\", "
828 + "\"defaultValue\" : \"Parameter Defaultvalue\"}},"
829 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
830 + "\"description\" : \"A description of hello\"" + "}";
831 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
832 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
833 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
835 entityString = "{" + "\"name\" : \"Hi4\"," + "\"version\" : \"0.0.2\","
836 + "\"parameters\" : {\"Par0\" : null},"
837 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
838 + "\"description\" : \"A description of hello\"" + "}";
839 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
840 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
841 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
843 entityString = "{" + "\"name\" : \"GoodDay4\"," + "\"version\" : \"0.0.2\","
844 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"NotPar0\", \"defaultValue\" : "
845 + "\"Parameter Defaultvalue\"}}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
846 + "\"description\" : \"A description of hello\"" + "}";
847 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
848 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
849 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
851 entityString = "{" + "\"name\" : \"Howdy4\"," + "\"version\" : \"0.0.2\","
852 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"MyParameter\", \"defaultValue\" : null}},"
853 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
854 + "\"description\" : \"A description of hello\"" + "}";
855 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
856 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
857 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
859 entityString = "{" + "\"name\" : \"HowsItGoing5\"," + "\"version\" : \"0.0.2\","
860 + "\"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
861 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
862 + "\"description\" : \"A description of hello\"" + "}";
863 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
864 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
865 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
867 entityString = "{" + "\"name\" : \"Hi5\"," + "\"version\" : \"0.0.2\","
868 + "\"contexts\" : []," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
869 + "\"description\" : \"A description of hello\"" + "}";
870 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
871 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
872 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
874 entityString = "{" + "\"name\" : \"GoodDay5\"," + "\"version\" : \"0.0.2\","
875 + "\"contexts\" : [{\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\"}],"
876 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
877 + "\"description\" : \"A description of hello\"" + "}";
878 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
879 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
880 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
882 entityString = "{" + "\"name\" : \"Howdy5\"," + "\"version\" : \"0.0.2\","
883 + "\"contexts\" : [{\"name\" : null, \"version\" : \"0.0.1\"}],"
884 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
885 + "\"description\" : \"A description of hello\"" + "}";
886 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
887 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
888 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
890 entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
891 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
892 + "\"description\" : \"A description of hello\"" + "}";
893 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
894 result = target("editor/-12345/Task/Update").request().put(entity, ApexApiResult.class);
895 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
896 result = target("editor/1234545/Task/Update").request().put(entity, ApexApiResult.class);
897 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
898 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
899 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
902 target("editor/" + corruptSessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
903 } catch (final Exception e) {
904 assertEquals("HTTP 500 Request failed.", e.getMessage());
907 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
908 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
909 + "\"description\" : \"A description of hello\"" + "}";
910 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
911 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
912 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
914 entityString = "{" + "\"name\" : \"NonExistantEvent\"," + "\"version\" : \"0.0.2\","
915 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
916 + "\"description\" : \"A description of hello\"" + "}";
917 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
918 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
919 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
921 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", "Hello")
922 .queryParam("version", (String) null).request().get(ApexApiResult.class);
923 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
924 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", (String) null)
925 .queryParam("version", (String) null).request().get(ApexApiResult.class);
926 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
927 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", "IDontExist")
928 .queryParam("version", (String) null).request().get(ApexApiResult.class);
929 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
930 result = target("editor/-123345/Task/Get").queryParam("name", (String) null)
931 .queryParam("version", (String) null).request().get(ApexApiResult.class);
932 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
933 result = target("editor/123345/Task/Get").queryParam("name", (String) null).queryParam("version", (String) null)
934 .request().get(ApexApiResult.class);
935 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
938 target("editor/" + corruptSessionId + "/Task/Get").queryParam("name", "Hello")
939 .queryParam("version", (String) null).request().get(ApexApiResult.class);
940 } catch (final Exception e) {
941 assertEquals("HTTP 500 Request failed.", e.getMessage());
944 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
945 .queryParam("version", (String) null).request().get(ApexApiResult.class);
946 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
947 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
948 .queryParam("version", (String) null).request().get(ApexApiResult.class);
949 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
950 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
951 .queryParam("version", (String) null).request().get(ApexApiResult.class);
952 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
955 target("editor/" + corruptSessionId + "/Task/Delete").queryParam("name", (String) null)
956 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
957 } catch (final Exception e) {
958 assertEquals("HTTP 500 Request failed.", e.getMessage());
961 result = target("editor/-123345/Task/Delete").queryParam("name", (String) null)
962 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
963 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
964 result = target("editor/123345/Task/Delete").queryParam("name", (String) null)
965 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
966 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
967 result = target("editor/" + sessionId + "/Task/Delete").queryParam("name", "Hello")
968 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
969 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
970 result = target("editor/" + sessionId + "/Task/Delete").queryParam("name", (String) null)
971 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
972 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
976 public void testPolicy() throws IOException {
977 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
979 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
980 assertEquals(Result.SUCCESS, result.getResult());
981 final int sessionId = Integer.valueOf(result.getMessages().get(0));
983 result = target("editor/-12345/Model/Validate").request().get(ApexApiResult.class);
984 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
986 result = target("editor/" + sessionId + "/Model/Validate").request().get(ApexApiResult.class);
987 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
990 target("editor/" + corruptSessionId + "/Model/Validate").request().get(ApexApiResult.class);
991 } catch (final Exception e) {
992 assertEquals("HTTP 500 Request failed.", e.getMessage());
995 result = target("editor/" + sessionId + "/Model/Validate").queryParam("name", (String) null)
996 .queryParam("version", (String) null).request().get(ApexApiResult.class);
997 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
999 result = target("editor/" + sessionId + "/Model/Validate").queryParam("name", "%%%$£")
1000 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1001 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1003 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
1005 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
1006 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
1007 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1008 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
1009 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1010 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
1011 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1012 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
1013 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
1014 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1015 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
1016 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
1017 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1018 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
1019 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1020 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1022 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
1023 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1024 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1025 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1026 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1028 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1029 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1030 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1031 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1032 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1033 + "\"description\" : \"A description of hello\"" + "}";
1034 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1035 result = target("editor/-12345/Policy/Create").request().post(entity, ApexApiResult.class);
1036 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1037 result = target("editor/1234545/Policy/Create").request().post(entity, ApexApiResult.class);
1038 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1039 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1040 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1041 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1042 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
1045 target("editor/" + corruptSessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1046 } catch (final Exception e) {
1047 assertEquals("HTTP 500 Request failed.", e.getMessage());
1050 entityString = "{" + "\"name\" : \"GoodTaSeeYa\"," + "\"version\" : \"0.0.2\","
1051 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1052 + "\"states\" : null," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1053 + "\"description\" : \"A description of hello\"" + "}";
1054 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1055 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1056 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1058 entityString = "{" + "\"name\" : \"HelloAnother\"," + "\"version\" : \"0.0.2\","
1059 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1060 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1061 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1062 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1064 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1065 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1066 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1067 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1068 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1069 + "\"description\" : \"A description of hello\"" + "}";
1070 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1071 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1072 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1074 entityString = "{" + "\"name\" : \"Hello2\"," + "\"version\" : \"0.0.2\","
1075 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1076 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1077 + " \"trigger\" : null,"
1078 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1080 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1081 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1082 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1083 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1084 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1085 + "\"description\" : \"A description of hello\"" + "}";
1086 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1087 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1088 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1090 entityString = "{" + "\"name\" : \"Hello3\"," + "\"version\" : \"0.0.2\","
1091 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1092 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1093 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1094 + " \"defaultTask\" : null," + " \"stateOutputs\" : {" + " \"so0\" : {"
1095 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1096 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1097 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1098 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1099 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1100 + "\"description\" : \"A description of hello\"" + "}";
1101 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1102 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1103 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1105 entityString = "{" + "\"name\" : \"Hello4\"," + "\"version\" : \"0.0.2\","
1106 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1107 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1108 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1109 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1110 + " \"stateOutputs\" : null," + " \"tasks\" : {" + " \"tr0\" : {"
1111 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1112 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1113 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1114 + "\"description\" : \"A description of hello\"" + "}";
1115 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1116 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1117 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1119 entityString = "{" + "\"name\" : \"Hello5\"," + "\"version\" : \"0.0.2\","
1120 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1121 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1122 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1123 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1125 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1126 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : null" + " }" + "},"
1127 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1128 + "\"description\" : \"A description of hello\"" + "}";
1129 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1130 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1131 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1133 entityString = "{" + "\"name\" : \"Hello6\"," + "\"version\" : \"0.0.2\","
1134 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1135 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1136 + " \"trigger\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1137 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1139 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1140 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1141 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1142 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1143 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1144 + "\"description\" : \"A description of hello\"" + "}";
1145 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1146 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1147 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1149 entityString = "{" + "\"name\" : \"Hello7\"," + "\"version\" : \"0.0.2\","
1150 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1151 + "\"states\" : {" + " \"state\" : null" + "},"
1152 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1153 + "\"description\" : \"A description of hello\"" + "}";
1154 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1155 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1156 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1158 entityString = "{" + "\"name\" : \"Hello8\"," + "\"version\" : \"0.0.2\","
1159 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1160 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1161 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1162 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1164 + " \"event\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1165 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1166 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1167 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1168 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1169 + "\"description\" : \"A description of hello\"" + "}";
1170 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1171 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1172 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1174 entityString = "{" + "\"name\" : \"Hello9\"," + "\"version\" : \"0.0.2\","
1175 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1176 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1177 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1178 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1179 + " \"so0\" : {" + " \"event\" : null," + " \"nextState\" : null" + " }"
1180 + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1181 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1182 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1183 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1184 + "\"description\" : \"A description of hello\"" + "}";
1185 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1186 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1187 System.err.println(result);
1188 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1190 entityString = "{" + "\"name\" : \"Hello10\"," + "\"version\" : \"0.0.2\","
1191 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1192 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1193 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1194 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1196 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1197 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1199 + " \"task\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1200 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1201 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1202 + "\"description\" : \"A description of hello\"" + "}";
1203 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1204 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1205 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1207 entityString = "{" + "\"name\" : \"Hello11\"," + "\"version\" : \"0.0.2\","
1208 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1209 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1210 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1211 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1213 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1214 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1215 + " \"tr0\" : {" + " \"task\" : null," + " \"outputType\" : \"DIRECT\","
1216 + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1217 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1218 + "\"description\" : \"A description of hello\"" + "}";
1219 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1220 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1221 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1223 entityString = "{" + "\"name\" : \"Hello12\"," + "\"version\" : \"0.0.2\","
1224 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1225 + "\"states\" : {" + " \"state\" : {"
1226 + " \"name\" : \"state\","
1227 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1228 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1229 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1230 + "lots of lime\"}," + " \"stateOutputs\" : {" + " \"so0\" : {"
1231 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1232 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1234 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1235 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1236 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1237 + "\"description\" : \"A description of hello\"" + "}";
1238 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1239 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1240 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1242 entityString = "{" + "\"name\" : \"Hello13\"," + "\"version\" : \"0.0.2\","
1243 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1244 + "\"states\" : {" + " \"state\" : {"
1245 + " \"name\" : \"state\","
1246 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1247 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1248 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null},"
1249 + " \"stateOutputs\" : {" + " \"so0\" : {"
1250 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1251 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1253 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1254 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1255 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1256 + "\"description\" : \"A description of hello\"" + "}";
1257 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1258 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1259 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1261 entityString = "{" + "\"name\" : \"Hello14\"," + "\"version\" : \"0.0.2\","
1262 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1263 + "\"states\" : {" + " \"state\" : {"
1264 + " \"name\" : \"state\","
1265 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1266 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1267 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1268 + "lots of lime\"},"
1269 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1270 + " \"stateOutputs\" : {" + " \"so0\" : {"
1271 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1272 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1274 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1275 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1276 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1277 + "\"description\" : \"A description of hello\"" + "}";
1278 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1279 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1280 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1282 entityString = "{" + "\"name\" : \"Hello15\"," + "\"version\" : \"0.0.2\","
1283 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1284 + "\"states\" : {" + " \"state\" : {"
1285 + " \"name\" : \"state\","
1286 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1287 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1288 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1289 + "lots of lime\"},"
1290 + " \"contexts\" : [{\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"}],"
1291 + " \"stateOutputs\" : {" + " \"so0\" : {"
1292 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1293 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1295 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1296 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1297 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1298 + "\"description\" : \"A description of hello\"" + "}";
1299 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1300 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1301 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1303 entityString = "{" + "\"name\" : \"Hello16\"," + "\"version\" : \"0.0.2\","
1304 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1305 + "\"states\" : {" + " \"state\" : {"
1306 + " \"name\" : \"state\","
1307 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1308 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1309 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1310 + "lots of lime\"}," + " \"contexts\" : [null]," + " \"stateOutputs\" : {"
1312 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1313 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1315 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1316 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }"
1317 + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1318 + "\"description\" : \"A description of hello\"" + "}";
1319 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1320 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1321 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1323 entityString = "{" + "\"name\" : \"Hello17\"," + "\"version\" : \"0.0.2\","
1324 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1325 + "\"states\" : {" + " \"state\" : {"
1326 + " \"name\" : \"state\","
1327 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1328 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1329 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1330 + "lots of lime\"},"
1331 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1332 + " \"stateOutputs\" : {" + " \"so0\" : {"
1333 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1334 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1336 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1337 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1338 + " \"finalizers\" : {"
1339 + " \"sf0\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1340 + "lots of lime\"}" + " }" + " }" + "},"
1341 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1342 + "\"description\" : \"A description of hello\"" + "}";
1343 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1344 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1345 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1347 entityString = "{" + "\"name\" : \"Hello18\"," + "\"version\" : \"0.0.2\","
1348 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1349 + "\"states\" : {" + " \"state\" : {"
1350 + " \"name\" : \"state\","
1351 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1352 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1353 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1354 + "lots of lime\"},"
1355 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1356 + " \"stateOutputs\" : {" + " \"so0\" : {"
1357 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1358 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1360 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1361 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1362 + " \"finalizers\" : {" + " \"sf0\" : null" + " }" + " }" + "},"
1363 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1364 + "\"description\" : \"A description of hello\"" + "}";
1365 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1366 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1367 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1369 entityString = "{" + "\"name\" : \"Hello19\"," + "\"version\" : \"0.0.2\","
1370 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1371 + "\"states\" : {" + " \"state\" : {"
1372 + " \"name\" : \"state\","
1373 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1374 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1375 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1376 + "lots of lime\"},"
1377 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1378 + " \"stateOutputs\" : {" + " \"so0\" : {"
1379 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1380 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1382 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1383 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1384 + " \"finalizers\" : {"
1385 + " \"sf0\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null}" + " }" + " }"
1386 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1387 + "\"description\" : \"A description of hello\"" + "}";
1388 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1389 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1390 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1392 entityString = "{" + "\"name\" : \"HelloAnother\"," + "\"version\" : \"0.0.2\","
1393 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1394 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1395 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1396 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1398 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1399 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1400 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1401 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1402 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1403 + "\"description\" : \"A better description of hello\"" + "}";
1404 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1405 result = target("editor/-12345/Policy/Update").request().put(entity, ApexApiResult.class);
1406 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1407 result = target("editor/1234545/Policy/Update").request().put(entity, ApexApiResult.class);
1408 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1409 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1410 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1412 result = target("editor/" + sessionId + "/Policy/Update").queryParam("firstStatePeriodic", "true").request()
1413 .put(entity, ApexApiResult.class);
1414 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1417 target("editor/" + corruptSessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1418 } catch (final Exception e) {
1419 assertEquals("HTTP 500 Request failed.", e.getMessage());
1422 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
1423 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1424 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1425 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1426 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1428 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1429 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1430 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1431 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1432 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1433 + "\"description\" : \"A better description of hello\"" + "}";
1434 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1435 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1436 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1438 entityString = "{" + "\"name\" : \"IDontExist\"," + "\"version\" : \"0.0.2\","
1439 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1440 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1441 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1442 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1444 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1445 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1446 + " \"tr0\" : {" + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1447 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1448 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1449 + "\"description\" : \"A better description of hello\"" + "}";
1450 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1451 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1452 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1454 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", "Hello")
1455 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1456 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1457 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", "IDontExist")
1458 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1459 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1460 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", (String) null)
1461 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1462 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1463 result = target("editor/-123345/Policy/Get").queryParam("name", (String) null)
1464 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1465 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1466 result = target("editor/123345/Policy/Get").queryParam("name", (String) null)
1467 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1468 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1471 target("editor/" + corruptSessionId + "/Policy/Get").queryParam("name", "Hello")
1472 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1473 } catch (final Exception e) {
1474 assertEquals("HTTP 500 Request failed.", e.getMessage());
1477 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
1478 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1479 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1480 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
1481 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1482 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1483 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
1484 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1485 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1488 target("editor/" + corruptSessionId + "/Policy/Delete").queryParam("name", (String) null)
1489 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1490 } catch (final Exception e) {
1491 assertEquals("HTTP 500 Request failed.", e.getMessage());
1494 result = target("editor/-123345/Policy/Delete").queryParam("name", (String) null)
1495 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1496 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1497 result = target("editor/123345/Policy/Delete").queryParam("name", (String) null)
1498 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1499 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1500 result = target("editor/" + sessionId + "/Policy/Delete").queryParam("name", "Hello")
1501 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
1502 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1503 result = target("editor/" + sessionId + "/Policy/Delete").queryParam("name", (String) null)
1504 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1505 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());