* ============LICENSE_START=======================================================
* ONAP PAP
* ================================================================================
- * Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2021 Nordix Foundation.
+ * Copyright (C) 2019-2022 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2021-2022 Nordix Foundation.
+ * 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.
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import io.micrometer.core.instrument.MeterRegistry;
import java.io.File;
import java.util.ArrayList;
-import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
import org.junit.Before;
import org.mockito.ArgumentCaptor;
import org.onap.policy.models.pdp.concepts.PdpGroups;
import org.onap.policy.models.pdp.concepts.PdpStateChange;
import org.onap.policy.models.pdp.concepts.PdpUpdate;
-import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
import org.onap.policy.pap.main.PapConstants;
-import org.onap.policy.pap.main.PolicyModelsProviderFactoryWrapper;
import org.onap.policy.pap.main.comm.PdpModifyRequestMap;
import org.onap.policy.pap.main.notification.PolicyNotifier;
+import org.onap.policy.pap.main.service.PdpGroupService;
+import org.onap.policy.pap.main.service.PolicyAuditService;
+import org.onap.policy.pap.main.service.PolicyStatusService;
+import org.onap.policy.pap.main.service.ToscaServiceTemplateService;
/**
* Super class for TestPdpGroupDeployProviderXxx classes.
public static final String DEFAULT_USER = "PAP_TEST";
@Mock
- protected PolicyModelsProvider dao;
+ protected PdpGroupService pdpGroupService;
@Mock
- protected PolicyNotifier notifier;
+ protected PolicyStatusService policyStatusService;
+
+ @Mock
+ protected PolicyAuditService policyAuditService;
+ @Mock
+ protected ToscaServiceTemplateService toscaService;
+
+ @Mock
+ protected PolicyNotifier notifier;
/**
* Used to capture input to dao.updatePdpGroups() and dao.createPdpGroups().
protected Object lockit;
protected PdpModifyRequestMap reqmap;
- protected PolicyModelsProviderFactoryWrapper daofact;
protected ToscaPolicy policy1;
-
+ protected PapStatisticsManager statsmanager;
+ protected MeterRegistry meterRegistry;
/**
* Configures DAO, captors, and various mocks.
reqmap = mock(PdpModifyRequestMap.class);
lockit = new Object();
- daofact = mock(PolicyModelsProviderFactoryWrapper.class);
policy1 = loadPolicy("policy.json");
+ statsmanager = mock(PapStatisticsManager.class);
- when(daofact.create()).thenReturn(dao);
+ meterRegistry = mock(MeterRegistry.class);
List<PdpGroup> groups = loadGroups("groups.json");
- when(dao.getFilteredPdpGroups(any())).thenReturn(groups);
+ when(pdpGroupService.getFilteredPdpGroups(any())).thenReturn(groups);
- when(dao.createPdpGroups(any())).thenAnswer(answer -> answer.getArgument(0, List.class));
- when(dao.updatePdpGroups(any())).thenAnswer(answer -> answer.getArgument(0, List.class));
+ when(pdpGroupService.createPdpGroups(any())).thenAnswer(answer -> answer.getArgument(0, List.class));
+ when(pdpGroupService.updatePdpGroups(any())).thenAnswer(answer -> answer.getArgument(0, List.class));
Registry.register(PapConstants.REG_PDP_MODIFY_LOCK, lockit);
Registry.register(PapConstants.REG_PDP_MODIFY_MAP, reqmap);
- Registry.register(PapConstants.REG_PAP_DAO_FACTORY, daofact);
- Registry.register(PapConstants.REG_POLICY_NOTIFIER, notifier);
+ Registry.register(PapConstants.REG_STATISTICS_MANAGER, statsmanager);
+ Registry.register(PapConstants.REG_METER_REGISTRY, meterRegistry);
+
+ }
+
+ /**
+ * Initialize services to the provider for tests.
+ *
+ * @param prov the provider
+ */
+ public void initialize(ProviderBase prov) {
+ prov.setPdpGroupService(pdpGroupService);
+ prov.setPolicyAuditService(policyAuditService);
+ prov.setPolicyStatusService(policyStatusService);
+ prov.setToscaService(toscaService);
+ prov.setPolicyNotifier(notifier);
+ prov.initialize();
}
protected void assertGroup(List<PdpGroup> groups, String name) {
* Gets the input to the create() method.
*
* @return the input that was passed to the dao.updatePdpGroups() method
- * @throws Exception if an error occurred
*/
- protected List<PdpGroup> getGroupCreates() throws Exception {
- verify(dao).createPdpGroups(updateCaptor.capture());
+ protected List<PdpGroup> getGroupCreates() {
+ verify(pdpGroupService).createPdpGroups(updateCaptor.capture());
return copyList(updateCaptor.getValue());
}
* Gets the input to the update() method.
*
* @return the input that was passed to the dao.updatePdpGroups() method
- * @throws Exception if an error occurred
*/
- protected List<PdpGroup> getGroupUpdates() throws Exception {
- verify(dao).updatePdpGroups(updateCaptor.capture());
+ protected List<PdpGroup> getGroupUpdates() {
+ verify(pdpGroupService).updatePdpGroups(updateCaptor.capture());
return copyList(updateCaptor.getValue());
}
verify(reqmap, times(count)).addRequest(any(), captor.capture());
- return captor.getAllValues().stream().filter(req -> req != null).collect(Collectors.toList());
+ return captor.getAllValues().stream().filter(Objects::nonNull).collect(Collectors.toList());
}
/**
verify(reqmap, times(count)).addRequest(captor.capture(), any());
- return captor.getAllValues().stream().filter(req -> req != null).collect(Collectors.toList());
+ return captor.getAllValues().stream().filter(Objects::nonNull).collect(Collectors.toList());
}
/**
*/
private List<PdpGroup> copyList(List<PdpGroup> source) {
List<PdpGroup> newlst = new ArrayList<>(source);
- Collections.sort(newlst, (left, right) -> left.getName().compareTo(right.getName()));
+ newlst.sort(Comparator.comparing(PdpGroup::getName));
return newlst;
}