* ========================LICENSE_START=================================
* O-RAN-SC
* %%
- * Copyright (C) 2019 Nordix Foundation
+ * Copyright (C) 2020 Nordix Foundation
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.oransc.policyagent.tasks;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import java.util.Collections;
import java.util.List;
import java.util.Vector;
+
+import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.oransc.policyagent.configuration.ImmutableRicConfig;
import org.oransc.policyagent.repository.ImmutablePolicy;
import org.oransc.policyagent.repository.ImmutablePolicyType;
+import org.oransc.policyagent.repository.Lock.LockType;
import org.oransc.policyagent.repository.Policies;
import org.oransc.policyagent.repository.Policy;
import org.oransc.policyagent.repository.PolicyType;
.build();
private static final Ric RIC_1 = new Ric(ImmutableRicConfig.builder() //
- .name("ric1") //
+ .name("RIC_1") //
.baseUrl("baseUrl1") //
.managedElementIds(new Vector<String>(Arrays.asList("kista_1", "kista_2"))) //
.build());
@Mock
private RicSynchronizationTask recoveryTaskMock;
- private PolicyTypes types;
- private Policies policies;
- private Rics rics;
+ private final PolicyTypes types = new PolicyTypes();
+ private Policies policies = new Policies();
+ private Rics rics = new Rics();
@BeforeEach
public void init() {
doReturn(Mono.just(a1ClientMock)).when(a1ClientFactory).createA1Client(any(Ric.class));
- types = new PolicyTypes();
- policies = new Policies();
- rics = new Rics();
+ types.clear();
+ policies.clear();
+ rics.clear();
RIC_1.setState(RicState.UNDEFINED);
RIC_1.clearSupportedPolicyTypes();
}
+ @AfterEach
+ public void verifyNoRicLocks() {
+ for (Ric ric : this.rics.getRics()) {
+ ric.getLock().lockBlocking(LockType.EXCLUSIVE);
+ ric.getLock().unlockBlocking();
+ assertThat(ric.getLock().getLockCounter()).isEqualTo(0);
+ }
+ }
+
@Test
public void whenRicIdleAndNoChangedPoliciesOrPolicyTypes_thenNoRecovery() {
RIC_1.setState(RicState.IDLE);
when(a1ClientMock.getPolicyTypeIdentities()).thenReturn(Mono.error((Exception) returnValue));
}
}
-}
\ No newline at end of file
+}