* ONAP
* ================================================================================
* Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
+ * Modifications Copyright (C) 2021-2022 Bell Canada. All rights reserved.
+ * Modifications Copyright (C) 2021, 2023 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.policy.pap.main.rest;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.when;
import java.util.ArrayList;
-import java.util.Collections;
+import java.util.Collection;
+import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import lombok.NonNull;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.onap.policy.common.utils.services.Registry;
-import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.pap.concepts.PolicyStatus;
import org.onap.policy.models.pdp.concepts.PdpPolicyStatus;
import org.onap.policy.models.pdp.concepts.PdpPolicyStatus.PdpPolicyStatusBuilder;
private PolicyStatusProvider prov;
-
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() {
Registry.newRegistry();
}
* @throws Exception if an error occurs
*/
@Override
- @Before
+ @BeforeEach
public void setUp() throws Exception {
super.setUp();
- prov = new PolicyStatusProvider();
+ prov = new PolicyStatusProvider(policyStatusService);
}
@Test
- public void testGetStatus_testAccumulate() throws PfModelException {
+ void testGetStatus_testAccumulate() {
buildPolicyStatusToReturn1();
List<PolicyStatus> result = new ArrayList<>(prov.getStatus());
- Collections.sort(result, (rec1, rec2) -> rec1.getPolicy().compareTo(rec2.getPolicy()));
+ result.sort(Comparator.comparing(PolicyStatus::getPolicy));
assertThat(result).hasSize(3);
}
@Test
- public void testGetStatusToscaConceptIdentifierOptVersion() throws PfModelException {
+ void testGetStatusToscaConceptIdentifierOptVersion() {
ToscaConceptIdentifierOptVersion optIdent = buildPolicyStatusToReturn2();
}
@Test
- public void testGetPolicyStatus() throws PfModelException {
+ void testGetPolicyStatus() {
buildPolicyStatusToReturn1();
List<PdpPolicyStatus> result = new ArrayList<>(prov.getPolicyStatus());
- Collections.sort(result, (rec1, rec2) -> rec1.getPolicy().compareTo(rec2.getPolicy()));
+ result.sort(Comparator.comparing(PdpPolicyStatus::getPolicy));
assertThat(result).hasSize(5);
Iterator<PdpPolicyStatus> iter = result.iterator();
}
@Test
- public void testGetPolicyStatusByGroupAndPolicyIdVersion() throws PfModelException {
+ void testGetPolicyStatusByGroupAndPolicyIdVersion() {
ToscaConceptIdentifierOptVersion optIdent = buildPolicyStatusToReturn2();
assertThat(status.getState()).isEqualTo(State.FAILURE);
}
- private void buildPolicyStatusToReturn1() throws PfModelException {
+ @Test
+ void testGetPolicyStatusByRegexNoMatch() {
+ buildPolicyStatusToReturn1();
+ final String pattern = "Hello";
+
+ final Collection<PolicyStatus> actual = prov.getByRegex(pattern);
+ assertThat(actual).isEmpty();
+ }
+
+ @Test
+ void testGetPolicyStatusOneMatch() {
+ buildPolicyStatusToReturn1();
+ final String pattern = "My(We|Po)[li]{0,3}c.A";
+
+ final Collection<PolicyStatus> actual = prov.getByRegex(pattern);
+ assertThat(actual).hasSize(1);
+
+ final String actualName = actual.iterator().next().getPolicy().getName();
+ assertThat(actualName).isEqualTo("MyPolicyA");
+ }
+
+ @Test
+ void testGetPolicyStatusAllMatch() {
+ buildPolicyStatusToReturn1();
+ final String pattern = "My(We|Po)[li]{0,3}c.{2}0*";
+
+ final Collection<PolicyStatus> actual = prov.getByRegex(pattern);
+
+ assertThat(actual).hasSize(3);
+ }
+
+ private void buildPolicyStatusToReturn1() {
PdpPolicyStatusBuilder builder = PdpPolicyStatus.builder().pdpGroup(MY_GROUP).pdpType(MY_PDP_TYPE)
.policyType(POLICY_TYPE).state(State.WAITING);
builder.deploy(true);
// @formatter:off
- when(dao.getAllPolicyStatus()).thenReturn(List.of(
+ when(policyStatusService.getAllPolicyStatus()).thenReturn(List.of(
builder.policy(POLICY_A).pdpId(PDP_A).build(),
builder.policy(POLICY_A).pdpId(PDP_B).build(),
notDeployed,
// @formatter:on
}
- private ToscaConceptIdentifierOptVersion buildPolicyStatusToReturn2() throws PfModelException {
+ private ToscaConceptIdentifierOptVersion buildPolicyStatusToReturn2() {
PdpPolicyStatusBuilder builder =
PdpPolicyStatus.builder().pdpGroup(MY_GROUP).pdpType(MY_PDP_TYPE).policy(POLICY_A).policyType(POLICY_TYPE);
ToscaConceptIdentifierOptVersion optIdent = new ToscaConceptIdentifierOptVersion(POLICY_A);
// @formatter:off
- when(dao.getAllPolicyStatus(optIdent)).thenReturn(List.of(
+ when(policyStatusService.getAllPolicyStatus(optIdent)).thenReturn(List.of(
builder.policy(POLICY_A).pdpId(PDP_A).build(),
notDeployed,
builder.policy(POLICY_A).pdpId(PDP_C).build()