X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-pdp%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Fpdp%2Fpersistence%2Fconcepts%2FJpaPdpStatisticsTest.java;h=505e3f6853c10c7300bebd04b2b6d0ab516322c9;hb=f78237c84420aa8db35ae70d8c9d177307471474;hp=62f0c5be01e299ca5ce6740bb8632697c00928be;hpb=e27645bd4d0e3a873a8e9312b04ae7394ec02bb8;p=policy%2Fmodels.git diff --git a/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpStatisticsTest.java b/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpStatisticsTest.java index 62f0c5be0..505e3f685 100644 --- a/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpStatisticsTest.java +++ b/models-pdp/src/test/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpStatisticsTest.java @@ -1,6 +1,8 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. + * Copyright (C) 2019-2021 Nordix Foundation. + * Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2022 Bell Canada. 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. @@ -21,22 +23,124 @@ package org.onap.policy.models.pdp.persistence.concepts; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import java.time.Instant; +import java.util.ArrayList; import org.junit.Test; +import org.onap.policy.models.pdp.concepts.PdpStatistics; /** * Test the {@link JpaPdpStatistics} class. - * */ public class JpaPdpStatisticsTest { - private static final String NULL_KEY_ERROR = "key is marked @NonNull but is null"; - private static final String PDP1 = "ThePDP"; - // TODO More unit test cases will be added later. @Test - public void testJpaPdpStatistics() { - assertThatThrownBy(() -> { - new JpaPdpStatistics((JpaPdpStatistics) null); - }).hasMessage("copyConcept is marked @NonNull but is null"); + public void testConstructor() { + + assertThatThrownBy(() -> new JpaPdpStatistics((JpaPdpStatistics) null)).hasMessageContaining("copyConcept"); + + assertThatThrownBy(() -> new JpaPdpStatistics((PdpStatistics) null)).hasMessageContaining("authorativeConcept"); + + assertNotNull(new JpaPdpStatistics()); + + PdpStatistics pdpStat = createPdpStatistics(); + JpaPdpStatistics jpaPdpStat = new JpaPdpStatistics(createPdpStatistics()); + checkEquals(pdpStat, jpaPdpStat); + + JpaPdpStatistics jpaPdpStat2 = new JpaPdpStatistics(jpaPdpStat); + assertEquals(0, jpaPdpStat2.compareTo(jpaPdpStat)); + } + + @Test + public void testFromAuthorative() { + PdpStatistics pdpStat = createPdpStatistics(); + JpaPdpStatistics jpaPdpStat = new JpaPdpStatistics(); + jpaPdpStat.fromAuthorative(pdpStat); + checkEquals(pdpStat, jpaPdpStat); + } + + @Test + public void testToAuthorative() { + PdpStatistics pdpStat = createPdpStatistics(); + JpaPdpStatistics jpaPdpStat = new JpaPdpStatistics(pdpStat); + PdpStatistics toPdpStat = jpaPdpStat.toAuthorative(); + assertEquals(pdpStat, toPdpStat); + } + + @Test + public void testCompareTo() { + PdpStatistics pdpStat = createPdpStatistics(); + JpaPdpStatistics jpaPdpStat1 = new JpaPdpStatistics(pdpStat); + assertEquals(-1, jpaPdpStat1.compareTo(null)); + + JpaPdpStatistics jpaPdpStat2 = new JpaPdpStatistics(pdpStat); + assertEquals(0, jpaPdpStat1.compareTo(jpaPdpStat2)); + + PdpStatistics pdpStat3 = createPdpStatistics(); + pdpStat3.setPdpInstanceId("PDP3"); + JpaPdpStatistics jpaPdpStat3 = new JpaPdpStatistics(pdpStat3); + assertNotEquals(0, jpaPdpStat1.compareTo(jpaPdpStat3)); + } + + @Test + public void testValidate() { + JpaPdpStatistics nullKeyJpaPdpStat = new JpaPdpStatistics(); + assertFalse(nullKeyJpaPdpStat.validate("").isValid()); + + PdpStatistics pdpStat = createPdpStatistics(); + JpaPdpStatistics jpaPdpStat2 = new JpaPdpStatistics(pdpStat); + assertTrue(jpaPdpStat2.validate("").isValid()); + } + + @Test + public void testClean() { + PdpStatistics pdpStat = createPdpStatistics(); + JpaPdpStatistics jpaPdpStat = new JpaPdpStatistics(pdpStat); + jpaPdpStat.setPdpGroupName(" PDPGroup0 "); + jpaPdpStat.setPdpSubGroupName(" PDPSubGroup0 "); + jpaPdpStat.clean(); + assertEquals("PDPGroup0", jpaPdpStat.getPdpGroupName()); + assertEquals("PDPSubGroup0", jpaPdpStat.getPdpSubGroupName()); + } + + private void checkEquals(PdpStatistics pdpStat, JpaPdpStatistics jpaPdpStat) { + assertEquals(pdpStat.getPdpInstanceId(), jpaPdpStat.getKey().getName()); + assertEquals(pdpStat.getPdpGroupName(), jpaPdpStat.getPdpGroupName()); + assertEquals(pdpStat.getPdpSubGroupName(), jpaPdpStat.getPdpSubGroupName()); + assertEquals(pdpStat.getTimeStamp(), jpaPdpStat.getTimeStamp().toInstant()); + assertEquals(pdpStat.getPolicyDeployCount(), jpaPdpStat.getPolicyDeployCount()); + assertEquals(pdpStat.getPolicyDeploySuccessCount(), jpaPdpStat.getPolicyDeploySuccessCount()); + assertEquals(pdpStat.getPolicyDeployFailCount(), jpaPdpStat.getPolicyDeployFailCount()); + assertEquals(pdpStat.getPolicyUndeployCount(), jpaPdpStat.getPolicyUndeployCount()); + assertEquals(pdpStat.getPolicyUndeploySuccessCount(), jpaPdpStat.getPolicyUndeploySuccessCount()); + assertEquals(pdpStat.getPolicyUndeployFailCount(), jpaPdpStat.getPolicyUndeployFailCount()); + assertEquals(pdpStat.getPolicyExecutedCount(), jpaPdpStat.getPolicyExecutedCount()); + assertEquals(pdpStat.getPolicyExecutedSuccessCount(), jpaPdpStat.getPolicyExecutedSuccessCount()); + assertEquals(pdpStat.getPolicyExecutedFailCount(), jpaPdpStat.getPolicyExecutedFailCount()); + } + + private PdpStatistics createPdpStatistics() { + PdpStatistics pdpStat = new PdpStatistics(); + pdpStat.setPdpInstanceId("PDP0"); + pdpStat.setPdpGroupName("PDPGroup0"); + pdpStat.setPdpSubGroupName("PDPSubGroup0"); + pdpStat.setGeneratedId(10001L); + pdpStat.setTimeStamp(Instant.EPOCH); + pdpStat.setPolicyDeployCount(3); + pdpStat.setPolicyDeploySuccessCount(1); + pdpStat.setPolicyDeployFailCount(2); + pdpStat.setPolicyUndeployCount(5); + pdpStat.setPolicyUndeploySuccessCount(2); + pdpStat.setPolicyUndeployFailCount(3); + pdpStat.setPolicyExecutedCount(9); + pdpStat.setPolicyExecutedSuccessCount(4); + pdpStat.setPolicyExecutedFailCount(5); + pdpStat.setEngineStats(new ArrayList<>()); + return pdpStat; } }