diff options
author | Magnusen, Drew (dm741q) <dm741q@att.com> | 2018-04-04 11:52:26 -0500 |
---|---|---|
committer | Magnusen, Drew (dm741q) <dm741q@att.com> | 2018-04-04 11:56:34 -0500 |
commit | 155e6205083493851894623b855cd0ec99bbe7c2 (patch) | |
tree | e8be14679660a44b43e43eb762aae5bbc5a32cb5 /feature-distributed-locking/src/test/java | |
parent | 24640f76e3c5c67ab7e0a36d47308762fc72a112 (diff) |
Small modification to resolve junit failures
Added protected method to Heartbeat class that allowed for the passing
of a CountDown latch. This will resolve the timing-related junit
failures in Jenkins environment.
Issue-ID: POLICY-729
Change-Id: I3d2d8bddfb6d9f82be54a2f13bdcd7e1fc65a286
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
Diffstat (limited to 'feature-distributed-locking/src/test/java')
-rw-r--r-- | feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/DistributedLockingFeatureExceptionTest.java (renamed from feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/test/DistributedLockingFeatureExceptionTest.java) | 2 | ||||
-rw-r--r-- | feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/TargetLockTest.java (renamed from feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/test/TargetLockTest.java) | 47 |
2 files changed, 40 insertions, 9 deletions
diff --git a/feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/test/DistributedLockingFeatureExceptionTest.java b/feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/DistributedLockingFeatureExceptionTest.java index ea53e522..5bc3ae5e 100644 --- a/feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/test/DistributedLockingFeatureExceptionTest.java +++ b/feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/DistributedLockingFeatureExceptionTest.java @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.onap.policy.distributed.locking.test; +package org.onap.policy.distributed.locking; import static org.junit.Assert.assertEquals; diff --git a/feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/test/TargetLockTest.java b/feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/TargetLockTest.java index e624afb9..2dc2ceb8 100644 --- a/feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/test/TargetLockTest.java +++ b/feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/TargetLockTest.java @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.onap.policy.distributed.locking.test; +package org.onap.policy.distributed.locking; import org.junit.AfterClass; import org.junit.Before; @@ -70,7 +70,6 @@ public class TargetLockTest { @Before public void wipeDb() { - try (PreparedStatement lockDelete = conn.prepareStatement("DELETE FROM pooling.locks");){ lockDelete.executeUpdate(); } catch (SQLException e) { @@ -101,16 +100,31 @@ public class TargetLockTest { @Test public void testExpiredLocks() throws InterruptedException, ExecutionException { - CountDownLatch latch = new CountDownLatch(1); - + + CountDownLatch rowExpireLatch = new CountDownLatch(1); + CountDownLatch heartbeatLatch = new CountDownLatch(1); + + //grab lock distLockFeat.beforeLock("resource1", "owner1", null); + //Wait for lock to expire try { - latch.await(1000, TimeUnit.MILLISECONDS); + rowExpireLatch.await(150, TimeUnit.MILLISECONDS); } catch (InterruptedException e) { logger.error("Error in testExpiredLocks", e); } + // Grab reference to heartbeat object + Heartbeat heartbeat = distLockFeat.getHeartbeat(); + + // Pass heartbeat object countdown latch + try { + heartbeat.giveLatch(heartbeatLatch); + heartbeatLatch.await(5, TimeUnit.SECONDS); + } catch (InterruptedException e) { + logger.error("Error in testExpiredLocks", e); + } + //Heartbeat should keep it active assertFalse(distLockFeat.beforeLock("resource1", "owner1", null).get()); } @@ -169,16 +183,33 @@ public class TargetLockTest { @Test public void testHeartbeat() { - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch rowExpireLatch = new CountDownLatch(1); + CountDownLatch heartbeatLatch = new CountDownLatch(1); + + //grab lock distLockFeat.beforeLock("resource1", "owner1", null); + + //Wait for lock to expire try { - latch.await(1000, TimeUnit.MILLISECONDS); + rowExpireLatch.await(150, TimeUnit.MILLISECONDS); } catch (InterruptedException e) { logger.error("Error in testExpiredLocks", e); } - // This test always returns true. + //Grab reference to heartbeat object + Heartbeat heartbeat = distLockFeat.getHeartbeat(); + + //Pass heartbeat object countdown latch + try { + heartbeat.giveLatch(heartbeatLatch); + heartbeatLatch.await(5, TimeUnit.SECONDS); + } catch (InterruptedException e) { + logger.error("Error in testExpiredLocks", e); + } + //At this point the heartbeat object should hve + //refreshed the lock. assert that resource1 is + //locked assertTrue(distLockFeat.beforeIsLocked("resource1")); } |