summaryrefslogtreecommitdiffstats
path: root/main/src/test/java/org/onap
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2021-06-28 18:03:28 +0000
committerGerrit Code Review <gerrit@onap.org>2021-06-28 18:03:28 +0000
commit6eac3876d78c7fac402a4a9081132d1dede6e284 (patch)
tree713763a296fcf22a8a1216fa44c9a98fcc6f9401 /main/src/test/java/org/onap
parent8f4913ffe5888a2eed517da4f565a614c4fe1d44 (diff)
parentf76d2083c9440bac3ac866b30b52a3abedb9292c (diff)
Merge "Send pdp-update if PDP response doesn't match DB"
Diffstat (limited to 'main/src/test/java/org/onap')
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/comm/PdpModifyRequestMapTest.java22
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandlerTest.java101
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/comm/msgdata/RequestImplTest.java16
3 files changed, 127 insertions, 12 deletions
diff --git a/main/src/test/java/org/onap/policy/pap/main/comm/PdpModifyRequestMapTest.java b/main/src/test/java/org/onap/policy/pap/main/comm/PdpModifyRequestMapTest.java
index 0e9be09f..fd5ff86e 100644
--- a/main/src/test/java/org/onap/policy/pap/main/comm/PdpModifyRequestMapTest.java
+++ b/main/src/test/java/org/onap/policy/pap/main/comm/PdpModifyRequestMapTest.java
@@ -101,6 +101,9 @@ public class PdpModifyRequestMapTest extends CommonRequestBase {
@Mock
private PolicyUndeployer undeployer;
+ @Mock
+ private PdpStatusMessageHandler responseHandler;
+
private MyMap map;
private PdpUpdate update;
private PdpStateChange change;
@@ -149,9 +152,10 @@ public class PdpModifyRequestMapTest extends CommonRequestBase {
assertFalse(map.isEmpty());
// indicate success
- getListener(getSingletons(1).get(0)).success(PDP1);
+ getListener(getSingletons(1).get(0)).success(PDP1, response);
assertTrue(map.isEmpty());
+ verify(responseHandler, never()).handlePdpStatus(response);
}
@Test
@@ -325,7 +329,9 @@ public class PdpModifyRequestMapTest extends CommonRequestBase {
map.addRequest(change);
// indicate success
- getListener(getSingletons(1).get(0)).success(PDP1);
+ getListener(getSingletons(1).get(0)).success(PDP1, response);
+
+ verify(responseHandler, never()).handlePdpStatus(response);
/*
* the above should have removed the requests so next time should allocate a new
@@ -344,7 +350,10 @@ public class PdpModifyRequestMapTest extends CommonRequestBase {
// indicate success with the update
when(requests.startNextRequest(updateReq)).thenReturn(true);
- getListener(updateReq).success(PDP1);
+ getListener(updateReq).success(PDP1, response);
+
+ // should be called for the update
+ verify(responseHandler).handlePdpStatus(response);
// should have started the next request
verify(requests).startNextRequest(updateReq);
@@ -654,7 +663,7 @@ public class PdpModifyRequestMapTest extends CommonRequestBase {
* @param count expected number of requests
*/
private void invokeSuccessHandler(int count) {
- getListener(getSingletons(count).get(0)).success(PDP1);
+ getListener(getSingletons(count).get(0)).success(PDP1, response);
}
/**
@@ -764,5 +773,10 @@ public class PdpModifyRequestMapTest extends CommonRequestBase {
++nalloc;
return requests;
}
+
+ @Override
+ protected PdpStatusMessageHandler makePdpResponseHandler() {
+ return responseHandler;
+ }
}
}
diff --git a/main/src/test/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandlerTest.java b/main/src/test/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandlerTest.java
new file mode 100644
index 00000000..5129bf5f
--- /dev/null
+++ b/main/src/test/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandlerTest.java
@@ -0,0 +1,101 @@
+/*-
+ * ============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.pap.main.comm;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.sql.SQLIntegrityConstraintViolationException;
+import org.eclipse.persistence.exceptions.EclipseLinkException;
+import org.junit.Test;
+
+public class PdpStatusMessageHandlerTest {
+
+ @Test
+ public void testIsDuplicateKeyException() {
+
+ // @formatter:off
+
+ // null exception
+ assertThat(PdpStatusMessageHandler.isDuplicateKeyException(null)).isFalse();
+
+ // plain exception
+ assertThat(PdpStatusMessageHandler.isDuplicateKeyException(
+ new Exception()))
+ .isFalse();
+
+ // cause is also plain
+ assertThat(PdpStatusMessageHandler.isDuplicateKeyException(
+ new Exception(
+ new Exception())))
+ .isFalse();
+
+ // dup key
+ assertThat(PdpStatusMessageHandler.isDuplicateKeyException(
+ new SQLIntegrityConstraintViolationException()))
+ .isTrue();
+
+ // cause is dup key
+ assertThat(PdpStatusMessageHandler.isDuplicateKeyException(
+ new Exception(
+ new SQLIntegrityConstraintViolationException())))
+ .isTrue();
+
+ // eclipselink exception, no internal exception
+ assertThat(PdpStatusMessageHandler.isDuplicateKeyException(
+ new MyEclipseLinkException()))
+ .isFalse();
+
+ // eclipselink exception, cause is plain
+ assertThat(PdpStatusMessageHandler.isDuplicateKeyException(
+ new MyEclipseLinkException(
+ new Exception())))
+ .isFalse();
+
+ // eclipselink exception, cause is dup
+ assertThat(PdpStatusMessageHandler.isDuplicateKeyException(
+ new MyEclipseLinkException(
+ new SQLIntegrityConstraintViolationException())))
+ .isTrue();
+
+ // multiple cause both inside and outside of the eclipselink exception
+ assertThat(PdpStatusMessageHandler.isDuplicateKeyException(
+ new Exception(
+ new Exception(
+ new MyEclipseLinkException(
+ new Exception(
+ new SQLIntegrityConstraintViolationException()))))))
+ .isTrue();
+
+ // @formatter:on
+ }
+
+ public static class MyEclipseLinkException extends EclipseLinkException {
+ private static final long serialVersionUID = 1L;
+
+ public MyEclipseLinkException() {
+ // do nothing
+ }
+
+ public MyEclipseLinkException(Exception exception) {
+ setInternalException(exception);
+ }
+ }
+}
diff --git a/main/src/test/java/org/onap/policy/pap/main/comm/msgdata/RequestImplTest.java b/main/src/test/java/org/onap/policy/pap/main/comm/msgdata/RequestImplTest.java
index abce7eb3..dd635627 100644
--- a/main/src/test/java/org/onap/policy/pap/main/comm/msgdata/RequestImplTest.java
+++ b/main/src/test/java/org/onap/policy/pap/main/comm/msgdata/RequestImplTest.java
@@ -292,7 +292,7 @@ public class RequestImplTest extends CommonRequestBase {
invokeProcessResponse(response);
- verify(listener).success(PDP1);
+ verify(listener).success(PDP1, response);
verify(listener, never()).failure(any(), any());
verify(timer).cancel();
}
@@ -305,7 +305,7 @@ public class RequestImplTest extends CommonRequestBase {
invokeProcessResponse(response);
- verify(listener, never()).success(any());
+ verify(listener, never()).success(any(), any());
verify(listener, never()).failure(any(), any());
}
@@ -317,7 +317,7 @@ public class RequestImplTest extends CommonRequestBase {
invokeProcessResponse(response);
- verify(listener, never()).success(any());
+ verify(listener, never()).success(any(), any());
verify(listener, never()).failure(any(), any());
verify(timer, never()).cancel();
}
@@ -330,7 +330,7 @@ public class RequestImplTest extends CommonRequestBase {
invokeProcessResponse(response);
- verify(listener, never()).success(any());
+ verify(listener, never()).success(any(), any());
verify(listener).failure(DIFFERENT, "PDP name does not match");
verify(timer).cancel();
}
@@ -390,7 +390,7 @@ public class RequestImplTest extends CommonRequestBase {
invokeProcessResponse(response);
- verify(listener).success(PDP1);
+ verify(listener).success(PDP1, response);
verify(listener, never()).failure(any(), any());
}
@@ -402,7 +402,7 @@ public class RequestImplTest extends CommonRequestBase {
invokeProcessResponse(response);
- verify(listener, never()).success(any());
+ verify(listener, never()).success(any(), any());
verify(listener).failure(null, "null PDP name");
}
@@ -414,7 +414,7 @@ public class RequestImplTest extends CommonRequestBase {
invokeProcessResponse(response);
- verify(listener, never()).success(any());
+ verify(listener, never()).success(any(), any());
verify(listener).failure(DIFFERENT, "PDP name does not match");
}
@@ -427,7 +427,7 @@ public class RequestImplTest extends CommonRequestBase {
invokeProcessResponse(response);
- verify(listener).success(DIFFERENT);
+ verify(listener).success(DIFFERENT, response);
verify(listener, never()).failure(any(), any());
}