2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2021 AT&T Intellectual Property. All rights reserved.
6 * Modifications Copyright (C) 2024 Nordix Foundation.
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
22 package org.onap.policy.drools.server.restful.test;
24 import static org.junit.jupiter.api.Assertions.assertEquals;
26 import java.io.IOException;
27 import java.nio.file.Files;
28 import java.nio.file.Path;
29 import java.nio.file.Paths;
30 import java.util.Properties;
31 import org.apache.http.HttpEntity;
32 import org.apache.http.auth.AuthScope;
33 import org.apache.http.auth.UsernamePasswordCredentials;
34 import org.apache.http.client.CredentialsProvider;
35 import org.apache.http.client.methods.CloseableHttpResponse;
36 import org.apache.http.client.methods.HttpDelete;
37 import org.apache.http.client.methods.HttpGet;
38 import org.apache.http.client.methods.HttpPost;
39 import org.apache.http.client.methods.HttpPut;
40 import org.apache.http.client.methods.HttpRequestBase;
41 import org.apache.http.entity.ContentType;
42 import org.apache.http.entity.StringEntity;
43 import org.apache.http.impl.client.BasicCredentialsProvider;
44 import org.apache.http.impl.client.CloseableHttpClient;
45 import org.apache.http.impl.client.HttpClientBuilder;
46 import org.apache.http.util.EntityUtils;
47 import org.junit.jupiter.api.AfterAll;
48 import org.junit.jupiter.api.BeforeAll;
49 import org.junit.jupiter.api.MethodOrderer;
50 import org.junit.jupiter.api.Test;
51 import org.junit.jupiter.api.TestMethodOrder;
52 import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
53 import org.onap.policy.common.endpoints.http.server.YamlJacksonHandler;
54 import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
55 import org.onap.policy.common.gson.JacksonHandler;
56 import org.onap.policy.common.utils.network.NetworkUtil;
57 import org.onap.policy.drools.persistence.SystemPersistenceConstants;
58 import org.onap.policy.drools.system.PolicyControllerConstants;
59 import org.onap.policy.drools.system.PolicyEngineConstants;
60 import org.slf4j.Logger;
61 import org.slf4j.LoggerFactory;
63 @TestMethodOrder(MethodOrderer.DisplayName.class)
64 public class RestManagerTest {
65 private static final int DEFAULT_TELEMETRY_PORT = 7887;
66 private static final String HOST = "localhost";
67 private static final String REST_MANAGER_PATH = "/policy/pdp";
68 private static final String HOST_URL = "http://" + HOST + ":" + DEFAULT_TELEMETRY_PORT + REST_MANAGER_PATH;
69 private static final String TELEMETRY_USER = "x";
70 private static final String TELEMETRY_PASSWORD = "y";
71 private static final String FOO_CONTROLLER = "foo";
73 private static final String UEB_TOPIC = "ueb-topic-test";
74 private static final String KAFKA_TOPIC = "kafka-topic-test";
75 private static final String NOOP_TOPIC = "noop_topic";
77 private static final String UEB_SOURCE_SERVER_PROPERTY = PolicyEndPointProperties.PROPERTY_UEB_SOURCE_TOPICS + "."
78 + UEB_TOPIC + PolicyEndPointProperties.PROPERTY_TOPIC_SERVERS_SUFFIX;
79 private static final String UEB_SINK_SERVER_PROPERTY = PolicyEndPointProperties.PROPERTY_UEB_SINK_TOPICS + "."
80 + UEB_TOPIC + PolicyEndPointProperties.PROPERTY_TOPIC_SERVERS_SUFFIX;
81 private static final String KAFKA_SOURCE_SERVER_PROPERTY = PolicyEndPointProperties.PROPERTY_KAFKA_SOURCE_TOPICS
82 + "." + KAFKA_TOPIC + PolicyEndPointProperties.PROPERTY_TOPIC_SERVERS_SUFFIX;
83 private static final String KAFKA_SINK_SERVER_PROPERTY = PolicyEndPointProperties.PROPERTY_KAFKA_SINK_TOPICS + "."
84 + KAFKA_TOPIC + PolicyEndPointProperties.PROPERTY_TOPIC_SERVERS_SUFFIX;
85 private static final String UEB_SERVER = "localhost";
86 private static final String KAFKA_SERVER = "localhost:9092";
88 private static final String FOO_CONTROLLER_FILE = FOO_CONTROLLER + "-controller.properties";
89 private static final String FOO_CONTROLLER_FILE_BAK = FOO_CONTROLLER_FILE + ".bak";
90 private static final String PDP_CONFIGURATION_JSON =
91 "src/test/resources/org/onap/policy/drools/server/restful/PdpConfiguration.json";
93 private static CloseableHttpClient client;
95 private static final Logger logger = LoggerFactory.getLogger(RestManagerTest.class);
100 * @throws IOException throws an IO exception
103 public static void setUp() throws IOException, InterruptedException {
104 cleanUpWorkingDirs();
106 SystemPersistenceConstants.getManager().setConfigurationDir(null);
108 /* override default port */
109 final Properties engineProps = PolicyEngineConstants.getManager().defaultTelemetryConfig();
110 engineProps.put(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES + "."
111 + PolicyEngineConstants.TELEMETRY_SERVER_DEFAULT_NAME
112 + PolicyEndPointProperties.PROPERTY_HTTP_PORT_SUFFIX, "" + DEFAULT_TELEMETRY_PORT);
113 engineProps.put(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES + "."
114 + PolicyEngineConstants.TELEMETRY_SERVER_DEFAULT_NAME
115 + PolicyEndPointProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX,
117 engineProps.put(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES + "."
118 + PolicyEngineConstants.TELEMETRY_SERVER_DEFAULT_NAME
119 + PolicyEndPointProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX,
121 engineProps.put(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES + "."
122 + PolicyEngineConstants.TELEMETRY_SERVER_DEFAULT_NAME
123 + PolicyEndPointProperties.PROPERTY_HTTP_SERIALIZATION_PROVIDER,
124 String.join(",", JacksonHandler.class.getName(), YamlJacksonHandler.class.getName()));
126 /* other properties */
127 engineProps.put(PolicyEndPointProperties.PROPERTY_UEB_SOURCE_TOPICS, UEB_TOPIC);
128 engineProps.put(PolicyEndPointProperties.PROPERTY_UEB_SINK_TOPICS, UEB_TOPIC);
129 engineProps.put(PolicyEndPointProperties.PROPERTY_KAFKA_SOURCE_TOPICS, KAFKA_TOPIC);
130 engineProps.put(PolicyEndPointProperties.PROPERTY_KAFKA_SINK_TOPICS, KAFKA_TOPIC);
131 engineProps.put(UEB_SOURCE_SERVER_PROPERTY, UEB_SERVER);
132 engineProps.put(UEB_SINK_SERVER_PROPERTY, UEB_SERVER);
133 engineProps.put(KAFKA_SOURCE_SERVER_PROPERTY, KAFKA_SERVER);
134 engineProps.put(KAFKA_SINK_SERVER_PROPERTY, KAFKA_SERVER);
136 PolicyEngineConstants.getManager().configure(engineProps);
137 PolicyEngineConstants.getManager().start();
139 Properties controllerProps = new Properties();
140 PolicyEngineConstants.getManager().createPolicyController(FOO_CONTROLLER, controllerProps);
142 // client = HttpClients.createDefault();
143 CredentialsProvider provider = new BasicCredentialsProvider();
144 UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(TELEMETRY_USER, TELEMETRY_PASSWORD);
145 provider.setCredentials(AuthScope.ANY, credentials);
147 client = HttpClientBuilder.create().setDefaultCredentialsProvider(provider).build();
149 if (!NetworkUtil.isTcpPortOpen("localhost", DEFAULT_TELEMETRY_PORT, 5, 10000L)) {
150 throw new IllegalStateException("cannot connect to port " + DEFAULT_TELEMETRY_PORT);
153 Properties noopProperties = new Properties();
154 noopProperties.put(PolicyEndPointProperties.PROPERTY_NOOP_SOURCE_TOPICS, NOOP_TOPIC);
155 noopProperties.put(PolicyEndPointProperties.PROPERTY_NOOP_SINK_TOPICS, NOOP_TOPIC);
156 TopicEndpointManager.getManager().addTopics(noopProperties);
162 * @throws IOException IO exception
165 public static void tearDown() throws IOException {
168 } catch (IOException ex) {
169 logger.warn("cannot close HTTP client connection", ex);
172 /* Shutdown managed resources */
173 PolicyControllerConstants.getFactory().shutdown();
174 TopicEndpointManager.getManager().shutdown();
175 PolicyEngineConstants.getManager().stop();
176 cleanUpWorkingDirs();
181 void testPutDelete() throws IOException {
182 putTest(HOST_URL + "/engine/switches/lock", 406);
183 deleteTest(HOST_URL + "/engine/switches/lock", 406);
185 putDeleteEngineControllers();
187 putTest(HOST_URL + "/engine/switches/lock", 200);
188 deleteTest(HOST_URL + "/engine/switches/lock", 200);
190 putDeleteTopicsSources();
191 putDeleteTopicSwitches();
193 putTest(HOST_URL + "/engine/tools/loggers/ROOT/debug", 200);
194 putTest(HOST_URL + "/engine/environment/XX", 200, "WARN", ContentType.DEFAULT_TEXT);
195 deleteTest(HOST_URL + "/engine/switches/activation", 200);
196 putTest(HOST_URL + "/engine/switches/activation", 200);
199 private void putDeleteTopicSwitches() throws IOException {
200 putDeleteSwitch("/engine/topics/sources/ueb/", UEB_TOPIC, "lock");
201 putDeleteSwitch("/engine/topics/sources/kafka/", KAFKA_TOPIC, "lock");
202 putDeleteSwitch("/engine/topics/sources/noop/", NOOP_TOPIC, "lock");
203 putDeleteSwitch("/engine/topics/sinks/ueb/", UEB_TOPIC, "lock");
204 putDeleteSwitch("/engine/topics/sinks/kafka/", KAFKA_TOPIC, "lock");
205 putDeleteSwitch("/engine/topics/sinks/noop/", NOOP_TOPIC, "lock");
207 putDeleteSwitch("/engine/topics/sources/ueb/", UEB_TOPIC, "activation");
208 putDeleteSwitch("/engine/topics/sources/kafka/", KAFKA_TOPIC, "activation");
209 putDeleteSwitch("/engine/topics/sources/noop/", NOOP_TOPIC, "activation");
210 putDeleteSwitch("/engine/topics/sinks/ueb/", UEB_TOPIC, "activation");
211 putDeleteSwitch("/engine/topics/sinks/kafka/", KAFKA_TOPIC, "activation");
212 putDeleteSwitch("/engine/topics/sinks/noop/", NOOP_TOPIC, "activation");
214 putSwitch("/engine/topics/sources/ueb/", UEB_TOPIC, "activation");
215 putSwitch("/engine/topics/sources/kafka/", KAFKA_TOPIC, "activation");
216 putSwitch("/engine/topics/sources/noop/", NOOP_TOPIC, "activation");
217 putSwitch("/engine/topics/sinks/ueb/", UEB_TOPIC, "activation");
218 putSwitch("/engine/topics/sinks/kafka/", KAFKA_TOPIC, "activation");
219 putSwitch("/engine/topics/sinks/noop/", NOOP_TOPIC, "activation");
222 private void putDeleteTopicsSources() throws IOException {
223 putTest(HOST_URL + "/engine/topics/sources/ueb/" + UEB_TOPIC + "/events", 200,
224 "{x:y}", ContentType.TEXT_PLAIN);
225 putTest(HOST_URL + "/engine/topics/sources/noop/" + NOOP_TOPIC + "/events", 200,
226 "{x:y}", ContentType.TEXT_PLAIN);
227 putTest(HOST_URL + "/engine/topics/sources/kafka/" + KAFKA_TOPIC + "/events", 200,
228 "FOOOO", ContentType.TEXT_PLAIN);
229 putTest(HOST_URL + "/engine/topics/sources/ueb/fiznits/events", 406, "FOOOO", ContentType.TEXT_PLAIN);
230 putTest(HOST_URL + "/engine/topics/sources/kafka/fiznits/events", 406,
231 "FOOOO", ContentType.TEXT_PLAIN);
232 putTest(HOST_URL + "/engine/topics/switches/lock", 200);
233 putTest(HOST_URL + "/engine/topics/sources/ueb/" + UEB_TOPIC + "/events",
234 406, "FOOOO", ContentType.TEXT_PLAIN);
235 putTest(HOST_URL + "/engine/topics/sources/kafka/" + KAFKA_TOPIC + "/events",
236 406, "FOOOO", ContentType.TEXT_PLAIN);
237 deleteTest(HOST_URL + "/engine/topics/switches/lock", 200);
240 private void putDeleteEngineControllers() throws IOException {
241 deleteTest(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts/session/factType", 200);
242 deleteTest(HOST_URL + "/engine/controllers/controllerName/drools/facts/session/factType", 404);
243 deleteTest(HOST_URL + "/engine/controllers/", 405);
244 deleteTest(HOST_URL + "/engine/controllers/" + null, 400);
245 putTest(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/switches/lock", 406);
246 deleteTest(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER, 200);
249 private void postTest(String uri, int statusCode, String payload, ContentType contentType) throws IOException {
250 HttpPost post = new HttpPost(uri);
251 if (contentType != null) {
252 post.setEntity(new StringEntity(payload, contentType));
254 requestTest(post, statusCode);
257 private void putTest(String uri, int statusCode) throws IOException {
258 requestTest(new HttpPut(uri), statusCode);
261 private void putTest(String uri, int statusCode, String payload, ContentType contentType) throws IOException {
262 HttpPut put = new HttpPut(uri);
263 if (contentType != null) {
264 put.setEntity(new StringEntity(payload, contentType));
266 requestTest(put, statusCode);
269 private void deleteTest(String uri, int statusCode) throws IOException {
270 requestTest(new HttpDelete(uri), statusCode);
273 private void requestTest(HttpRequestBase request, int statusCode) throws IOException {
274 CloseableHttpResponse resp = client.execute(request);
275 logger.info(request.getRequestLine() + "response code: {}", resp.getStatusLine().getStatusCode());
276 assertEquals(statusCode, resp.getStatusLine().getStatusCode());
277 request.releaseConnection();
280 private void putDeleteSwitch(String urlPrefix, String topic, String control) throws IOException {
281 putSwitch(urlPrefix, topic, control);
282 deleteSwitch(urlPrefix, topic, control);
285 private void deleteSwitch(String urlPrefix, String topic, String control) throws IOException {
286 deleteTest(HOST_URL + urlPrefix + topic + "/switches/" + control, 200);
289 private void putSwitch(String urlPrefix, String topic, String control) throws IOException {
290 putTest(HOST_URL + urlPrefix + topic + "/switches/" + control, 200);
294 void testPost() throws IOException {
295 postTest(HOST_URL + "/engine/inputs/configuration", 406,
296 Files.readString(Paths.get(PDP_CONFIGURATION_JSON)),
297 ContentType.APPLICATION_JSON);
299 postTest(HOST_URL + "/engine/controllers", 400,
301 ContentType.APPLICATION_JSON);
303 postTest(HOST_URL + "/engine/controllers", 304,
304 "{controller.name : foo}",
305 ContentType.APPLICATION_JSON);
307 postTest(HOST_URL + "/engine/controllers", 206,
308 "{controller.name : new}",
309 ContentType.APPLICATION_JSON);
311 deleteTest(HOST_URL + "/engine/controllers/new", 200);
313 postTest(HOST_URL + "/engine/controllers/foo/drools/facts/session1/query1/entity1", 200,
314 "[{f:v}]", ContentType.APPLICATION_JSON);
316 postTest(HOST_URL + "/engine/controllers/new/drools/facts/session1/query1/entity1", 404,
317 "[{f:v}]", ContentType.APPLICATION_JSON);
321 void testGetSwagger() throws IOException {
323 CloseableHttpResponse response;
324 httpGet = new HttpGet(HOST_URL + "/engine/swagger");
325 response = client.execute(httpGet);
326 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
327 assertEquals(200, response.getStatusLine().getStatusCode());
328 httpGet.releaseConnection();
332 void testGet() throws IOException {
334 CloseableHttpResponse response;
337 * GET: /engine /engine/features /engine/features/inventory /engine/features/featurename
338 * /engine/inputs /engine/properties /engine/environment /engine/switches
339 * /engine/controllers
341 httpGet = new HttpGet(HOST_URL + "/engine");
342 response = client.execute(httpGet);
343 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
344 assertEquals(200, response.getStatusLine().getStatusCode());
345 httpGet.releaseConnection();
347 httpGet = new HttpGet(HOST_URL + "/engine/features");
348 response = client.execute(httpGet);
349 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
350 assertEquals(200, response.getStatusLine().getStatusCode());
351 httpGet.releaseConnection();
353 httpGet = new HttpGet(HOST_URL + "/engine/features/inventory");
354 response = client.execute(httpGet);
355 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
356 assertEquals(200, response.getStatusLine().getStatusCode());
357 httpGet.releaseConnection();
359 httpGet = new HttpGet(HOST_URL + "/engine/features/foobar");
360 response = client.execute(httpGet);
361 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
362 assertEquals(404, response.getStatusLine().getStatusCode());
363 httpGet.releaseConnection();
365 httpGet = new HttpGet(HOST_URL + "/engine/inputs");
366 response = client.execute(httpGet);
367 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
368 assertEquals(200, response.getStatusLine().getStatusCode());
369 httpGet.releaseConnection();
371 httpGet = new HttpGet(HOST_URL + "/engine/properties");
372 response = client.execute(httpGet);
373 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
374 assertEquals(200, response.getStatusLine().getStatusCode());
375 httpGet.releaseConnection();
377 httpGet = new HttpGet(HOST_URL + "/engine/environment");
378 response = client.execute(httpGet);
379 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
380 assertEquals(200, response.getStatusLine().getStatusCode());
381 httpGet.releaseConnection();
383 PolicyEngineConstants.getManager().setEnvironmentProperty("foo", "bar");
384 httpGet = new HttpGet(HOST_URL + "/engine/environment/foo");
385 response = client.execute(httpGet);
386 String responseBody = this.getResponseBody(response);
387 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
388 logger.info(httpGet.getRequestLine() + " response body: {}", responseBody);
389 assertEquals(200, response.getStatusLine().getStatusCode());
390 assertEquals("bar", responseBody);
391 httpGet.releaseConnection();
393 httpGet = new HttpGet(HOST_URL + "/engine/switches");
394 response = client.execute(httpGet);
395 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
396 assertEquals(200, response.getStatusLine().getStatusCode());
397 httpGet.releaseConnection();
399 httpGet = new HttpGet(HOST_URL + "/engine/controllers");
400 response = client.execute(httpGet);
401 responseBody = this.getResponseBody(response);
402 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
403 logger.info(httpGet.getRequestLine() + " response body: {}", responseBody);
404 assertEquals(200, response.getStatusLine().getStatusCode());
405 assertEquals("[\"" + FOO_CONTROLLER + "\"]", responseBody);
406 httpGet.releaseConnection();
409 * GET: /engine/controllers/inventory /engine/controllers/features
410 * /engine/controllers/features/inventory /engine/controllers/features/featureName
411 * /engine/controllers/controllerName
414 httpGet = new HttpGet(HOST_URL + "/engine/controllers/inventory");
415 response = client.execute(httpGet);
416 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
417 assertEquals(200, response.getStatusLine().getStatusCode());
418 httpGet.releaseConnection();
420 httpGet = new HttpGet(HOST_URL + "/engine/controllers/features");
421 response = client.execute(httpGet);
422 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
423 assertEquals(200, response.getStatusLine().getStatusCode());
424 httpGet.releaseConnection();
426 httpGet = new HttpGet(HOST_URL + "/engine/controllers/features/inventory");
427 response = client.execute(httpGet);
428 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
429 assertEquals(200, response.getStatusLine().getStatusCode());
430 httpGet.releaseConnection();
432 httpGet = new HttpGet(HOST_URL + "/engine/controllers/features/dummy");
433 response = client.execute(httpGet);
434 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
435 assertEquals(404, response.getStatusLine().getStatusCode());
436 httpGet.releaseConnection();
438 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER);
439 response = client.execute(httpGet);
440 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
441 assertEquals(200, response.getStatusLine().getStatusCode());
442 httpGet.releaseConnection();
444 httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller");
445 response = client.execute(httpGet);
446 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
447 assertEquals(404, response.getStatusLine().getStatusCode());
448 httpGet.releaseConnection();
451 * GET: /engine/controllers/controllerName/properties
452 * /engine/controllers/controllerName/inputs /engine/controllers/controllerName/switches
453 * /engine/controllers/controllerName/drools
455 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/properties");
456 response = client.execute(httpGet);
457 responseBody = this.getResponseBody(response);
458 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
459 logger.info(httpGet.getRequestLine() + " response code: {}", responseBody);
460 assertEquals(200, response.getStatusLine().getStatusCode());
461 assertEquals("{}", responseBody);
462 httpGet.releaseConnection();
464 httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller/properties");
465 response = client.execute(httpGet);
466 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
467 assertEquals(404, response.getStatusLine().getStatusCode());
468 httpGet.releaseConnection();
470 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/inputs");
471 response = client.execute(httpGet);
472 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
473 assertEquals(200, response.getStatusLine().getStatusCode());
474 httpGet.releaseConnection();
476 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/switches");
477 response = client.execute(httpGet);
478 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
479 assertEquals(200, response.getStatusLine().getStatusCode());
480 httpGet.releaseConnection();
482 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools");
483 response = client.execute(httpGet);
484 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
485 assertEquals(200, response.getStatusLine().getStatusCode());
486 httpGet.releaseConnection();
488 httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller/drools");
489 response = client.execute(httpGet);
490 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
491 assertEquals(404, response.getStatusLine().getStatusCode());
492 httpGet.releaseConnection();
495 * GET: /engine/controllers/controllerName/drools/facts
496 * /engine/controllers/controllerName/drools/facts/session
497 * /engine/controllers/controllerName/drools/facts/session/factType
498 * /engine/controllers/controllerName/drools/facts/session/query/queriedEntity
501 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts");
502 response = client.execute(httpGet);
503 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
504 assertEquals(200, response.getStatusLine().getStatusCode());
505 httpGet.releaseConnection();
507 httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller/drools/facts");
508 response = client.execute(httpGet);
509 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
510 assertEquals(404, response.getStatusLine().getStatusCode());
511 httpGet.releaseConnection();
513 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts/session");
514 response = client.execute(httpGet);
515 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
516 assertEquals(200, response.getStatusLine().getStatusCode());
517 httpGet.releaseConnection();
519 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts/session/factType");
520 response = client.execute(httpGet);
521 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
522 assertEquals(200, response.getStatusLine().getStatusCode());
523 httpGet.releaseConnection();
525 httpGet = new HttpGet(
526 HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts/session/query/queriedEntity");
527 response = client.execute(httpGet);
528 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
529 assertEquals(200, response.getStatusLine().getStatusCode());
530 httpGet.releaseConnection();
532 httpGet = new HttpGet(HOST_URL + "/engine/controllers/dummy" + "/drools/facts/session/query/queriedEntity");
533 response = client.execute(httpGet);
534 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
535 assertEquals(404, response.getStatusLine().getStatusCode());
536 httpGet.releaseConnection();
540 * GET: /engine/controllers/controllerName/decoders
541 * /engine/controllers/controllerName/decoders/filters
542 * /engine/controllers/controllerName/decoders/topic
543 * /engine/controllers/controllerName/decoders/topic/filters
544 * /engine/controllers/controllerName/decoders/topic/filters/factType
545 * /engine/controllers/controllerName/decoders/topic/filters/factType/rules
546 * /engine/controllers/controllerName/decoders/topic/filtes/factType/rules/ruleName
547 * /engine/controllers/controllerName/encoders
549 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders");
550 response = client.execute(httpGet);
551 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
552 assertEquals(200, response.getStatusLine().getStatusCode());
553 httpGet.releaseConnection();
555 httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller/decoders");
556 response = client.execute(httpGet);
557 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
558 assertEquals(404, response.getStatusLine().getStatusCode());
559 httpGet.releaseConnection();
561 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/filters");
562 response = client.execute(httpGet);
563 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
564 assertEquals(200, response.getStatusLine().getStatusCode());
565 httpGet.releaseConnection();
567 httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller/decoders/filters");
568 response = client.execute(httpGet);
569 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
570 assertEquals(404, response.getStatusLine().getStatusCode());
571 httpGet.releaseConnection();
573 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/topic");
574 response = client.execute(httpGet);
575 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
576 assertEquals(404, response.getStatusLine().getStatusCode());
577 httpGet.releaseConnection();
579 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/topic/filters");
580 response = client.execute(httpGet);
581 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
582 assertEquals(404, response.getStatusLine().getStatusCode());
583 httpGet.releaseConnection();
585 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/topic/filters/factType");
586 response = client.execute(httpGet);
587 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
588 assertEquals(404, response.getStatusLine().getStatusCode());
589 httpGet.releaseConnection();
591 httpGet = new HttpGet(
592 HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/topic/filters/factType/rules");
593 response = client.execute(httpGet);
594 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
595 assertEquals(404, response.getStatusLine().getStatusCode());
596 httpGet.releaseConnection();
598 httpGet = new HttpGet(
599 HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/topic/filters/factType/rules/ruleName");
600 response = client.execute(httpGet);
601 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
602 assertEquals(404, response.getStatusLine().getStatusCode());
603 httpGet.releaseConnection();
605 httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/encoders");
606 response = client.execute(httpGet);
607 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
608 assertEquals(200, response.getStatusLine().getStatusCode());
609 httpGet.releaseConnection();
612 * GET: /engine/topics /engine/topics/switches /engine/topics/sources /engine/topics/sinks
613 * /engine/topics/sinks/ueb /engine/topics/sources/ueb /engine/topics/sinks/kafka
614 * /engine/topics/sources/kafka /engine/topics/sinks/ueb/topic
615 * /engine/topics/sources/ueb/topic /engine/topics/sinks/kafka/topic
616 * /engine/topics/sources/kafka/topic /engine/topics/sinks/ueb/topic/events
617 * /engine/topics/sources/ueb/topic/events /engine/topics/sinks/kafka/topic/events
618 * /engine/topics/sources/kafka/topic/events /engine/topics/sources/ueb/topic/switches
619 * /engine/topics/sources/kafka/topic/switches
621 httpGet = new HttpGet(HOST_URL + "/engine/topics");
622 response = client.execute(httpGet);
623 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
624 assertEquals(200, response.getStatusLine().getStatusCode());
625 httpGet.releaseConnection();
627 httpGet = new HttpGet(HOST_URL + "/engine/topics/switches");
628 response = client.execute(httpGet);
629 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
630 assertEquals(200, response.getStatusLine().getStatusCode());
631 httpGet.releaseConnection();
633 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources");
634 response = client.execute(httpGet);
635 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
636 assertEquals(200, response.getStatusLine().getStatusCode());
637 httpGet.releaseConnection();
639 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks");
640 response = client.execute(httpGet);
641 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
642 assertEquals(200, response.getStatusLine().getStatusCode());
643 httpGet.releaseConnection();
645 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/ueb");
646 response = client.execute(httpGet);
647 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
648 assertEquals(200, response.getStatusLine().getStatusCode());
649 httpGet.releaseConnection();
651 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/ueb");
652 response = client.execute(httpGet);
653 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
654 assertEquals(200, response.getStatusLine().getStatusCode());
655 httpGet.releaseConnection();
657 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/kafka");
658 response = client.execute(httpGet);
659 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
660 assertEquals(200, response.getStatusLine().getStatusCode());
661 httpGet.releaseConnection();
663 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/kafka");
664 response = client.execute(httpGet);
665 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
666 assertEquals(200, response.getStatusLine().getStatusCode());
667 httpGet.releaseConnection();
669 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/noop");
670 response = client.execute(httpGet);
671 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
672 assertEquals(200, response.getStatusLine().getStatusCode());
673 httpGet.releaseConnection();
675 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/noop");
676 response = client.execute(httpGet);
677 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
678 assertEquals(200, response.getStatusLine().getStatusCode());
679 httpGet.releaseConnection();
681 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/ueb/" + UEB_TOPIC);
682 response = client.execute(httpGet);
683 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
684 assertEquals(200, response.getStatusLine().getStatusCode());
685 httpGet.releaseConnection();
687 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/ueb/foobar");
688 response = client.execute(httpGet);
689 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
690 assertEquals(500, response.getStatusLine().getStatusCode());
691 httpGet.releaseConnection();
693 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/ueb/" + UEB_TOPIC);
694 response = client.execute(httpGet);
695 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
696 assertEquals(200, response.getStatusLine().getStatusCode());
697 httpGet.releaseConnection();
699 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/ueb/foobar");
700 response = client.execute(httpGet);
701 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
702 assertEquals(500, response.getStatusLine().getStatusCode());
703 httpGet.releaseConnection();
705 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/kafka/" + KAFKA_TOPIC);
706 response = client.execute(httpGet);
707 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
708 assertEquals(200, response.getStatusLine().getStatusCode());
709 httpGet.releaseConnection();
711 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/kafka/foobar");
712 response = client.execute(httpGet);
713 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
714 assertEquals(500, response.getStatusLine().getStatusCode());
715 httpGet.releaseConnection();
717 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/kafka/" + KAFKA_TOPIC);
718 response = client.execute(httpGet);
719 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
720 assertEquals(200, response.getStatusLine().getStatusCode());
721 httpGet.releaseConnection();
723 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/kafka/foobar");
724 response = client.execute(httpGet);
725 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
726 assertEquals(500, response.getStatusLine().getStatusCode());
727 httpGet.releaseConnection();
729 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/noop/" + NOOP_TOPIC);
730 response = client.execute(httpGet);
731 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
732 assertEquals(200, response.getStatusLine().getStatusCode());
733 httpGet.releaseConnection();
735 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/noop/foobar");
736 response = client.execute(httpGet);
737 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
738 assertEquals(500, response.getStatusLine().getStatusCode());
739 httpGet.releaseConnection();
741 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/noop/" + NOOP_TOPIC);
742 response = client.execute(httpGet);
743 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
744 assertEquals(200, response.getStatusLine().getStatusCode());
745 httpGet.releaseConnection();
747 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/noop/foobar");
748 response = client.execute(httpGet);
749 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
750 assertEquals(500, response.getStatusLine().getStatusCode());
751 httpGet.releaseConnection();
753 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/ueb/" + UEB_TOPIC + "/events");
754 response = client.execute(httpGet);
755 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
756 assertEquals(200, response.getStatusLine().getStatusCode());
757 httpGet.releaseConnection();
759 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/ueb/foobar/events");
760 response = client.execute(httpGet);
761 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
762 assertEquals(500, response.getStatusLine().getStatusCode());
763 httpGet.releaseConnection();
765 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/ueb/" + UEB_TOPIC + "/events");
766 response = client.execute(httpGet);
767 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
768 assertEquals(200, response.getStatusLine().getStatusCode());
769 httpGet.releaseConnection();
771 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/ueb/foobar/events");
772 response = client.execute(httpGet);
773 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
774 assertEquals(500, response.getStatusLine().getStatusCode());
775 httpGet.releaseConnection();
777 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/kafka/" + KAFKA_TOPIC + "/events");
778 response = client.execute(httpGet);
779 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
780 assertEquals(200, response.getStatusLine().getStatusCode());
781 httpGet.releaseConnection();
783 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/kafka/foobar/events");
784 response = client.execute(httpGet);
785 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
786 assertEquals(500, response.getStatusLine().getStatusCode());
787 httpGet.releaseConnection();
789 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/kafka/" + KAFKA_TOPIC + "/events");
790 response = client.execute(httpGet);
791 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
792 assertEquals(200, response.getStatusLine().getStatusCode());
793 httpGet.releaseConnection();
795 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/kafka/foobar/events");
796 response = client.execute(httpGet);
797 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
798 assertEquals(500, response.getStatusLine().getStatusCode());
799 httpGet.releaseConnection();
801 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/noop/" + NOOP_TOPIC + "/events");
802 response = client.execute(httpGet);
803 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
804 assertEquals(200, response.getStatusLine().getStatusCode());
805 httpGet.releaseConnection();
807 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/noop/foobar/events");
808 response = client.execute(httpGet);
809 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
810 assertEquals(500, response.getStatusLine().getStatusCode());
811 httpGet.releaseConnection();
813 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/noop/" + NOOP_TOPIC + "/events");
814 response = client.execute(httpGet);
815 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
816 assertEquals(200, response.getStatusLine().getStatusCode());
817 httpGet.releaseConnection();
819 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/noop/foobar/events");
820 response = client.execute(httpGet);
821 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
822 assertEquals(500, response.getStatusLine().getStatusCode());
823 httpGet.releaseConnection();
825 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/ueb/" + UEB_TOPIC + "/switches");
826 response = client.execute(httpGet);
827 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
828 assertEquals(200, response.getStatusLine().getStatusCode());
829 httpGet.releaseConnection();
831 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/kafka/" + KAFKA_TOPIC + "/switches");
832 response = client.execute(httpGet);
833 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
834 assertEquals(200, response.getStatusLine().getStatusCode());
835 httpGet.releaseConnection();
837 httpGet = new HttpGet(HOST_URL + "/engine/topics/sources/noop/" + NOOP_TOPIC + "/switches");
838 response = client.execute(httpGet);
839 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
840 assertEquals(200, response.getStatusLine().getStatusCode());
841 httpGet.releaseConnection();
843 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/ueb/" + UEB_TOPIC + "/switches");
844 response = client.execute(httpGet);
845 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
846 assertEquals(200, response.getStatusLine().getStatusCode());
847 httpGet.releaseConnection();
849 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/kafka/" + KAFKA_TOPIC + "/switches");
850 response = client.execute(httpGet);
851 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
852 assertEquals(200, response.getStatusLine().getStatusCode());
853 httpGet.releaseConnection();
855 httpGet = new HttpGet(HOST_URL + "/engine/topics/sinks/noop/" + NOOP_TOPIC + "/switches");
856 response = client.execute(httpGet);
857 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
858 assertEquals(200, response.getStatusLine().getStatusCode());
859 httpGet.releaseConnection();
862 * GET: /engine/tools/uuid /engine/tools/loggers /engine/tools/loggers/loggerName
864 httpGet = new HttpGet(HOST_URL + "/engine/tools/uuid");
865 response = client.execute(httpGet);
866 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
867 assertEquals(200, response.getStatusLine().getStatusCode());
868 httpGet.releaseConnection();
870 httpGet = new HttpGet(HOST_URL + "/engine/tools/loggers");
871 response = client.execute(httpGet);
872 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
873 assertEquals(200, response.getStatusLine().getStatusCode());
874 httpGet.releaseConnection();
876 httpGet = new HttpGet(HOST_URL + "/engine/tools/loggers/ROOT");
877 response = client.execute(httpGet);
878 logger.info(httpGet.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
879 assertEquals(200, response.getStatusLine().getStatusCode());
880 httpGet.releaseConnection();
886 * @param response incoming response
887 * @return the body or null
889 private String getResponseBody(CloseableHttpResponse response) {
893 entity = response.getEntity();
894 return EntityUtils.toString(entity);
896 } catch (final IOException e) {
897 logger.info(e.toString());
903 private static void cleanUpWorkingDirs() throws IOException {
904 final Path testControllerPath = Paths.get(
905 SystemPersistenceConstants.getManager().getConfigurationPath().toString(), FOO_CONTROLLER_FILE);
906 final Path testControllerBakPath =
907 Paths.get(SystemPersistenceConstants.getManager().getConfigurationPath().toString(),
908 FOO_CONTROLLER_FILE_BAK);
910 Files.deleteIfExists(testControllerPath);
911 Files.deleteIfExists(testControllerBakPath);