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