2 * ============LICENSE_START=======================================================
3 * SPARKY (AAI UI service)
4 * ================================================================================
5 * Copyright © 2017 AT&T Intellectual Property.
6 * Copyright © 2017 Amdocs
8 * ================================================================================
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 * ============LICENSE_END=========================================================
22 * ECOMP and OpenECOMP are trademarks
23 * and service marks of AT&T Intellectual Property.
26 package org.onap.aai.sparky.analytics;
28 import org.junit.Before;
32 * The Class TransactionRateControllerTest.
34 public class TransactionRateControllerTest {
39 * @throws Exception the exception
42 public void init() throws Exception {
43 // nothing at the moment
46 * @Test public void tenTPS_oneThread_validateRateEnforcementWhenAvgResposneTimeIsUnderBudget() {
48 * TransactionRateController trc = new TransactionRateController(10.0, 1, 5);
50 * trc.trackResponseTime(25); trc.trackResponseTime(35); trc.trackResponseTime(45);
51 * trc.trackResponseTime(55); trc.trackResponseTime(70);
53 * // avg should be 46 ms
55 * assertEquals(54, trc.getFixedDelayInMs());
59 * @Test public void tenTPS_oneThread_validateRateEnforcementWhenAvgResposneTimeIsOverBudget() {
61 * TransactionRateController trc = new TransactionRateController(10.0, 1, 5);
63 * trc.trackResponseTime(75); trc.trackResponseTime(125); trc.trackResponseTime(250);
64 * trc.trackResponseTime(105); trc.trackResponseTime(23);
66 * // avg should be 115 ms
68 * assertEquals(0, trc.getFixedDelayInMs());
72 * @Test public void oneTPS_oneThread_validateRateEnforcementWhenAvgResposneTimeIsUnderBudget() {
74 * TransactionRateController trc = new TransactionRateController(1.0, 1, 5);
76 * trc.trackResponseTime(25); trc.trackResponseTime(35); trc.trackResponseTime(45);
77 * trc.trackResponseTime(55); trc.trackResponseTime(70);
79 * // avg should be 46 ms
81 * assertEquals(954, trc.getFixedDelayInMs());
85 * @Test public void oneTPS_oneThread_validateRateEnforcementWhenAvgResposneTimeIsOverBudget() {
87 * TransactionRateController trc = new TransactionRateController(1.0, 1, 5);
89 * trc.trackResponseTime(75); trc.trackResponseTime(125); trc.trackResponseTime(250);
90 * trc.trackResponseTime(105); trc.trackResponseTime(23);
92 * // avg should be 115 ms
94 * assertEquals(885, trc.getFixedDelayInMs());
98 * @Test public void halfTPS_oneThread_validateRateEnforcementWhenAvgResposneTimeIsUnderBudget() {
100 * TransactionRateController trc = new TransactionRateController(0.5, 1, 5);
102 * trc.trackResponseTime(25); trc.trackResponseTime(35); trc.trackResponseTime(45);
103 * trc.trackResponseTime(55); trc.trackResponseTime(70);
105 * // avg should be 46 ms
107 * assertEquals(1954, trc.getFixedDelayInMs());
111 * @Test public void halfTPS_oneThread_validateRateEnforcementWhenAvgResposneTimeIsOverBudget() {
113 * TransactionRateController trc = new TransactionRateController(0.5, 1, 5);
115 * trc.trackResponseTime(75); trc.trackResponseTime(125); trc.trackResponseTime(250);
116 * trc.trackResponseTime(105); trc.trackResponseTime(23);
118 * // avg should be 115 ms
120 * assertEquals(1885, trc.getFixedDelayInMs());
124 * @Test public void tenTPS_tenThreads_validateRateEnforcementWhenAvgResposneTimeIsUnderBudget() {
126 * TransactionRateController trc = new TransactionRateController(10.0, 10, 5);
128 * trc.trackResponseTime(25); trc.trackResponseTime(35); trc.trackResponseTime(45);
129 * trc.trackResponseTime(55); trc.trackResponseTime(70);
131 * // avg should be 46 ms
133 * assertEquals(540, trc.getFixedDelayInMs());
137 * @Test public void tenTPS_tenThreads_validateRateEnforcementWhenAvgResposneTimeIsOverBudget() {
139 * TransactionRateController trc = new TransactionRateController(10.0, 10, 5);
141 * trc.trackResponseTime(75); trc.trackResponseTime(125); trc.trackResponseTime(250);
142 * trc.trackResponseTime(105); trc.trackResponseTime(23);
144 * // avg should be 115 ms
146 * assertEquals(0, trc.getFixedDelayInMs());
150 * @Test public void oneTPS_tenThreads_validateRateEnforcementWhenAvgResposneTimeIsUnderBudget() {
152 * TransactionRateController trc = new TransactionRateController(1.0, 10, 5);
154 * trc.trackResponseTime(25); trc.trackResponseTime(35); trc.trackResponseTime(45);
155 * trc.trackResponseTime(55); trc.trackResponseTime(70);
157 * // avg should be 46 ms
159 * assertEquals(9540, trc.getFixedDelayInMs());
163 * @Test public void oneTPS_tenThreads_validateRateEnforcementWhenAvgResposneTimeIsOverBudget() {
165 * TransactionRateController trc = new TransactionRateController(1.0, 10, 5);
167 * trc.trackResponseTime(75); trc.trackResponseTime(125); trc.trackResponseTime(250);
168 * trc.trackResponseTime(105); trc.trackResponseTime(23);
170 * // avg should be 115 ms
172 * assertEquals(8850, trc.getFixedDelayInMs());
176 * @Test public void halfTPS_tenThreads_validateRateEnforcementWhenAvgResposneTimeIsUnderBudget()
179 * TransactionRateController trc = new TransactionRateController(0.5, 10, 5);
181 * trc.trackResponseTime(25); trc.trackResponseTime(35); trc.trackResponseTime(45);
182 * trc.trackResponseTime(55); trc.trackResponseTime(70);
184 * // avg should be 46 ms
186 * assertEquals(19540, trc.getFixedDelayInMs());
190 * @Test public void halfTPS_tenThreads_validateRateEnforcementWhenAvgResposneTimeIsOverBudget() {
192 * TransactionRateController trc = new TransactionRateController(0.5, 10, 5);
194 * trc.trackResponseTime(75); trc.trackResponseTime(125); trc.trackResponseTime(250);
195 * trc.trackResponseTime(105); trc.trackResponseTime(23);
197 * // avg should be 115 ms
199 * assertEquals(18850, trc.getFixedDelayInMs());
203 * @Test public void oneTPS_fiveThreads_validateRateEnforcementWhenAvgResposneTimeIsOverBudget() {
205 * TransactionRateController trc = new TransactionRateController(1, 5, 5);
207 * trc.trackResponseTime(0); trc.trackResponseTime(0); trc.trackResponseTime(0);
208 * trc.trackResponseTime(0); trc.trackResponseTime(0);
210 * // avg should be 0 ms
212 * assertEquals(5000, trc.getFixedDelayInMs());