4c541bd12369cbb9a6ee6c07e4ceeabfed4be03d
[policy/apex-pdp.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2021 Nordix Foundation.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.apex.service.engine.main;
22
23 import static org.junit.Assert.assertEquals;
24
25 import org.junit.Before;
26 import org.junit.Test;
27
28 public class ApexPolicyStatisticsManagerTest {
29
30     private ApexPolicyStatisticsManager statisticsManager;
31
32     /**
33      * Starts the statisticsManager object for tests.
34      */
35     @Before
36     public void setup() {
37         statisticsManager = new ApexPolicyStatisticsManager();
38     }
39
40     @Test
41     public void testUpdatePolicyDeployCounter() {
42         statisticsManager.updatePolicyDeployCounter(false);
43         assertDeploys(1, 0, 1);
44
45         statisticsManager.updatePolicyDeployCounter(true);
46         statisticsManager.updatePolicyDeployCounter(true);
47         assertDeploys(3, 2, 1);
48     }
49
50     @Test
51     public void testUpdatePolicyExecutedCounter() {
52         statisticsManager.updatePolicyExecutedCounter(true);
53         assertExecuted(1, 1, 0);
54
55         statisticsManager.updatePolicyExecutedCounter(false);
56         assertExecuted(2, 1, 1);
57     }
58
59     @Test
60     public void testUpdatePolicyUndeployCounter() {
61         statisticsManager.updatePolicyUndeployCounter(false);
62         assertUndeploys(1, 0, 1);
63
64         statisticsManager.updatePolicyUndeployCounter(true);
65         assertUndeploys(2, 1, 1);
66     }
67
68     @Test
69     public void testResetAllStatistics() {
70         statisticsManager.updatePolicyDeployCounter(true);
71         statisticsManager.updatePolicyDeployCounter(true);
72         statisticsManager.updatePolicyDeployCounter(false);
73         statisticsManager.updatePolicyUndeployCounter(false);
74         statisticsManager.updatePolicyExecutedCounter(true);
75
76         assertDeploys(3, 2, 1);
77         assertUndeploys(1, 0, 1);
78         assertExecuted(1, 1, 0);
79
80         statisticsManager.resetAllStatistics();
81
82         assertDeploys(0, 0, 0);
83         assertUndeploys(0, 0, 0);
84         assertExecuted(0, 0, 0);
85
86     }
87
88     private void assertDeploys(long count, long success, long fail) {
89         assertEquals(count, statisticsManager.getPolicyDeployCount());
90         assertEquals(success, statisticsManager.getPolicyDeploySuccessCount());
91         assertEquals(fail, statisticsManager.getPolicyDeployFailCount());
92     }
93
94     private void assertUndeploys(long count, long success, long fail) {
95         assertEquals(count, statisticsManager.getPolicyUndeployCount());
96         assertEquals(success, statisticsManager.getPolicyUndeploySuccessCount());
97         assertEquals(fail, statisticsManager.getPolicyUndeployFailCount());
98     }
99
100     private void assertExecuted(long count, long success, long fail) {
101         assertEquals(count, statisticsManager.getPolicyExecutedCount());
102         assertEquals(success, statisticsManager.getPolicyExecutedSuccessCount());
103         assertEquals(fail, statisticsManager.getPolicyExecutedFailCount());
104     }
105
106 }