diff options
author | Jim Hahn <jrh3@att.com> | 2021-06-10 17:38:58 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2021-06-14 08:21:04 -0400 |
commit | 8cbad257df2d5f5c585ce37e61cfd16e402be738 (patch) | |
tree | 18027d19e9c6c231e41e4321d5938c8b0a5d5632 /models-pdp/src/test/java/org | |
parent | 1b460194bc034443ba57fa690d294131836a3e9e (diff) |
Fix sonars in policy-models
Fixed:
- too many parameters in method call
Fixed it by introducing PfFilterParameters. However, classes having the
Builder annotation are not easily subclassed, so introduced an
interface, too.
Issue-ID: POLICY-3094
Change-Id: Ida99522a542b1296b367c55b7e8f8e83783c2e4f
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-pdp/src/test/java/org')
2 files changed, 80 insertions, 1 deletions
diff --git a/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/provider/PdpFilterParametersTest.java b/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/provider/PdpFilterParametersTest.java new file mode 100644 index 000000000..58ff7f171 --- /dev/null +++ b/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/provider/PdpFilterParametersTest.java @@ -0,0 +1,53 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.models.pdp.persistence.provider; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.Map; +import org.junit.Test; + +public class PdpFilterParametersTest { + + private static final String GROUP = "my-group"; + private static final String SUBGROUP = "my-subgroup"; + + @Test + public void testGetFilterMap() { + assertThat(PdpFilterParameters.builder().build().getFilterMap()).isNull(); + + assertThat(PdpFilterParameters.builder().subGroup(SUBGROUP).build().getFilterMap()).isNull(); + + PdpFilterParameters params = PdpFilterParameters.builder().group(GROUP).build(); + Map<String, Object> map = params.getFilterMap(); + assertThat(map).isEqualTo(Map.of("pdpGroupName", GROUP)); + + // should not re-create the map + assertThat(params.getFilterMap()).isSameAs(map); + + params = PdpFilterParameters.builder().group(GROUP).subGroup(SUBGROUP).build(); + map = params.getFilterMap(); + assertThat(map).isEqualTo(Map.of("pdpGroupName", GROUP, "pdpSubGroupName", SUBGROUP)); + + // should not re-create the map + assertThat(params.getFilterMap()).isSameAs(map); + } +} diff --git a/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/provider/PdpStatisticsProviderTest.java b/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/provider/PdpStatisticsProviderTest.java index 8259dc0c6..91eb54e8b 100644 --- a/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/provider/PdpStatisticsProviderTest.java +++ b/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/provider/PdpStatisticsProviderTest.java @@ -181,7 +181,7 @@ public class PdpStatisticsProviderTest { } @Test - public void testGetFilteredPdpStatistics() throws Exception { + public void testGetFilteredPdpStatisticsOld() throws Exception { assertThatThrownBy(() -> { new PdpStatisticsProvider().getFilteredPdpStatistics(null, NAME, GROUP, SUBGROUP, TIMESTAMP1, TIMESTAMP2, ORDER, 1); @@ -211,6 +211,32 @@ public class PdpStatisticsProviderTest { } @Test + public void testGetFilteredPdpStatistics() throws Exception { + + assertThatThrownBy(() -> { + new PdpStatisticsProvider().getFilteredPdpStatistics(null, PdpFilterParameters.builder().build()); + }).hasMessageMatching(DAO_IS_NULL); + + + List<PdpStatistics> createdPdpStatisticsList; + createdPdpStatisticsList = new PdpStatisticsProvider().createPdpStatistics(pfDao, pdpStatisticsTestList); + createdListStr = createdPdpStatisticsList.toString(); + assertEquals(createdListStr.replaceAll("\\s+", ""), testListStr.replaceAll("\\s+", "")); + + List<PdpStatistics> getPdpStatisticsList; + getPdpStatisticsList = new PdpStatisticsProvider().getFilteredPdpStatistics(pfDao, PdpFilterParameters + .builder().name(NAME).group(GROUP).startTime(TIMESTAMP1).endTime(TIMESTAMP2).build()); + assertThat(getPdpStatisticsList).hasSize(1); + getPdpStatisticsList = new PdpStatisticsProvider().getFilteredPdpStatistics(pfDao, PdpFilterParameters + .builder().name("name2").group(GROUP).startTime(TIMESTAMP1).endTime(TIMESTAMP2).build()); + assertThat(getPdpStatisticsList).hasSize(1); + getPdpStatisticsList = new PdpStatisticsProvider().getFilteredPdpStatistics(pfDao, + PdpFilterParameters.builder().name("name2").group(GROUP).subGroup(SUBGROUP) + .startTime(TIMESTAMP1).endTime(TIMESTAMP2).build()); + assertThat(getPdpStatisticsList).hasSize(1); + } + + @Test public void testUpdatePdpStatistics() throws Exception { assertThatThrownBy(() -> { new PdpStatisticsProvider().updatePdpStatistics(null, null); |