diff options
author | Jim Hahn <jrh3@att.com> | 2018-07-16 17:04:55 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2018-07-16 17:08:22 -0400 |
commit | f892e8b13ea87c1d7fb1c890f64ff00fc6e2de5f (patch) | |
tree | f8cef500ab1a90f5c893a8e8e6767887c5a120cb /controlloop/common/guard/src/test/java | |
parent | b266225319cf01ce0d778074fc1f792a3f7a1321 (diff) |
Use refresh() instead of lock() in guard
This is the second step of separating the lock "refresh" operation
from the original "lock" operation.
Modified PolicyGuard to use refresh() to extend a lock. Also removed
the host name from the owner String, as it will no be longer needed
(once the final step is done).
Change-Id: I3a498e6f81d9dba1bbdfd6f7388087355192bcf5
Issue-ID: POLICY-872
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'controlloop/common/guard/src/test/java')
-rw-r--r-- | controlloop/common/guard/src/test/java/org/onap/policy/guard/PolicyGuardTest.java | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/controlloop/common/guard/src/test/java/org/onap/policy/guard/PolicyGuardTest.java b/controlloop/common/guard/src/test/java/org/onap/policy/guard/PolicyGuardTest.java index e24706989..dd1ede49c 100644 --- a/controlloop/common/guard/src/test/java/org/onap/policy/guard/PolicyGuardTest.java +++ b/controlloop/common/guard/src/test/java/org/onap/policy/guard/PolicyGuardTest.java @@ -43,7 +43,6 @@ import org.onap.policy.guard.impl.VMTargetLock; import org.onap.policy.guard.impl.VNFTargetLock; public class PolicyGuardTest { - private static final String HOSTNAME = "my.host"; private static final String INSTANCENAME = "targetInstance"; private static final int LOCK_SEC = 10; @@ -117,7 +116,6 @@ public class PolicyGuardTest { factory = mock(Factory.class); when(factory.getManager()).thenReturn(mgr); - when(factory.getHostname()).thenReturn(HOSTNAME); uuid = UUID.randomUUID(); dlcb = new DummyLockCallback(); @@ -277,42 +275,48 @@ public class PolicyGuardTest { } @Test - public void testManagerLockTarget() throws Exception { + public void testLockTargetTargetTypeStringUUIDLockCallbackInt() throws Exception { TargetType type = TargetType.VM; LockResult<GuardResult, TargetLock> result; // acquired result = PolicyGuard.lockTarget(type, INSTANCENAME, uuid, dlcb, LOCK_SEC); - verify(mgr).lock(INSTANCENAME, HOSTNAME+":"+type+":"+uuid, LOCK_SEC); + verify(mgr).lock(INSTANCENAME, type+":"+uuid, LOCK_SEC); assertEquals(GuardResult.LOCK_ACQUIRED, result.getA()); assertEquals(VMTargetLock.class, result.getB().getClass()); - // diff host name - denied - when(factory.getHostname()).thenReturn(HOSTNAME+"x"); - result = PolicyGuard.lockTarget(type, INSTANCENAME, uuid, dlcb, LOCK_SEC+10); - verify(mgr).lock(INSTANCENAME, HOSTNAME+"x:"+type+":"+uuid, LOCK_SEC+10); + // diff owner - denied + UUID uuid2 = UUID.randomUUID(); + result = PolicyGuard.lockTarget(type, INSTANCENAME, uuid2, dlcb, LOCK_SEC+10); + verify(mgr).lock(INSTANCENAME, type+":"+uuid2, LOCK_SEC+10); assertEquals(GuardResult.LOCK_DENIED, result.getA()); assertNull(result.getB()); } @Test - public void testManagerLockTargetTargetLockInt() throws Exception { + public void testLockTargetTargetLockInt() throws Exception { TargetType type = TargetType.VM; - DummyTargetLock lock = new DummyTargetLock(type, uuid); + + LockResult<GuardResult, TargetLock> result; // acquired - assertEquals(GuardResult.LOCK_ACQUIRED, PolicyGuard.lockTarget(lock, LOCK_SEC)); - verify(mgr).lock(INSTANCENAME, HOSTNAME+":"+type+":"+uuid, LOCK_SEC); + result = PolicyGuard.lockTarget(type, INSTANCENAME, uuid, dlcb, LOCK_SEC); + verify(mgr).lock(INSTANCENAME, type+":"+uuid, LOCK_SEC); + assertEquals(GuardResult.LOCK_ACQUIRED, result.getA()); + assertEquals(VMTargetLock.class, result.getB().getClass()); - // same host name - re-acquired + TargetLock lock = result.getB(); + + // refresh - re-acquired assertEquals(GuardResult.LOCK_ACQUIRED, PolicyGuard.lockTarget(lock, LOCK_SEC+1)); - verify(mgr).lock(INSTANCENAME, HOSTNAME+":"+type+":"+uuid, LOCK_SEC+1); + verify(mgr).refresh(INSTANCENAME, type+":"+uuid, LOCK_SEC+1); + + // unlock + PolicyGuard.unlockTarget(lock); - // diff host name - denied - when(factory.getHostname()).thenReturn(HOSTNAME+"_"); + // refresh - denied, as we no longer own the lock assertEquals(GuardResult.LOCK_DENIED, PolicyGuard.lockTarget(lock, LOCK_SEC+2)); - verify(mgr).lock(INSTANCENAME, HOSTNAME+"_:"+type+":"+uuid, LOCK_SEC+2); } @Test(expected = IllegalArgumentException.class) |