aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop/common/guard/src/test/java
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2018-07-16 17:04:55 -0400
committerJim Hahn <jrh3@att.com>2018-07-16 17:08:22 -0400
commitf892e8b13ea87c1d7fb1c890f64ff00fc6e2de5f (patch)
treef8cef500ab1a90f5c893a8e8e6767887c5a120cb /controlloop/common/guard/src/test/java
parentb266225319cf01ce0d778074fc1f792a3f7a1321 (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.java38
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)