9b5f1d10d580cf4cc3b5376721e1ef29964af848
[dcaegen2/analytics/tca.git] / dcae-analytics-dmaap / src / test / java / org / openecomp / dcae / apod / analytics / dmaap / BaseAnalyticsDMaaPUnitTest.java
1 /*\r
2  * ===============================LICENSE_START======================================\r
3  *  dcae-analytics\r
4  * ================================================================================\r
5  *    Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  *  Licensed under the Apache License, Version 2.0 (the "License");\r
8  *  you may not use this file except in compliance with the License.\r
9  *   You may obtain a copy of the License at\r
10  *\r
11  *          http://www.apache.org/licenses/LICENSE-2.0\r
12  *\r
13  *  Unless required by applicable law or agreed to in writing, software\r
14  *  distributed under the License is distributed on an "AS IS" BASIS,\r
15  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  *  See the License for the specific language governing permissions and\r
17  *  limitations under the License.\r
18  *  ============================LICENSE_END===========================================\r
19  */\r
20 \r
21 package org.openecomp.dcae.apod.analytics.dmaap;\r
22 \r
23 import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;\r
24 import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;\r
25 import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsUnitTest;\r
26 \r
27 import java.util.List;\r
28 \r
29 import static com.google.common.collect.ImmutableList.of;\r
30 \r
31 /**\r
32  * @author Rajiv Singla . Creation Date: 10/14/2016.\r
33  */\r
34 public abstract class BaseAnalyticsDMaaPUnitTest extends BaseDCAEAnalyticsUnitTest {\r
35 \r
36     // Unit Test Settings\r
37     protected static final String HOST_NAME = "testHostName";\r
38     protected static final Integer PORT_NUMBER = 8080;\r
39     protected static final String TOPIC_NAME = "testTopicName";\r
40     protected static final String USERNAME = "testUserName";\r
41     protected static final String PASSWORD = "testPassword";\r
42     protected static final String HTTP_PROTOCOL = "https";\r
43     protected static final String CONTENT_TYPE = "application/json";\r
44 \r
45     protected static final int PUBLISHER_MAX_BATCH_QUEUE_SIZE = 200;\r
46     protected static final int PUBLISHER_MAX_RECOVERY_QUEUE_SIZE = 2000;\r
47 \r
48     protected static final String SUBSCRIBER_CONSUMER_ID = "123";\r
49     protected static final String SUBSCRIBER_CONSUMER_GROUP_NAME = "testGonsumerName-" + SUBSCRIBER_CONSUMER_ID;\r
50     protected static final int SUBSCRIBER_TIMEOUT_MS = 2000;\r
51     protected static final int SUBSCRIBER_MESSAGE_LIMIT = 20;\r
52 \r
53     /**\r
54      * Creates Sample Publisher settings for unit testing purposes\r
55      *\r
56      * @return sample publisher settings for testing\r
57      */\r
58     protected static DMaaPMRPublisherConfig getPublisherConfig() {\r
59         return new DMaaPMRPublisherConfig.Builder(HOST_NAME, TOPIC_NAME)\r
60                 .setPortNumber(PORT_NUMBER)\r
61                 .setProtocol(HTTP_PROTOCOL)\r
62                 .setUserName(USERNAME)\r
63                 .setUserPassword(PASSWORD)\r
64                 .setContentType(CONTENT_TYPE)\r
65                 .setMaxRecoveryQueueSize(PUBLISHER_MAX_RECOVERY_QUEUE_SIZE)\r
66                 .setMaxBatchSize(PUBLISHER_MAX_BATCH_QUEUE_SIZE).build();\r
67     }\r
68 \r
69     /**\r
70      * Creates Sample Subscriber settings for unit testing purposes\r
71      *\r
72      * @return sample subscriber settings for testing\r
73      */\r
74     protected static DMaaPMRSubscriberConfig getSubscriberConfig(String consumerId, String consumerGroup) {\r
75         return new DMaaPMRSubscriberConfig.Builder(HOST_NAME, TOPIC_NAME)\r
76                 .setPortNumber(PORT_NUMBER)\r
77                 .setUserName(USERNAME)\r
78                 .setUserPassword(PASSWORD)\r
79                 .setProtocol(HTTP_PROTOCOL)\r
80                 .setContentType(CONTENT_TYPE)\r
81                 .setConsumerGroup(consumerGroup != null ? consumerGroup : SUBSCRIBER_CONSUMER_GROUP_NAME)\r
82                 .setConsumerId(consumerId != null ? consumerId : SUBSCRIBER_CONSUMER_ID)\r
83                 .setTimeoutMS(SUBSCRIBER_TIMEOUT_MS)\r
84                 .setMessageLimit(SUBSCRIBER_MESSAGE_LIMIT).build();\r
85     }\r
86 \r
87     /**\r
88      * Creates two sample message for publishing\r
89      *\r
90      * @return sample publish message list\r
91      */\r
92     protected static List<String> getTwoSampleMessages() {\r
93         String message1 = "{ \"message\" : \"Test Message1\"}";\r
94         String message2 = "{ \"message\" : \"Test Message2\"}";\r
95         return of(message1, message2);\r
96     }\r
97 \r
98 \r
99 }\r