import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import java.util.Arrays;
import java.util.List;
-import java.util.function.BiFunction;
+import java.util.Set;
import javax.ws.rs.core.Response.Status;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
import org.onap.policy.common.utils.services.Registry;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.pdp.concepts.PdpGroup;
import org.onap.policy.models.pdp.enums.PdpState;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifierOptVersion;
+import org.onap.policy.pap.main.rest.depundep.ProviderBase.Updater;
public class TestPdpGroupDeleteProvider extends ProviderSuper {
private static final String EXPECTED_EXCEPTION = "expected exception";
private static final String GROUP1_NAME = "groupA";
- private MyProvider prov;
+ @Mock
private SessionData session;
+
+ @Captor
+ private ArgumentCaptor<Set<String>> pdpCaptor;
+
+ private MyProvider prov;
private ToscaPolicyIdentifierOptVersion optIdent;
private ToscaPolicyIdentifierOptVersion fullIdent;
private ToscaPolicyIdentifier ident;
- private BiFunction<PdpGroup, PdpSubGroup, Boolean> updater;
+ private Updater updater;
@AfterClass
super.setUp();
- session = mock(SessionData.class);
ident = policy1.getIdentifier();
optIdent = new ToscaPolicyIdentifierOptVersion(ident.getName(), null);
fullIdent = new ToscaPolicyIdentifierOptVersion(ident.getName(), ident.getVersion());
prov = new MyProvider();
- updater = prov.makeUpdater(policy1, fullIdent);
+ updater = prov.makeUpdater(session, policy1, fullIdent);
}
@Test
}
@Test
- public void testMakeUpdater_WithVersion() {
+ public void testMakeUpdater_WithVersion() throws PfModelException {
/*
* this group has two matching policies and one policy with a different name.
*/
// identified policy should have been removed
assertEquals(origSize - 1, subgroup.getPolicies().size());
assertFalse(subgroup.getPolicies().contains(ident));
+
+ verify(session).trackUndeploy(eq(ident), pdpCaptor.capture());
+ assertEquals("[pdpA]", pdpCaptor.getValue().toString());
}
@Test
- public void testMakeUpdater_NullVersion() {
+ public void testMakeUpdater_NullVersion() throws PfModelException {
/*
* this group has two matching policies and one policy with a different name.
*/
int origSize = subgroup.getPolicies().size();
// invoke updater - matching the name, but with a null (i.e., wild-card) version
- updater = prov.makeUpdater(policy1, optIdent);
+ updater = prov.makeUpdater(session, policy1, optIdent);
assertTrue(updater.apply(group, subgroup));
// identified policy should have been removed
}
@Test
- public void testMakeUpdater_NotFound() {
+ public void testMakeUpdater_NotFound() throws PfModelException {
/*
* this group has one policy with a different name and one with a different
* version, but not the policy of interest.