Removing deprecated DMAAP library
[policy/drools-pdp.git] / policy-core / src / test / java / org / onap / policy / drools / core / lock / AlwaysSuccessLockTest.java
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2024 Nordix Foundation.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.drools.core.lock;
23
24 import static org.assertj.core.api.Assertions.assertThatCode;
25 import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
26 import static org.junit.jupiter.api.Assertions.assertEquals;
27 import static org.junit.jupiter.api.Assertions.assertSame;
28 import static org.junit.jupiter.api.Assertions.assertTrue;
29 import static org.mockito.Mockito.mock;
30
31 import org.junit.jupiter.api.BeforeEach;
32 import org.junit.jupiter.api.Test;
33
34 class AlwaysSuccessLockTest extends AlwaysLockBaseTest<AlwaysSuccessLock> {
35
36     @BeforeEach
37     public void setUp() {
38         callback = mock(LockCallback.class);
39         lock = new AlwaysSuccessLock(RESOURCE, OWNER_KEY, HOLD_SEC, callback);
40     }
41
42     @Test
43     void testAlwaysSuccessLockConstructors() {
44         assertThatCode(AlwaysSuccessLock::new).doesNotThrowAnyException();
45         assertThatCode(() -> new AlwaysSuccessLock(LockState.ACTIVE, RESOURCE, OWNER_KEY, HOLD_SEC, callback))
46             .doesNotThrowAnyException();
47         assertThatIllegalArgumentException()
48             .isThrownBy(() -> new AlwaysSuccessLock(LockState.UNAVAILABLE, RESOURCE, OWNER_KEY, HOLD_SEC, callback));
49     }
50
51     @Test
52     void testActiveLock() {
53         assertTrue(lock.isActive());
54     }
55
56     @Test
57     void testFree() {
58         assertTrue(lock.free());
59         assertTrue(lock.isActive());
60     }
61
62     @Test
63     void testExtend() {
64         LockCallback callback2 = mock(LockCallback.class);
65         lock.extend(HOLD_SEC2, callback2);
66
67         assertEquals(HOLD_SEC2, lock.getHoldSec());
68         assertSame(callback2, lock.getCallback());
69     }
70 }