2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2016-2018 Ericsson. All rights reserved.
4 * Modifications Copyright (C) 2020 Nordix Foundation.
5 * ================================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 * SPDX-License-Identifier: Apache-2.0
19 * ============LICENSE_END=========================================================
22 package org.onap.policy.gui.editors.apex.rest.handling;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotNull;
27 import java.io.IOException;
28 import javax.ws.rs.client.Entity;
29 import javax.ws.rs.core.Application;
30 import javax.ws.rs.core.MediaType;
31 import org.glassfish.jersey.server.ResourceConfig;
32 import org.glassfish.jersey.test.JerseyTest;
33 import org.junit.Test;
34 import org.onap.policy.apex.model.modelapi.ApexApiResult;
35 import org.onap.policy.apex.model.modelapi.ApexApiResult.Result;
36 import org.onap.policy.common.utils.resources.TextFileUtils;
39 * Test Apex Editor Rest Resource.
41 * @author Liam Fallon (liam.fallon@ericsson.com)
43 public class ApexEditorRestResourceTest extends JerseyTest {
45 protected Application configure() {
46 return new ResourceConfig(ApexEditorRestResource.class);
50 public void testSessionCreate() {
51 ApexApiResult result = target("editor/-2/Session/Create").request().get(ApexApiResult.class);
52 assertEquals(Result.FAILED, result.getResult());
54 result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
55 assertEquals(Result.SUCCESS, result.getResult());
56 final int sessionId = Integer.valueOf(result.getMessages().get(0));
58 result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
59 assertEquals(Result.SUCCESS, result.getResult());
61 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
63 target("editor/" + corruptSessionId + "/Model/Analyse").request().get(ApexApiResult.class);
65 result = target("editor/" + sessionId + "/Model/Analyse").request().get(ApexApiResult.class);
66 assertEquals(Result.SUCCESS, result.getResult());
67 result = target("editor/-12345/Model/Analyse").request().get(ApexApiResult.class);
68 assertEquals(Result.FAILED, result.getResult());
69 result = target("editor/12345/Model/Analyse").request().get(ApexApiResult.class);
70 assertEquals(Result.FAILED, result.getResult());
72 target("editor/" + corruptSessionId + "/Model/Validate").request().get(ApexApiResult.class);
74 result = target("editor/" + sessionId + "/Model/Validate").request().get(ApexApiResult.class);
75 assertEquals(Result.FAILED, result.getResult());
76 result = target("editor/-12345/Model/Validate").request().get(ApexApiResult.class);
77 assertEquals(Result.FAILED, result.getResult());
78 result = target("editor/12345/Model/Validate").request().get(ApexApiResult.class);
79 assertEquals(Result.FAILED, result.getResult());
81 final String modelString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
82 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002699\","
83 + "\"description\" : \"A description of the model\"" + "}";
84 final Entity<String> csEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
85 result = target("editor/-12345/Model/Create").request().post(csEntity, ApexApiResult.class);
86 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
87 result = target("editor/-12345/Model/Create").request().post(csEntity, ApexApiResult.class);
88 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
89 result = target("editor/1234545/Model/Create").request().post(csEntity, ApexApiResult.class);
90 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
91 result = target("editor/" + sessionId + "/Model/Create").request().post(csEntity, ApexApiResult.class);
92 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
94 target("editor/" + corruptSessionId + "/Model/Create").request().post(csEntity, ApexApiResult.class);
96 result = target("editor/-12345/Model/Update").request().put(csEntity, ApexApiResult.class);
97 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
98 result = target("editor/-12345/Model/Update").request().put(csEntity, ApexApiResult.class);
99 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
100 result = target("editor/1234545/Model/Update").request().put(csEntity, ApexApiResult.class);
101 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
102 result = target("editor/" + sessionId + "/Model/Update").request().put(csEntity, ApexApiResult.class);
103 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
105 target("editor/" + corruptSessionId + "/Model/Update").request().put(csEntity, ApexApiResult.class);
107 result = target("editor/" + corruptSessionId + "/Model/GetKey").request().get(ApexApiResult.class);
109 result = target("editor/" + sessionId + "/Model/GetKey").request().get(ApexApiResult.class);
110 assertEquals(Result.SUCCESS, result.getResult());
111 result = target("editor/-12345/Model/GetKey").request().get(ApexApiResult.class);
112 assertEquals(Result.FAILED, result.getResult());
113 result = target("editor/12345/Model/GetKey").request().get(ApexApiResult.class);
114 assertEquals(Result.FAILED, result.getResult());
116 result = target("editor/" + corruptSessionId + "/Model/Get").request().get(ApexApiResult.class);
118 result = target("editor/" + sessionId + "/Model/Get").request().get(ApexApiResult.class);
119 assertEquals(Result.SUCCESS, result.getResult());
120 result = target("editor/-12345/Model/Get").request().get(ApexApiResult.class);
121 assertEquals(Result.FAILED, result.getResult());
122 result = target("editor/12345/Model/Get").request().get(ApexApiResult.class);
123 assertEquals(Result.FAILED, result.getResult());
125 String resultString = target("editor/" + corruptSessionId + "/Model/Download").request().get(String.class);
126 assertEquals("", resultString);
128 resultString = target("editor/" + sessionId + "/Model/Download").request().get(String.class);
129 assertNotNull(resultString);
131 resultString = target("editor/-12345/Model/Download").request().get(String.class);
132 assertEquals("", resultString);
134 resultString = target("editor/12345/Model/Download").request().get(String.class);
135 assertEquals("", resultString);
137 result = target("editor/" + corruptSessionId + "/KeyInformation/Get").request().get(ApexApiResult.class);
139 result = target("editor/" + sessionId + "/KeyInformation/Get").request().get(ApexApiResult.class);
140 assertEquals(Result.SUCCESS, result.getResult());
141 result = target("editor/-12345/KeyInformation/Get").request().get(ApexApiResult.class);
142 assertEquals(Result.FAILED, result.getResult());
143 result = target("editor/12345/KeyInformation/Get").request().get(ApexApiResult.class);
144 assertEquals(Result.FAILED, result.getResult());
146 result = target("editor/" + corruptSessionId + "/Model/Delete").request().delete(ApexApiResult.class);
148 result = target("editor/" + sessionId + "/Model/Delete").request().delete(ApexApiResult.class);
149 assertEquals(Result.SUCCESS, result.getResult());
150 result = target("editor/-12345/Model/Delete").request().delete(ApexApiResult.class);
151 assertEquals(Result.FAILED, result.getResult());
152 result = target("editor/12345/Model/Delete").request().delete(ApexApiResult.class);
153 assertEquals(Result.FAILED, result.getResult());
157 public void testContextSchema() throws IOException {
158 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
159 assertEquals(Result.SUCCESS, result.getResult());
160 final int sessionId = Integer.valueOf(result.getMessages().get(0));
162 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
164 result = target("editor/-12345/Validate/ContextSchema").request().get(ApexApiResult.class);
165 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
167 target("editor/" + corruptSessionId + "/Validate/ContextSchema").request().get(ApexApiResult.class);
169 result = target("editor/" + sessionId + "/Validate/ContextSchema").request().get(ApexApiResult.class);
170 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
172 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", (String) null)
173 .queryParam("version", (String) null).request().get(ApexApiResult.class);
174 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
176 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", "%%%$£")
177 .queryParam("version", (String) null).request().get(ApexApiResult.class);
178 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
180 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
182 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
183 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
184 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
185 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
186 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
187 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
188 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
189 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
190 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
191 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
192 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
193 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
194 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
195 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", (String) null)
196 .queryParam("version", (String) null).request().get(ApexApiResult.class);
197 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
199 target("editor/" + corruptSessionId + "/ContextSchema/Get").queryParam("name", (String) null)
200 .queryParam("version", (String) null).request().get(ApexApiResult.class);
202 String csString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
203 + "\"schemaFlavour\" : \"Java\"," + "\"schemaDefinition\" : \"java.lang.String\","
204 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
205 + "\"description\" : \"A description of hello\"" + "}";
206 Entity<String> csEntity = Entity.entity(csString, MediaType.APPLICATION_JSON);
207 result = target("editor/-12345/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
208 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
209 result = target("editor/1234545/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
210 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
211 result = target("editor/" + sessionId + "/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
212 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
214 target("editor/" + corruptSessionId + "/ContextSchema/Create").request().post(csEntity, ApexApiResult.class);
216 csString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
217 + "\"schemaFlavour\" : \"Java\"," + "\"schemaDefinition\" : \"my.perfect.String\","
218 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
219 + "\"description\" : \"A description of hello\"" + "}";
220 csEntity = Entity.entity(csString, MediaType.APPLICATION_JSON);
221 result = target("editor/-12345/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
222 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
223 result = target("editor/1234545/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
224 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
225 result = target("editor/" + sessionId + "/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
226 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
228 target("editor/" + corruptSessionId + "/ContextSchema/Update").request().put(csEntity, ApexApiResult.class);
230 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", "Hello")
231 .queryParam("version", (String) null).request().get(ApexApiResult.class);
232 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
233 result = target("editor/" + sessionId + "/ContextSchema/Get").queryParam("name", "NonExistant")
234 .queryParam("version", (String) null).request().get(ApexApiResult.class);
235 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
236 result = target("editor/-123345/ContextSchema/Get").queryParam("name", (String) null)
237 .queryParam("version", (String) null).request().get(ApexApiResult.class);
238 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
239 result = target("editor/123345/ContextSchema/Get").queryParam("name", (String) null)
240 .queryParam("version", (String) null).request().get(ApexApiResult.class);
241 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
243 target("editor/" + corruptSessionId + "/ContextSchema/Get").queryParam("name", "Hello")
244 .queryParam("version", (String) null).request().get(ApexApiResult.class);
246 result = target("editor/" + sessionId + "/Validate/ContextSchema").queryParam("name", (String) null)
247 .queryParam("version", (String) null).request().get(ApexApiResult.class);
248 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
250 target("editor/" + corruptSessionId + "/ContextSchema/Delete").queryParam("name", "Hello")
251 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
253 result = target("editor/-123345/ContextSchema/Delete").queryParam("name", (String) null)
254 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
255 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
256 result = target("editor/123345/ContextSchema/Delete").queryParam("name", (String) null)
257 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
258 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
259 result = target("editor/" + sessionId + "/ContextSchema/Delete").queryParam("name", "Hello")
260 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
261 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
262 result = target("editor/" + sessionId + "/ContextSchema/Delete").queryParam("name", (String) null)
263 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
264 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
268 public void testContextAlbum() throws IOException {
269 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
270 assertEquals(Result.SUCCESS, result.getResult());
271 final int sessionId = Integer.valueOf(result.getMessages().get(0));
272 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
274 result = target("editor/-12345/Validate/ContextAlbum").request().get(ApexApiResult.class);
275 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
277 target("editor/" + corruptSessionId + "/Validate/ContextAlbum").request().get(ApexApiResult.class);
279 result = target("editor/" + sessionId + "/Validate/ContextAlbum").request().get(ApexApiResult.class);
280 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
282 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", (String) null)
283 .queryParam("version", (String) null).request().get(ApexApiResult.class);
284 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
286 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", "%%%$£")
287 .queryParam("version", (String) null).request().get(ApexApiResult.class);
288 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
290 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
292 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
293 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
294 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
295 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
296 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
297 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
298 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
299 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
300 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
301 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
302 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
303 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
304 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
305 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", (String) null)
306 .queryParam("version", (String) null).request().get(ApexApiResult.class);
307 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
309 String caString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
310 + "\"scope\" : \"Domain\"," + "\"writeable\" : false,"
311 + "\"itemSchema\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\"},"
312 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
313 + "\"description\" : \"A description of hello\"" + "}";
314 Entity<String> caEntity = Entity.entity(caString, MediaType.APPLICATION_JSON);
315 result = target("editor/-12345/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
316 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
317 result = target("editor/1234545/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
318 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
319 result = target("editor/" + sessionId + "/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
320 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
322 target("editor/" + corruptSessionId + "/ContextAlbum/Create").request().post(caEntity, ApexApiResult.class);
324 caString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
325 + "\"scope\" : \"Global\"," + "\"writeable\" : false,"
326 + "\"itemSchema\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\"},"
327 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
328 + "\"description\" : \"A description of hello\"" + "}";
329 caEntity = Entity.entity(caString, MediaType.APPLICATION_JSON);
330 result = target("editor/-12345/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
331 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
332 result = target("editor/1234545/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
333 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
334 result = target("editor/" + sessionId + "/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
335 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
337 target("editor/" + corruptSessionId + "/ContextAlbum/Update").request().put(caEntity, ApexApiResult.class);
339 target("editor/" + corruptSessionId + "/ContextAlbum/Get").queryParam("name", "Hello")
340 .queryParam("version", (String) null).request().get(ApexApiResult.class);
342 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", "Hello")
343 .queryParam("version", (String) null).request().get(ApexApiResult.class);
344 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
345 result = target("editor/" + sessionId + "/ContextAlbum/Get").queryParam("name", "IDontExist")
346 .queryParam("version", (String) null).request().get(ApexApiResult.class);
347 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
348 result = target("editor/-123345/ContextAlbum/Get").queryParam("name", (String) null)
349 .queryParam("version", (String) null).request().get(ApexApiResult.class);
350 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
351 result = target("editor/123345/ContextAlbum/Get").queryParam("name", (String) null)
352 .queryParam("version", (String) null).request().get(ApexApiResult.class);
353 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
355 result = target("editor/" + sessionId + "/Validate/ContextAlbum").queryParam("name", (String) null)
356 .queryParam("version", (String) null).request().get(ApexApiResult.class);
357 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
359 target("editor/" + corruptSessionId + "/ContextAlbum/Delete").queryParam("name", (String) null)
360 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
362 result = target("editor/-123345/ContextAlbum/Delete").queryParam("name", (String) null)
363 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
364 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
365 result = target("editor/123345/ContextAlbum/Delete").queryParam("name", (String) null)
366 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
367 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
368 result = target("editor/" + sessionId + "/ContextAlbum/Delete").queryParam("name", "Hello")
369 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
370 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
371 result = target("editor/" + sessionId + "/ContextAlbum/Delete").queryParam("name", (String) null)
372 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
373 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
377 public void testEvent() throws IOException {
378 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
380 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
381 assertEquals(Result.SUCCESS, result.getResult());
382 final int sessionId = Integer.valueOf(result.getMessages().get(0));
384 result = target("editor/-12345/Validate/Event").request().get(ApexApiResult.class);
385 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
387 result = target("editor/" + sessionId + "/Validate/Event").request().get(ApexApiResult.class);
388 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
390 target("editor/" + corruptSessionId + "/Validate/Event").request().get(ApexApiResult.class);
392 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
393 .queryParam("version", (String) null).request().get(ApexApiResult.class);
394 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
396 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", "%%%$£")
397 .queryParam("version", (String) null).request().get(ApexApiResult.class);
398 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
400 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
402 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
403 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
404 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
405 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
406 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
407 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
408 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
409 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
410 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
411 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
412 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
413 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
414 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
415 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
416 .queryParam("version", (String) null).request().get(ApexApiResult.class);
417 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
419 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
420 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
421 + "\"target\" : \"end\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
422 + "\"description\" : \"A description of hello\"" + "}";
423 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
424 result = target("editor/-12345/Event/Create").request().post(entity, ApexApiResult.class);
425 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
426 result = target("editor/1234545/Event/Create").request().post(entity, ApexApiResult.class);
427 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
428 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
429 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
430 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
431 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
433 target("editor/" + corruptSessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
435 entityString = "{" + "\"name\" : \"Hiya\"," + "\"version\" : \"0.0.2\","
436 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
437 + "\"target\" : \"end\"," + "\"parameters\" : {},"
438 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
439 + "\"description\" : \"A description of hello\"" + "}";
440 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
441 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
442 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
444 entityString = "{" + "\"name\" : \"HowsItGoing\"," + "\"version\" : \"0.0.2\","
445 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
446 + "\"target\" : \"end\","
447 + "\"parameters\" : {\"Par0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
448 + "\"localName\" : \"Par0\", \"optional\" : false}},"
449 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
450 + "\"description\" : \"A description of hello\"" + "}";
451 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
452 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
453 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
455 entityString = "{" + "\"name\" : \"Hi\"," + "\"version\" : \"0.0.2\","
456 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
457 + "\"target\" : \"end\"," + "\"parameters\" : {\"Par0\" : null},"
458 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
459 + "\"description\" : \"A description of hello\"" + "}";
460 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
461 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
462 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
464 entityString = "{" + "\"name\" : \"GoodDay\"," + "\"version\" : \"0.0.2\","
465 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
466 + "\"target\" : \"end\","
467 + "\"parameters\" : {\"Par0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
468 + "\"localName\" : \"Par0\", \"optional\" : false}},"
469 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
470 + "\"description\" : \"A description of hello\"" + "}";
471 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
472 result = target("editor/" + sessionId + "/Event/Create").request().post(entity, ApexApiResult.class);
473 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
475 entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
476 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\"," + "\"source\" : \"start\","
477 + "\"target\" : \"finish\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
478 + "\"description\" : \"A description of hello\"" + "}";
479 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
480 result = target("editor/-12345/Event/Update").request().put(entity, ApexApiResult.class);
481 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
482 result = target("editor/1234545/Event/Update").request().put(entity, ApexApiResult.class);
483 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
484 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
485 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
487 target("editor/" + corruptSessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
489 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
490 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\"," + "\"source\" : \"start\","
491 + "\"target\" : \"finish\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
492 + "\"description\" : \"A description of hello\"" + "}";
493 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
494 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
495 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
497 entityString = "{" + "\"name\" : \"NonExistantEvent\"," + "\"version\" : \"0.0.2\","
498 + "\"namespace\" : \"somewhere.over.someone.elses.rainbow\"," + "\"source\" : \"start\","
499 + "\"target\" : \"finish\"," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
500 + "\"description\" : \"A description of hello\"" + "}";
501 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
502 result = target("editor/" + sessionId + "/Event/Update").request().put(entity, ApexApiResult.class);
503 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
505 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", "Hello")
506 .queryParam("version", (String) null).request().get(ApexApiResult.class);
507 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
508 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", "IDontExist")
509 .queryParam("version", (String) null).request().get(ApexApiResult.class);
510 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
511 result = target("editor/-123345/Event/Get").queryParam("name", (String) null)
512 .queryParam("version", (String) null).request().get(ApexApiResult.class);
513 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
514 result = target("editor/123345/Event/Get").queryParam("name", (String) null)
515 .queryParam("version", (String) null).request().get(ApexApiResult.class);
516 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
518 target("editor/" + corruptSessionId + "/Event/Get").queryParam("name", "Hello")
519 .queryParam("version", (String) null).request().get(ApexApiResult.class);
521 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
522 .queryParam("version", (String) null).request().get(ApexApiResult.class);
523 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
524 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
525 .queryParam("version", (String) null).request().get(ApexApiResult.class);
526 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
527 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
528 .queryParam("version", (String) null).request().get(ApexApiResult.class);
529 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
531 target("editor/" + corruptSessionId + "/Event/Delete").queryParam("name", (String) null)
532 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
534 result = target("editor/-123345/Event/Delete").queryParam("name", (String) null)
535 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
536 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
537 result = target("editor/123345/Event/Delete").queryParam("name", (String) null)
538 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
539 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
540 result = target("editor/" + sessionId + "/Event/Delete").queryParam("name", "Hello")
541 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
542 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
543 result = target("editor/" + sessionId + "/Event/Delete").queryParam("name", (String) null)
544 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
545 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
549 public void testTask() throws IOException {
550 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
552 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
553 assertEquals(Result.SUCCESS, result.getResult());
554 final int sessionId = Integer.valueOf(result.getMessages().get(0));
556 result = target("editor/-12345/Validate/Task").request().get(ApexApiResult.class);
557 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
559 result = target("editor/" + sessionId + "/Validate/Task").request().get(ApexApiResult.class);
560 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
563 target("editor/" + corruptSessionId + "/Validate/Task").request().get(ApexApiResult.class);
564 } catch (final Exception e) {
565 assertEquals("HTTP 500 Request failed.", e.getMessage());
568 result = target("editor/" + sessionId + "/Validate/Task").queryParam("name", (String) null)
569 .queryParam("version", (String) null).request().get(ApexApiResult.class);
570 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
572 result = target("editor/" + sessionId + "/Validate/Task").queryParam("name", "%%%$£")
573 .queryParam("version", (String) null).request().get(ApexApiResult.class);
574 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
576 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
578 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
579 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
580 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
581 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
582 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
583 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
584 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
585 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
586 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
587 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
588 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
589 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
590 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
591 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
592 .queryParam("version", (String) null).request().get(ApexApiResult.class);
593 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
595 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
596 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
597 + "\"description\" : \"A description of hello\"" + "}";
598 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
599 result = target("editor/-12345/Task/Create").request().post(entity, ApexApiResult.class);
600 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
601 result = target("editor/1234545/Task/Create").request().post(entity, ApexApiResult.class);
602 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
603 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
604 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
605 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
606 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
608 target("editor/" + corruptSessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
610 entityString = "{" + "\"name\" : \"Hiya\"," + "\"version\" : \"0.0.2\","
611 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
612 + "\"description\" : \"A description of hello\"" + "}";
613 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
614 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
615 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
617 entityString = "{" + "\"name\" : \"HowsItGoing\"," + "\"version\" : \"0.0.2\","
618 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
619 + "\"localName\" : \"IField0\", \"optional\" : false}},"
620 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
621 + "\"description\" : \"A description of hello\"" + "}";
622 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
623 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
624 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
626 entityString = "{" + "\"name\" : \"Hi\"," + "\"version\" : \"0.0.2\","
627 + "\"inputFields\" : {\"IField0\" : null},"
628 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
629 + "\"description\" : \"A description of hello\"" + "}";
630 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
631 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
632 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
634 entityString = "{" + "\"name\" : \"GoodDay\"," + "\"version\" : \"0.0.2\","
635 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
636 + "\"localName\" : \"IField0\", \"optional\" : false}},"
637 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
638 + "\"description\" : \"A description of hello\"" + "}";
639 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
640 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
641 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
643 entityString = "{" + "\"name\" : \"Howdy\"," + "\"version\" : \"0.0.2\","
644 + "\"inputFields\" : {\"IField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
645 + "\"localName\" : \"NotIField0\", \"optional\" : false}},"
646 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
647 + "\"description\" : \"A description of hello\"" + "}";
648 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
649 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
650 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
652 entityString = "{" + "\"name\" : \"HowsItGoing2\"," + "\"version\" : \"0.0.2\","
653 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"StringType\", \"version\" : \"0.0.1\", "
654 + "\"localName\" : \"OField0\", \"optional\" : false}},"
655 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
656 + "\"description\" : \"A description of hello\"" + "}";
657 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
658 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
659 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
661 entityString = "{" + "\"name\" : \"Hi2\"," + "\"version\" : \"0.0.2\","
662 + "\"outputFields\" : {\"OField0\" : null},"
663 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
664 + "\"description\" : \"A description of hello\"" + "}";
665 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
666 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
667 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
669 entityString = "{" + "\"name\" : \"GoodDay2\"," + "\"version\" : \"0.0.2\","
670 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\","
671 + " \"localName\" : \"OField0\", \"optional\" : false}},"
672 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
673 + "\"description\" : \"A description of hello\"" + "}";
674 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
675 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
676 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
678 entityString = "{" + "\"name\" : \"Howdy2\"," + "\"version\" : \"0.0.2\","
679 + "\"outputFields\" : {\"OField0\" : {\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\", "
680 + "\"localName\" : \"NotOField0\", \"optional\" : false}},"
681 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
682 + "\"description\" : \"A description of hello\"" + "}";
683 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
684 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
685 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
687 entityString = "{" + "\"name\" : \"HowsItGoing3\"," + "\"version\" : \"0.0.2\","
688 + "\"taskLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons,"
689 + " lots of lime\"}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
690 + "\"description\" : \"A description of hello\"" + "}";
691 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
692 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
693 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
695 entityString = "{" + "\"name\" : \"Hi3\"," + "\"version\" : \"0.0.2\","
696 + "\"taskLogic\" : null," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
697 + "\"description\" : \"A description of hello\"" + "}";
698 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
699 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
700 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
702 entityString = "{" + "\"name\" : \"GoodDay3\"," + "\"version\" : \"0.0.2\","
703 + "\"namespace\" : \"somewhere.over.the.rainbow\"," + "\"source\" : \"beginning\","
704 + "\"target\" : \"end\","
705 + "\"taskLogic\" : {\"logicFlavour\" : \"UNDEFINED\", \"logic\" : \"lots of lemons,"
706 + " lots of lime\"}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
707 + "\"description\" : \"A description of hello\"" + "}";
708 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
709 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
710 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
712 entityString = "{" + "\"name\" : \"Howdy3\"," + "\"version\" : \"0.0.2\","
713 + "\"taskLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null},"
714 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
715 + "\"description\" : \"A description of hello\"" + "}";
716 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
717 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
718 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
720 entityString = "{" + "\"name\" : \"HowsItGoing4\"," + "\"version\" : \"0.0.2\","
721 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"Par0\", "
722 + "\"defaultValue\" : \"Parameter Defaultvalue\"}},"
723 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
724 + "\"description\" : \"A description of hello\"" + "}";
725 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
726 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
727 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
729 entityString = "{" + "\"name\" : \"Hi4\"," + "\"version\" : \"0.0.2\","
730 + "\"parameters\" : {\"Par0\" : null},"
731 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
732 + "\"description\" : \"A description of hello\"" + "}";
733 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
734 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
735 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
737 entityString = "{" + "\"name\" : \"GoodDay4\"," + "\"version\" : \"0.0.2\","
738 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"NotPar0\", \"defaultValue\" : "
739 + "\"Parameter Defaultvalue\"}}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
740 + "\"description\" : \"A description of hello\"" + "}";
741 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
742 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
743 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
745 entityString = "{" + "\"name\" : \"Howdy4\"," + "\"version\" : \"0.0.2\","
746 + "\"parameters\" : {\"Par0\" : {\"parameterName\" : \"MyParameter\", \"defaultValue\" : null}},"
747 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
748 + "\"description\" : \"A description of hello\"" + "}";
749 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
750 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
751 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
753 entityString = "{" + "\"name\" : \"HowsItGoing5\"," + "\"version\" : \"0.0.2\","
754 + "\"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
755 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
756 + "\"description\" : \"A description of hello\"" + "}";
757 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
758 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
759 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
761 entityString = "{" + "\"name\" : \"Hi5\"," + "\"version\" : \"0.0.2\","
762 + "\"contexts\" : []," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
763 + "\"description\" : \"A description of hello\"" + "}";
764 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
765 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
766 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
768 entityString = "{" + "\"name\" : \"GoodDay5\"," + "\"version\" : \"0.0.2\","
769 + "\"contexts\" : [{\"name\" : \"NonExistantType\", \"version\" : \"0.0.1\"}],"
770 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002799\","
771 + "\"description\" : \"A description of hello\"" + "}";
772 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
773 result = target("editor/" + sessionId + "/Task/Create").request().post(entity, ApexApiResult.class);
774 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
776 entityString = "{" + "\"name\" : \"Howdy5\"," + "\"version\" : \"0.0.2\","
777 + "\"contexts\" : [{\"name\" : null, \"version\" : \"0.0.1\"}],"
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.FAILED, result.getResult());
784 entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
785 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
786 + "\"description\" : \"A description of hello\"" + "}";
787 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
788 result = target("editor/-12345/Task/Update").request().put(entity, ApexApiResult.class);
789 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
790 result = target("editor/1234545/Task/Update").request().put(entity, ApexApiResult.class);
791 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
792 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
793 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
795 target("editor/" + corruptSessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
797 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
798 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
799 + "\"description\" : \"A description of hello\"" + "}";
800 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
801 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
802 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
804 entityString = "{" + "\"name\" : \"NonExistantEvent\"," + "\"version\" : \"0.0.2\","
805 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
806 + "\"description\" : \"A description of hello\"" + "}";
807 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
808 result = target("editor/" + sessionId + "/Task/Update").request().put(entity, ApexApiResult.class);
809 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
811 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", "Hello")
812 .queryParam("version", (String) null).request().get(ApexApiResult.class);
813 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
814 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", (String) null)
815 .queryParam("version", (String) null).request().get(ApexApiResult.class);
816 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
817 result = target("editor/" + sessionId + "/Task/Get").queryParam("name", "IDontExist")
818 .queryParam("version", (String) null).request().get(ApexApiResult.class);
819 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
820 result = target("editor/-123345/Task/Get").queryParam("name", (String) null)
821 .queryParam("version", (String) null).request().get(ApexApiResult.class);
822 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
823 result = target("editor/123345/Task/Get").queryParam("name", (String) null).queryParam("version", (String) null)
824 .request().get(ApexApiResult.class);
825 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
827 target("editor/" + corruptSessionId + "/Task/Get").queryParam("name", "Hello")
828 .queryParam("version", (String) null).request().get(ApexApiResult.class);
830 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
831 .queryParam("version", (String) null).request().get(ApexApiResult.class);
832 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
833 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
834 .queryParam("version", (String) null).request().get(ApexApiResult.class);
835 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
836 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
837 .queryParam("version", (String) null).request().get(ApexApiResult.class);
838 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
840 target("editor/" + corruptSessionId + "/Task/Delete").queryParam("name", (String) null)
841 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
843 result = target("editor/-123345/Task/Delete").queryParam("name", (String) null)
844 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
845 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
846 result = target("editor/123345/Task/Delete").queryParam("name", (String) null)
847 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
848 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
849 result = target("editor/" + sessionId + "/Task/Delete").queryParam("name", "Hello")
850 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
851 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
852 result = target("editor/" + sessionId + "/Task/Delete").queryParam("name", (String) null)
853 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
854 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
858 public void testPolicy() throws IOException {
859 final int corruptSessionId = ApexEditorRestResource.createCorruptSession();
861 ApexApiResult result = target("editor/-1/Session/Create").request().get(ApexApiResult.class);
862 assertEquals(Result.SUCCESS, result.getResult());
863 final int sessionId = Integer.valueOf(result.getMessages().get(0));
865 result = target("editor/-12345/Model/Validate").request().get(ApexApiResult.class);
866 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
868 result = target("editor/" + sessionId + "/Model/Validate").request().get(ApexApiResult.class);
869 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
871 target("editor/" + corruptSessionId + "/Model/Validate").request().get(ApexApiResult.class);
872 result = target("editor/" + sessionId + "/Model/Validate").queryParam("name", (String) null)
873 .queryParam("version", (String) null).request().get(ApexApiResult.class);
874 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
876 result = target("editor/" + sessionId + "/Model/Validate").queryParam("name", "%%%$£")
877 .queryParam("version", (String) null).request().get(ApexApiResult.class);
878 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
880 final String modelString = TextFileUtils.getTextFileAsString("src/test/resources/models/PolicyModel.json");
882 Entity<String> modelEntity = Entity.entity("Somewhere over the rainbow", MediaType.APPLICATION_JSON);
883 result = target("editor/" + -12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
884 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
885 result = target("editor/" + 12345 + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
886 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
887 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
888 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
889 modelEntity = Entity.entity("", MediaType.APPLICATION_JSON);
890 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
891 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
892 modelEntity = Entity.entity(modelString, MediaType.APPLICATION_JSON);
893 result = target("editor/" + sessionId + "/Model/Load").request().put(modelEntity, ApexApiResult.class);
894 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
895 result = target("editor/" + sessionId + "/Event/Get").queryParam("name", (String) null)
896 .queryParam("version", (String) null).request().get(ApexApiResult.class);
897 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
899 String entityString = "{" + "\"name\" : \"Hello\"," + "\"version\" : \"0.0.2\","
900 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
901 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
902 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
903 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
904 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
905 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
906 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
907 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
908 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
909 + "\"description\" : \"A description of hello\"" + "}";
910 Entity<String> entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
911 result = target("editor/-12345/Policy/Create").request().post(entity, ApexApiResult.class);
912 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
913 result = target("editor/1234545/Policy/Create").request().post(entity, ApexApiResult.class);
914 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
915 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
916 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
917 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
918 assertEquals(ApexApiResult.Result.CONCEPT_EXISTS, result.getResult());
920 target("editor/" + corruptSessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
922 entityString = "{" + "\"name\" : \"GoodTaSeeYa\"," + "\"version\" : \"0.0.2\","
923 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
924 + "\"states\" : null," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
925 + "\"description\" : \"A description of hello\"" + "}";
926 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
927 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
928 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
930 entityString = "{" + "\"name\" : \"HelloAnother\"," + "\"version\" : \"0.0.2\","
931 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
932 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
933 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
934 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
935 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
936 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
937 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
938 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
939 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
940 + "\"description\" : \"A description of hello\"" + "}";
941 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
942 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
943 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
945 entityString = "{" + "\"name\" : \"Hello2\"," + "\"version\" : \"0.0.2\","
946 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
947 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
948 + " \"trigger\" : null," + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
949 + " \"stateOutputs\" : {" + " \"so0\" : {"
950 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
951 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
952 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
953 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
954 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
955 + "\"description\" : \"A description of hello\"" + "}";
956 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
957 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
958 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
960 entityString = "{" + "\"name\" : \"Hello3\"," + "\"version\" : \"0.0.2\","
961 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
962 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
963 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
964 + " \"defaultTask\" : null," + " \"stateOutputs\" : {" + " \"so0\" : {"
965 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
966 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
967 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
968 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
969 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
970 + "\"description\" : \"A description of hello\"" + "}";
971 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
972 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
973 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
975 entityString = "{" + "\"name\" : \"Hello4\"," + "\"version\" : \"0.0.2\","
976 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
977 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
978 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
979 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : null,"
980 + " \"tasks\" : {" + " \"tr0\" : {"
981 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
982 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
983 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
984 + "\"description\" : \"A description of hello\"" + "}";
985 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
986 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
987 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
989 entityString = "{" + "\"name\" : \"Hello5\"," + "\"version\" : \"0.0.2\","
990 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
991 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
992 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
993 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
994 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
995 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : null" + " }" + "},"
996 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
997 + "\"description\" : \"A description of hello\"" + "}";
998 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
999 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1000 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1002 entityString = "{" + "\"name\" : \"Hello6\"," + "\"version\" : \"0.0.2\","
1003 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1004 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1005 + " \"trigger\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1006 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1007 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1008 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1009 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1010 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1011 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1012 + "\"description\" : \"A description of hello\"" + "}";
1013 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1014 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1015 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1017 entityString = "{" + "\"name\" : \"Hello7\"," + "\"version\" : \"0.0.2\","
1018 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1019 + "\"states\" : {" + " \"state\" : null" + "},"
1020 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1021 + "\"description\" : \"A description of hello\"" + "}";
1022 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1023 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1024 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1026 entityString = "{" + "\"name\" : \"Hello8\"," + "\"version\" : \"0.0.2\","
1027 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1028 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1029 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1030 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1032 + " \"event\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1033 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1034 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1035 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1036 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1037 + "\"description\" : \"A description of hello\"" + "}";
1038 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1039 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1040 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1042 entityString = "{" + "\"name\" : \"Hello9\"," + "\"version\" : \"0.0.2\","
1043 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1044 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1045 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1046 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1047 + " \"so0\" : {" + " \"event\" : null," + " \"nextState\" : null" + " }"
1048 + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1049 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1050 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1051 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1052 + "\"description\" : \"A description of hello\"" + "}";
1053 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1054 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1055 System.err.println(result);
1056 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1058 entityString = "{" + "\"name\" : \"Hello10\"," + "\"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\" : {"
1063 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1064 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1065 + " \"task\" : {\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"},"
1066 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1067 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1068 + "\"description\" : \"A description of hello\"" + "}";
1069 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1070 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1071 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1073 entityString = "{" + "\"name\" : \"Hello11\"," + "\"version\" : \"0.0.2\","
1074 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1075 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1076 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1077 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1078 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1079 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1080 + " \"task\" : null," + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\""
1081 + " }" + " }" + " }" + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1082 + "\"description\" : \"A description of hello\"" + "}";
1083 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1084 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1085 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1087 entityString = "{" + "\"name\" : \"Hello12\"," + "\"version\" : \"0.0.2\","
1088 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1089 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1090 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1091 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1092 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1093 + "lots of lime\"}," + " \"stateOutputs\" : {" + " \"so0\" : {"
1094 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1095 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1097 + " \"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.SUCCESS, result.getResult());
1105 entityString = "{" + "\"name\" : \"Hello13\"," + "\"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 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null},"
1111 + " \"stateOutputs\" : {" + " \"so0\" : {"
1112 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1113 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1115 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1116 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }"
1117 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1118 + "\"description\" : \"A description of hello\"" + "}";
1119 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1120 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1121 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1123 entityString = "{" + "\"name\" : \"Hello14\"," + "\"version\" : \"0.0.2\","
1124 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1125 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1126 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1127 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1128 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1129 + "lots of lime\"},"
1130 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1131 + " \"stateOutputs\" : {" + " \"so0\" : {"
1132 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1133 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1135 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1136 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }"
1137 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1138 + "\"description\" : \"A description of hello\"" + "}";
1139 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1140 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1141 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1143 entityString = "{" + "\"name\" : \"Hello15\"," + "\"version\" : \"0.0.2\","
1144 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1145 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1146 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1147 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1148 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1149 + "lots of lime\"}," + " \"contexts\" : [{\"name\" : \"IDontExist\", \"version\" : \"0.0.1\"}],"
1150 + " \"stateOutputs\" : {" + " \"so0\" : {"
1151 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1152 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1154 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1155 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }"
1156 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1157 + "\"description\" : \"A description of hello\"" + "}";
1158 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1159 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1160 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1162 entityString = "{" + "\"name\" : \"Hello16\"," + "\"version\" : \"0.0.2\","
1163 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1164 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1165 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1166 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1167 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1168 + "lots of lime\"}," + " \"contexts\" : [null]," + " \"stateOutputs\" : {"
1170 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1171 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1173 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1174 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }"
1175 + "}," + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1176 + "\"description\" : \"A description of hello\"" + "}";
1177 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1178 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1179 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1181 entityString = "{" + "\"name\" : \"Hello17\"," + "\"version\" : \"0.0.2\","
1182 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1183 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1184 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1185 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1186 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1187 + "lots of lime\"},"
1188 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1189 + " \"stateOutputs\" : {" + " \"so0\" : {"
1190 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1191 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1193 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1194 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1195 + " \"finalizers\" : {"
1196 + " \"sf0\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1197 + "lots of lime\"}" + " }" + " }" + "},"
1198 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1199 + "\"description\" : \"A description of hello\"" + "}";
1200 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1201 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1202 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1204 entityString = "{" + "\"name\" : \"Hello18\"," + "\"version\" : \"0.0.2\","
1205 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1206 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1207 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1208 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1209 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1210 + "lots of lime\"},"
1211 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1212 + " \"stateOutputs\" : {" + " \"so0\" : {"
1213 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1214 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1216 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1217 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1218 + " \"finalizers\" : {" + " \"sf0\" : null" + " }" + " }" + "},"
1219 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1220 + "\"description\" : \"A description of hello\"" + "}";
1221 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1222 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1223 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1225 entityString = "{" + "\"name\" : \"Hello19\"," + "\"version\" : \"0.0.2\","
1226 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1227 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1228 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1229 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1230 + " \"taskSelectionLogic\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : \"lots of lemons, "
1231 + "lots of lime\"},"
1232 + " \"contexts\" : [{\"name\" : \"contextAlbum0\", \"version\" : \"0.0.1\"}],"
1233 + " \"stateOutputs\" : {" + " \"so0\" : {"
1234 + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1235 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {"
1237 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1238 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " },"
1239 + " \"finalizers\" : {"
1240 + " \"sf0\" : {\"logicFlavour\" : \"LemonAndLime\", \"logic\" : null}" + " }" + " }" + "},"
1241 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1242 + "\"description\" : \"A description of hello\"" + "}";
1243 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1244 result = target("editor/" + sessionId + "/Policy/Create").request().post(entity, ApexApiResult.class);
1245 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1247 entityString = "{" + "\"name\" : \"HelloAnother\"," + "\"version\" : \"0.0.2\","
1248 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1249 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1250 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1251 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1252 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1253 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1254 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1255 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1256 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1257 + "\"description\" : \"A better description of hello\"" + "}";
1258 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1259 result = target("editor/-12345/Policy/Update").request().put(entity, ApexApiResult.class);
1260 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1261 result = target("editor/1234545/Policy/Update").request().put(entity, ApexApiResult.class);
1262 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1263 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1264 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1266 result = target("editor/" + sessionId + "/Policy/Update").queryParam("firstStatePeriodic", "true").request()
1267 .put(entity, ApexApiResult.class);
1268 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1270 target("editor/" + corruptSessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1272 entityString = "{" + "\"name\" : null," + "\"version\" : \"0.0.2\","
1273 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1274 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1275 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1276 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1277 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1278 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1279 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1280 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1281 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1282 + "\"description\" : \"A better description of hello\"" + "}";
1283 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1284 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1285 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1287 entityString = "{" + "\"name\" : \"IDontExist\"," + "\"version\" : \"0.0.2\","
1288 + "\"template\" : \"somewhere.over.the.rainbow\"," + "\"firstState\" : \"state\","
1289 + "\"states\" : {" + " \"state\" : {" + " \"name\" : \"state\","
1290 + " \"trigger\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1291 + " \"defaultTask\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"}," + " \"stateOutputs\" : {"
1292 + " \"so0\" : {" + " \"event\" : {\"name\" : \"inEvent\", \"version\" : \"0.0.1\"},"
1293 + " \"nextState\" : null" + " }" + " }," + " \"tasks\" : {" + " \"tr0\" : {"
1294 + " \"task\" : {\"name\" : \"task\", \"version\" : \"0.0.1\"},"
1295 + " \"outputType\" : \"DIRECT\"," + " \"outputName\" : \"so0\"" + " }" + " }" + " }" + "},"
1296 + "\"uuid\" : \"1fa2e430-f2b2-11e6-bc64-92361f002671\","
1297 + "\"description\" : \"A better description of hello\"" + "}";
1298 entity = Entity.entity(entityString, MediaType.APPLICATION_JSON);
1299 result = target("editor/" + sessionId + "/Policy/Update").request().put(entity, ApexApiResult.class);
1300 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1302 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", "Hello")
1303 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1304 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1305 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", "IDontExist")
1306 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1307 assertEquals(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST, result.getResult());
1308 result = target("editor/" + sessionId + "/Policy/Get").queryParam("name", (String) null)
1309 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1310 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1311 result = target("editor/-123345/Policy/Get").queryParam("name", (String) null)
1312 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1313 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1314 result = target("editor/123345/Policy/Get").queryParam("name", (String) null)
1315 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1316 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1318 target("editor/" + corruptSessionId + "/Policy/Get").queryParam("name", "Hello")
1319 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1321 result = target("editor/" + sessionId + "/Validate/Event").queryParam("name", (String) null)
1322 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1323 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1324 result = target("editor/-12345/Validate/Event").queryParam("name", (String) null)
1325 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1326 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1327 result = target("editor/12345/Validate/Event").queryParam("name", (String) null)
1328 .queryParam("version", (String) null).request().get(ApexApiResult.class);
1329 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1331 target("editor/" + corruptSessionId + "/Policy/Delete").queryParam("name", (String) null)
1332 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1334 result = target("editor/-123345/Policy/Delete").queryParam("name", (String) null)
1335 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1336 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1337 result = target("editor/123345/Policy/Delete").queryParam("name", (String) null)
1338 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1339 assertEquals(ApexApiResult.Result.FAILED, result.getResult());
1340 result = target("editor/" + sessionId + "/Policy/Delete").queryParam("name", "Hello")
1341 .queryParam("version", "0.0.2").request().delete(ApexApiResult.class);
1342 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());
1343 result = target("editor/" + sessionId + "/Policy/Delete").queryParam("name", (String) null)
1344 .queryParam("version", (String) null).request().delete(ApexApiResult.class);
1345 assertEquals(ApexApiResult.Result.SUCCESS, result.getResult());