diff options
author | jhh <jorge.hernandez-herrero@att.com> | 2021-03-09 10:01:17 -0600 |
---|---|---|
committer | jhh <jorge.hernandez-herrero@att.com> | 2021-03-09 15:03:32 -0600 |
commit | 149df90bb72ece740accaf3ea037cf40defcd1bd (patch) | |
tree | f0895c1729c06403abecadca1065d3dfc25de35f /feature-no-locking/src/test | |
parent | dd9d31e90873e12623865fb21bf2e4603e3e0f19 (diff) |
add no locking feature
It provides an interface to applications for locking
purposes that always succeeds. It does not deny
acquiring resource locks.
Issue-ID: POLICY-3114
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Change-Id: I6aebb5f40e4176e0ff7b0e6c6d4042a79dd0b7a3
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Diffstat (limited to 'feature-no-locking/src/test')
-rw-r--r-- | feature-no-locking/src/test/java/org/onap/policy/no/locking/NoLockManagerTest.java | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/feature-no-locking/src/test/java/org/onap/policy/no/locking/NoLockManagerTest.java b/feature-no-locking/src/test/java/org/onap/policy/no/locking/NoLockManagerTest.java new file mode 100644 index 00000000..bae9d109 --- /dev/null +++ b/feature-no-locking/src/test/java/org/onap/policy/no/locking/NoLockManagerTest.java @@ -0,0 +1,96 @@ +/* + * ============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.no.locking; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; + +import org.junit.Before; +import org.junit.Test; +import org.onap.policy.drools.core.lock.AlwaysSuccessLock; +import org.onap.policy.drools.core.lock.Lock; +import org.onap.policy.drools.core.lock.LockCallback; + +public class NoLockManagerTest { + + private NoLockManager nlm; + private LockCallback callback; + + @Before + public void setUp() { + callback = mock(LockCallback.class); + nlm = new NoLockManager(); + } + + @Test + public void testLock() { + assertTrue(nlm.lock()); + } + + @Test + public void testUnlock() { + assertTrue(nlm.unlock()); + } + + @Test + public void testIsLocked() { + assertFalse(nlm.isLocked()); + } + + @Test + public void testStart() { + assertTrue(nlm.start()); + } + + @Test + public void testStop() { + assertTrue(nlm.stop()); + } + + @Test + public void testIsAlive() { + assertTrue(nlm.isAlive()); + } + + @Test + public void testGetSeqNo() { + assertEquals(NoLockManager.SEQNO, nlm.getSequenceNumber()); + } + + @Test + public void testBeforeCreateLockManager() { + assertEquals(nlm, nlm.beforeCreateLockManager(null, null)); + } + + @Test + public void testCreateLock() { + Lock lock = nlm.createLock("x", "y", 1, callback, false); + assertTrue(lock.isActive()); + assertTrue(lock instanceof AlwaysSuccessLock); + verify(callback).lockAvailable(lock); + verify(callback, never()).lockUnavailable(any()); + } +}
\ No newline at end of file |