add testcases
[dmaap/messagerouter/msgrtr.git] / src / test / java / org / onap / dmaap / mr / cambria / beans / DMaaPCambriaLimiterTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP Policy Engine
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. 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  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.dmaap.mr.cambria.beans;
22
23 import static org.junit.Assert.*;
24
25 import org.junit.After;
26 import org.junit.Before;
27 import org.junit.Test;
28
29 import org.onap.dmaap.dmf.mr.CambriaApiException;
30 import org.onap.dmaap.dmf.mr.beans.DMaaPCambriaLimiter;
31
32 public class DMaaPCambriaLimiterTest {
33
34         @Before
35         public void setUp() throws Exception {
36         }
37
38         @After
39         public void tearDown() throws Exception {
40         }
41
42         @Test
43         public void testGetSleepMsForRate() {
44
45                 assertEquals(1000, DMaaPCambriaLimiter.getSleepMsForRate(100));
46                 assertEquals(0, DMaaPCambriaLimiter.getSleepMsForRate(0));
47
48         }
49
50         @Test
51         public void testOnCall() {
52
53                 DMaaPCambriaLimiter limiter = new DMaaPCambriaLimiter(1, 2, 3);
54                 try {
55                         limiter.onCall("testTopic", "ConsumerGroup1", "client2", "remoteHost");
56                 } catch (CambriaApiException e) {
57                         // TODO Auto-generated catch block
58                         e.printStackTrace();
59                 }
60
61                 String trueValue = "True";
62                 assertTrue(trueValue.equalsIgnoreCase("True"));
63
64         }
65
66         @Test
67         public void testOnCallError2() {
68
69                 DMaaPCambriaLimiter limiter = new DMaaPCambriaLimiter(0, 2, 3, 1, 1);
70                 try {
71                         limiter.onCall("testTopic", "ConsumerGroup1", "client2", "remoteHost");
72                 } catch (CambriaApiException e) {
73                         assertTrue(false);
74                 }
75
76         }
77
78         @Test(expected = CambriaApiException.class)
79         public void testOnCallError() throws CambriaApiException {
80
81                 DMaaPCambriaLimiter limiter = new DMaaPCambriaLimiter(0.9, 2, 3, 1, 1);
82                 limiter.onCall("testTopic", "ConsumerGroup1", "client2", "remoteHost");
83
84         }
85
86         @Test
87         public void testOnSend() {
88
89                 DMaaPCambriaLimiter limiter = new DMaaPCambriaLimiter(3, 3, 3);
90                 limiter.onSend("testTopic", "consumerGroup1", "client1", 100);
91
92                 String trueValue = "True";
93                 assertTrue(trueValue.equalsIgnoreCase("True"));
94
95         }
96
97 }