APEX standalone support for ToscaPolicy format
[policy/apex-pdp.git] / services / services-engine / src / test / java / org / onap / policy / apex / service / engine / parameters / SyncParameterTests.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
4  *  Modifications Copyright (C) 2019-2020 Nordix Foundation.
5  *  Modifications Copyright (C) 2020 Bell Canada. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * SPDX-License-Identifier: Apache-2.0
20  * ============LICENSE_END=========================================================
21  */
22
23 package org.onap.policy.apex.service.engine.parameters;
24
25 import static org.assertj.core.api.Assertions.assertThatThrownBy;
26 import static org.junit.Assert.assertEquals;
27 import static org.junit.Assert.assertTrue;
28
29 import java.util.Arrays;
30 import org.junit.Test;
31 import org.onap.policy.apex.service.engine.main.ApexCommandLineArguments;
32 import org.onap.policy.apex.service.engine.parameters.dummyclasses.SuperDooperCarrierTechnologyParameters;
33 import org.onap.policy.apex.service.engine.parameters.dummyclasses.SuperTokenDelimitedEventProtocolParameters;
34 import org.onap.policy.apex.service.parameters.ApexParameterHandler;
35 import org.onap.policy.apex.service.parameters.ApexParameters;
36 import org.onap.policy.apex.service.parameters.carriertechnology.CarrierTechnologyParameters;
37 import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode;
38 import org.onap.policy.apex.service.parameters.eventprotocol.EventProtocolParameters;
39 import org.onap.policy.common.parameters.ParameterException;
40
41 /**
42  * Test for an empty parameter file.
43  *
44  * @author Liam Fallon (liam.fallon@ericsson.com)
45  */
46 public class SyncParameterTests {
47     @Test
48     public void testSyncBadNoSyncWithPeer() throws ParameterException {
49         final String[] args = {"-p", "src/test/resources/parameters/syncBadParamsNoSyncWithPeer.json"};
50         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
51
52         assertThatThrownBy(() -> new ApexParameterHandler().getParameters(arguments))
53             .hasMessage("validation error(s) on parameters from "
54                 + "\"src/test/resources/parameters/syncBadParamsNoSyncWithPeer.json\"\n"
55                 + "parameter group \"APEX_PARAMETERS\" type "
56                 + "\"org.onap.policy.apex.service.parameters.ApexParameters\" INVALID, "
57                 + "parameter group has status INVALID\n"
58                 + "  parameter group map \"eventOutputParameters\" INVALID, "
59                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncProducer0\" type "
60                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
61                 + ", specified peered mode \"SYNCHRONOUS\" "
62                 + "peer is illegal on eventOutputParameters \"SyncProducer0\" \n");
63     }
64
65     @Test
66     public void testSyncBadNotSyncWithPeer() throws ParameterException {
67         final String[] args = {"-p", "src/test/resources/parameters/syncBadParamsNotSyncWithPeer.json"};
68         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
69
70         assertThatThrownBy(() -> new ApexParameterHandler().getParameters(arguments))
71             .hasMessage("validation error(s) on parameters from "
72                 + "\"src/test/resources/parameters/syncBadParamsNotSyncWithPeer.json\"\n"
73                 + "parameter group \"APEX_PARAMETERS\" type "
74                 + "\"org.onap.policy.apex.service.parameters.ApexParameters\" INVALID, "
75                 + "parameter group has status INVALID\n"
76                 + "  parameter group map \"eventOutputParameters\" INVALID, "
77                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncProducer0\" type "
78                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
79                 + ", specified peered mode \"SYNCHRONOUS\" peer is illegal "
80                 + "on eventOutputParameters \"SyncProducer0\" \n");
81     }
82
83     @Test
84     public void testSyncBadSyncBadPeers() throws ParameterException {
85         final String[] args = {"-p", "src/test/resources/parameters/syncBadParamsBadPeers.json"};
86         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
87
88         assertThatThrownBy(() -> new ApexParameterHandler().getParameters(arguments))
89             .hasMessage("validation error(s) on parameters from "
90                 + "\"src/test/resources/parameters/syncBadParamsBadPeers.json\"\n"
91                 + "parameter group \"APEX_PARAMETERS\" type "
92                 + "\"org.onap.policy.apex.service.parameters.ApexParameters\" INVALID, "
93                 + "parameter group has status INVALID\n"
94                 + "  parameter group map \"eventOutputParameters\" INVALID, "
95                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncProducer0\" type "
96                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
97                 + ", peer \"SyncProducer1 for peered mode SYNCHRONOUS does not exist "
98                 + "or is not defined with the same peered mode\n" + "    parameter group \"SyncProducer1\" type "
99                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
100                 + ", peer \"SyncProducer0 for peered mode SYNCHRONOUS does not exist "
101                 + "or is not defined with the same peered mode\n"
102                 + "  parameter group map \"eventInputParameters\" INVALID, "
103                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncConsumer0\" type "
104                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
105                 + ", peer \"SyncConsumer1 for peered mode SYNCHRONOUS does not exist "
106                 + "or is not defined with the same peered mode\n" + "    parameter group \"SyncConsumer1\" type "
107                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
108                 + ", peer \"SyncConsumer0 for peered mode SYNCHRONOUS does not exist "
109                 + "or is not defined with the same peered mode\n");
110     }
111
112     @Test
113     public void testSyncBadSyncInvalidTimeout() throws ParameterException {
114         final String[] args = {"-p", "src/test/resources/parameters/syncBadParamsInvalidTimeout.json"};
115         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
116
117         assertThatThrownBy(() -> new ApexParameterHandler().getParameters(arguments))
118             .hasMessage("validation error(s) on parameters from "
119                 + "\"src/test/resources/parameters/syncBadParamsInvalidTimeout.json\"\n"
120                 + "parameter group \"APEX_PARAMETERS\" type "
121                 + "\"org.onap.policy.apex.service.parameters.ApexParameters\" INVALID, "
122                 + "parameter group has status INVALID\n"
123                 + "  parameter group map \"eventOutputParameters\" INVALID, "
124                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncProducer0\" type "
125                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID,"
126                 + " specified peered mode \"SYNCHRONOUS\" timeout value \"-10\" is illegal, "
127                 + "specify a non-negative timeout value in milliseconds\n"
128                 + "    parameter group \"SyncProducer1\" type "
129                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" "
130                 + "INVALID, specified peered mode \"SYNCHRONOUS\" timeout value \"-3\" is illegal, "
131                 + "specify a non-negative timeout value in milliseconds\n"
132                 + "  parameter group map \"eventInputParameters\" INVALID, "
133                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncConsumer0\" type "
134                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" "
135                 + "INVALID, specified peered mode \"SYNCHRONOUS\" timeout value \"-1\" is illegal, "
136                 + "specify a non-negative timeout value in milliseconds\n"
137                 + "    parameter group \"SyncConsumer1\" type "
138                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID,"
139                 + " specified peered mode \"SYNCHRONOUS\" timeout value \"-99999999\" is illegal, "
140                 + "specify a non-negative timeout value in milliseconds\n");
141     }
142
143     @Test
144     public void testSyncBadSyncBadTimeout() throws ParameterException {
145         final String[] args = {"-p", "src/test/resources/parameters/syncBadParamsBadTimeout.json"};
146         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
147
148         assertThatThrownBy(() -> new ApexParameterHandler().getParameters(arguments))
149             .hasMessage("validation error(s) on parameters from "
150                 + "\"src/test/resources/parameters/syncBadParamsBadTimeout.json\"\n"
151                 + "parameter group \"APEX_PARAMETERS\" type "
152                 + "\"org.onap.policy.apex.service.parameters.ApexParameters\" "
153                 + "INVALID, parameter group has status INVALID\n"
154                 + "  parameter group map \"eventOutputParameters\" INVALID, "
155                 + "parameter group map has status INVALID\n" + "    parameter group \"MyOtherProducer\" type "
156                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" "
157                 + "INVALID, specified peered mode \"SYNCHRONOUS\" "
158                 + "timeout is illegal on eventOutputParameters \"MyOtherProducer\"\n");
159     }
160
161     @Test
162     public void testSyncBadSyncUnpairedTimeout() throws ParameterException {
163         final String[] args = {"-p", "src/test/resources/parameters/syncBadParamsUnpairedTimeout.json"};
164         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
165
166         assertThatThrownBy(() -> new ApexParameterHandler().getParameters(arguments))
167             .hasMessage("validation error(s) on parameters from "
168                 + "\"src/test/resources/parameters/syncBadParamsUnpairedTimeout.json\"\n"
169                 + "parameter group \"APEX_PARAMETERS\" type "
170                 + "\"org.onap.policy.apex.service.parameters.ApexParameters\" INVALID, "
171                 + "parameter group has status INVALID\n"
172                 + "  parameter group map \"eventOutputParameters\" INVALID, "
173                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncProducer0\" type "
174                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
175                 + ", peer \"SyncConsumer0 for peered mode SYNCHRONOUS timeout 10 on event handler "
176                 + "\"SyncProducer0\" does not equal timeout 1 on event handler \"SyncConsumer0\"\n"
177                 + "    parameter group \"SyncProducer1\" type "
178                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
179                 + ", peer \"SyncConsumer1 for peered mode SYNCHRONOUS timeout 3 on event handler "
180                 + "\"SyncProducer1\" does not equal timeout 99999999 on event handler \"SyncConsumer1\"\n"
181                 + "  parameter group map \"eventInputParameters\" INVALID, "
182                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncConsumer0\" type "
183                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
184                 + ", peer \"SyncProducer0 for peered mode SYNCHRONOUS timeout 1 on event handler "
185                 + "\"SyncConsumer0\" does not equal timeout 10 on event handler \"SyncProducer0\"\n"
186                 + "    parameter group \"SyncConsumer1\" type "
187                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
188                 + ", peer \"SyncProducer1 for peered mode SYNCHRONOUS timeout 99999999 on event handler "
189                 + "\"SyncConsumer1\" does not equal timeout 3 on event handler \"SyncProducer1\"\n" + "");
190     }
191
192     @Test
193     public void testSyncGoodSyncGoodTimeoutProducer() throws ParameterException {
194         final String[] args = {"-p", "src/test/resources/parameters/syncGoodParamsProducerTimeout.json"};
195         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
196
197         final ApexParameters parameters = new ApexParameterHandler().getParameters(arguments);
198         assertEquals(12345, parameters.getEventInputParameters().get("SyncConsumer0")
199                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
200         assertEquals(1, parameters.getEventInputParameters().get("SyncConsumer1")
201                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
202         assertEquals(12345, parameters.getEventOutputParameters().get("SyncProducer0")
203                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
204         assertEquals(1, parameters.getEventOutputParameters().get("SyncProducer1")
205                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
206
207     }
208
209     @Test
210     public void testSyncGoodSyncGoodTimeoutConsumer() throws ParameterException {
211         final String[] args = {"-p", "src/test/resources/parameters/syncGoodParamsConsumerTimeout.json"};
212         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
213
214         final ApexParameters parameters = new ApexParameterHandler().getParameters(arguments);
215         assertEquals(12345, parameters.getEventInputParameters().get("SyncConsumer0")
216                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
217         assertEquals(1, parameters.getEventInputParameters().get("SyncConsumer1")
218                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
219         assertEquals(12345, parameters.getEventOutputParameters().get("SyncProducer0")
220                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
221         assertEquals(1, parameters.getEventOutputParameters().get("SyncProducer1")
222                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
223
224     }
225
226     @Test
227     public void testSyncGoodSyncGoodTimeoutBoth() throws ParameterException {
228         final String[] args = {"-p", "src/test/resources/parameters/syncGoodParamsBothTimeout.json"};
229         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
230
231         final ApexParameters parameters = new ApexParameterHandler().getParameters(arguments);
232         assertEquals(12345, parameters.getEventInputParameters().get("SyncConsumer0")
233                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
234         assertEquals(1, parameters.getEventInputParameters().get("SyncConsumer1")
235                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
236         assertEquals(12345, parameters.getEventOutputParameters().get("SyncProducer0")
237                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
238         assertEquals(1, parameters.getEventOutputParameters().get("SyncProducer1")
239                 .getPeerTimeout(EventHandlerPeeredMode.SYNCHRONOUS));
240
241     }
242
243     @Test
244     public void testSyncUnusedConsumerPeers() throws ParameterException {
245         final String[] args = {"-p", "src/test/resources/parameters/syncUnusedConsumerPeers.json"};
246         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
247
248         assertThatThrownBy(() -> new ApexParameterHandler().getParameters(arguments))
249             .hasMessage("validation error(s) on parameters from "
250                 + "\"src/test/resources/parameters/syncUnusedConsumerPeers.json\"\n"
251                 + "parameter group \"APEX_PARAMETERS\" type "
252                 + "\"org.onap.policy.apex.service.parameters.ApexParameters\" INVALID, "
253                 + "parameter group has status INVALID\n"
254                 + "  parameter group map \"eventOutputParameters\" INVALID, "
255                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncProducer1\" type "
256                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" "
257                 + "INVALID, peer \"SyncConsumer0 for peered mode SYNCHRONOUS, "
258                 + "value \"SyncProducer0\" on peer \"SyncConsumer0\" "
259                 + "does not equal event handler \"SyncProducer1\"\n"
260                 + "  parameter group map \"eventInputParameters\" INVALID, "
261                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncConsumer1\" type "
262                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" "
263                 + "INVALID, peer \"SyncProducer1 for peered mode SYNCHRONOUS, "
264                 + "value \"SyncConsumer0\" on peer \"SyncProducer1\" "
265                 + "does not equal event handler \"SyncConsumer1\"\n");
266     }
267
268     @Test
269     public void testSyncMismatchedPeers() throws ParameterException {
270         final String[] args = {"-p", "src/test/resources/parameters/syncMismatchedPeers.json"};
271         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
272
273         assertThatThrownBy(() -> new ApexParameterHandler().getParameters(arguments))
274             .hasMessage("validation error(s) on parameters from "
275                 + "\"src/test/resources/parameters/syncMismatchedPeers.json\"\n"
276                 + "parameter group \"APEX_PARAMETERS\" type "
277                 + "\"org.onap.policy.apex.service.parameters.ApexParameters\" INVALID, "
278                 + "parameter group has status INVALID\n"
279                 + "  parameter group map \"eventOutputParameters\" INVALID, "
280                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncProducer0\" type "
281                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
282                 + ", peer \"SyncConsumer1 for peered mode SYNCHRONOUS, value \"SyncProducer1\" "
283                 + "on peer \"SyncConsumer1\" does not equal event handler \"SyncProducer0\"\n"
284                 + "    parameter group \"SyncProducer1\" type "
285                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
286                 + ", peer \"SyncConsumer0 for peered mode SYNCHRONOUS, value \"SyncProducer0\" "
287                 + "on peer \"SyncConsumer0\" does not equal event handler \"SyncProducer1\"\n"
288                 + "  parameter group map \"eventInputParameters\" INVALID, "
289                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncConsumer0\" type "
290                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
291                 + ", peer \"SyncProducer0 for peered mode SYNCHRONOUS, value \"SyncConsumer1\" "
292                 + "on peer \"SyncProducer0\" does not equal event handler \"SyncConsumer0\"\n"
293                 + "    parameter group \"SyncConsumer1\" type "
294                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
295                 + ", peer \"SyncProducer1 for peered mode SYNCHRONOUS, value \"SyncConsumer0\" "
296                 + "on peer \"SyncProducer1\" does not equal event handler \"SyncConsumer1\"\n");
297     }
298
299     @Test
300     public void testSyncUnusedProducerPeers() throws ParameterException {
301         final String[] args = {"-p", "src/test/resources/parameters/syncUnusedProducerPeers.json"};
302         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
303
304         assertThatThrownBy(() -> new ApexParameterHandler().getParameters(arguments))
305             .hasMessage("validation error(s) on parameters from "
306                 + "\"src/test/resources/parameters/syncUnusedProducerPeers.json\"\n"
307                 + "parameter group \"APEX_PARAMETERS\" type "
308                 + "\"org.onap.policy.apex.service.parameters.ApexParameters\" INVALID, "
309                 + "parameter group has status INVALID\n"
310                 + "  parameter group map \"eventOutputParameters\" INVALID, "
311                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncProducer0\" type "
312                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
313                 + ", peer \"SyncConsumer0 for peered mode SYNCHRONOUS, value \"SyncProducer1\" on peer "
314                 + "\"SyncConsumer0\" does not equal event handler \"SyncProducer0\"\n"
315                 + "  parameter group map \"eventInputParameters\" INVALID, parameter group map has status "
316                 + "INVALID\n    parameter group \"SyncConsumer0\" type "
317                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID"
318                 + ", peer \"SyncProducer1 for peered mode SYNCHRONOUS, value \"SyncConsumer1\" on peer "
319                 + "\"SyncProducer1\" does not equal event handler \"SyncConsumer0\"\n");
320     }
321
322     @Test
323     public void testSyncMismatchedTimeout() throws ParameterException {
324         final String[] args = {"-p", "src/test/resources/parameters/syncMismatchedTimeout.json"};
325         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
326
327         assertThatThrownBy(() -> new ApexParameterHandler().getParameters(arguments))
328             .hasMessage("validation error(s) on parameters from "
329                 + "\"src/test/resources/parameters/syncMismatchedTimeout.json\"\n"
330                 + "parameter group \"APEX_PARAMETERS\" type "
331                 + "\"org.onap.policy.apex.service.parameters.ApexParameters\" INVALID, "
332                 + "parameter group has status INVALID\n" + "  parameter group map \"eventOutputParameters\" "
333                 + "INVALID, parameter group map has status INVALID\n"
334                 + "    parameter group \"SyncProducer1\" type "
335                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID,"
336                 + " peer \"SyncConsumer1 for peered mode SYNCHRONOUS timeout 456 "
337                 + "on event handler \"SyncProducer1\" does not equal timeout 123 "
338                 + "on event handler \"SyncConsumer1\"\n"
339                 + "  parameter group map \"eventInputParameters\" INVALID, "
340                 + "parameter group map has status INVALID\n" + "    parameter group \"SyncConsumer1\" type "
341                 + "\"org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters\" INVALID,"
342                 + " peer \"SyncProducer1 for peered mode SYNCHRONOUS timeout 123 "
343                 + "on event handler \"SyncConsumer1\" does not equal timeout 456 "
344                 + "on event handler \"SyncProducer1\"\n");
345     }
346
347     @Test
348     public void testSyncGoodParametersTest() throws ParameterException {
349         final String[] args = {"-p", "src/test/resources/parameters/syncGoodParams.json"};
350         final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args);
351
352         final ApexParameters parameters = new ApexParameterHandler().getParameters(arguments);
353
354         assertEquals("MyApexEngine", parameters.getEngineServiceParameters().getName());
355         assertEquals("0.0.1", parameters.getEngineServiceParameters().getVersion());
356         assertEquals(45, parameters.getEngineServiceParameters().getId());
357         assertEquals(19, parameters.getEngineServiceParameters().getInstanceCount());
358         assertEquals(65522, parameters.getEngineServiceParameters().getDeploymentPort());
359
360         final CarrierTechnologyParameters prodCT0 =
361                 parameters.getEventOutputParameters().get("SyncProducer0").getCarrierTechnologyParameters();
362         final EventProtocolParameters prodEP0 =
363                 parameters.getEventOutputParameters().get("SyncProducer0").getEventProtocolParameters();
364         final CarrierTechnologyParameters consCT0 =
365                 parameters.getEventInputParameters().get("SyncConsumer0").getCarrierTechnologyParameters();
366         final EventProtocolParameters consEP0 =
367                 parameters.getEventInputParameters().get("SyncConsumer0").getEventProtocolParameters();
368         final CarrierTechnologyParameters prodCT1 =
369                 parameters.getEventOutputParameters().get("SyncProducer1").getCarrierTechnologyParameters();
370         final EventProtocolParameters prodEP1 =
371                 parameters.getEventOutputParameters().get("SyncProducer1").getEventProtocolParameters();
372         final CarrierTechnologyParameters consCT1 =
373                 parameters.getEventInputParameters().get("SyncConsumer1").getCarrierTechnologyParameters();
374         final EventProtocolParameters consEP1 =
375                 parameters.getEventInputParameters().get("SyncConsumer1").getEventProtocolParameters();
376
377         assertEquals("FILE", prodCT0.getLabel());
378         assertEquals("JSON", prodEP0.getLabel());
379         assertEquals("FILE", consCT0.getLabel());
380         assertEquals("JSON", consEP0.getLabel());
381         assertEquals("FILE", prodCT1.getLabel());
382         assertEquals("JSON", prodEP1.getLabel());
383         assertEquals("SUPER_DOOPER", consCT1.getLabel());
384         assertEquals("SUPER_TOK_DEL", consEP1.getLabel());
385
386         assertTrue(consCT1 instanceof SuperDooperCarrierTechnologyParameters);
387         assertTrue(consEP1 instanceof SuperTokenDelimitedEventProtocolParameters);
388
389         final SuperDooperCarrierTechnologyParameters superDooperParameters =
390                 (SuperDooperCarrierTechnologyParameters) consCT1;
391         assertEquals("localhost:9092", superDooperParameters.getBootstrapServers());
392         assertEquals("all", superDooperParameters.getAcks());
393         assertEquals(0, superDooperParameters.getRetries());
394         assertEquals(16384, superDooperParameters.getBatchSize());
395         assertEquals(1, superDooperParameters.getLingerTime());
396         assertEquals(33554432, superDooperParameters.getBufferMemory());
397         assertEquals("default-group-id", superDooperParameters.getGroupId());
398         assertTrue(superDooperParameters.isEnableAutoCommit());
399         assertEquals(1000, superDooperParameters.getAutoCommitTime());
400         assertEquals(30000, superDooperParameters.getSessionTimeout());
401         assertEquals("apex-out", superDooperParameters.getProducerTopic());
402         assertEquals(100, superDooperParameters.getConsumerPollTime());
403         assertEquals("org.apache.superDooper.common.serialization.StringSerializer",
404                 superDooperParameters.getKeySerializer());
405         assertEquals("org.apache.superDooper.common.serialization.StringSerializer",
406                 superDooperParameters.getValueSerializer());
407         assertEquals("org.apache.superDooper.common.serialization.StringDeserializer",
408                 superDooperParameters.getKeyDeserializer());
409         assertEquals("org.apache.superDooper.common.serialization.StringDeserializer",
410                 superDooperParameters.getValueDeserializer());
411
412         final String[] consumerTopics = {"apex-in"};
413         assertEquals(Arrays.asList(consumerTopics), superDooperParameters.getConsumerTopicList());
414     }
415 }