import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.Mockito.verify;
import java.util.Arrays;
import java.util.Vector;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
-import org.oransc.policyagent.configuration.ApplicationConfig.Observer;
+import org.oransc.policyagent.configuration.ApplicationConfig.RicConfigUpdate;
import org.oransc.policyagent.exceptions.ServiceException;
@ExtendWith(MockitoExtension.class)
public class ApplicationConfigTest {
- @Mock
- Observer observerMock1;
-
- @Mock
- Observer observerMock2;
private static final ImmutableRicConfig RIC_CONFIG_1 = ImmutableRicConfig.builder() //
.name("ric1") //
.build();
@Test
- public void addRicShouldNotifyAllObserversOfRicAdded() throws Exception {
+ public void gettingNotAddedRicShouldThrowException() {
ApplicationConfig appConfigUnderTest = new ApplicationConfig();
- appConfigUnderTest.addObserver(observerMock1);
- appConfigUnderTest.addObserver(observerMock2);
-
appConfigUnderTest.setConfiguration(Arrays.asList(RIC_CONFIG_1), null, null);
- verify(observerMock1).onRicConfigUpdate(RIC_CONFIG_1, ApplicationConfig.RicConfigUpdate.ADDED);
- verify(observerMock2).onRicConfigUpdate(RIC_CONFIG_1, ApplicationConfig.RicConfigUpdate.ADDED);
+ Exception exception = assertThrows(ServiceException.class, () -> {
+ appConfigUnderTest.getRic("name");
+ });
+
+ assertEquals("Could not find ric: name", exception.getMessage());
+ }
+
+ @Test
+ public void addRicShouldNotifyAllObserversOfRicAdded() throws Exception {
+ ApplicationConfig appConfigUnderTest = new ApplicationConfig();
+ RicConfigUpdate update =
+ appConfigUnderTest.setConfiguration(Arrays.asList(RIC_CONFIG_1), null, null).blockFirst();
+ assertEquals(RicConfigUpdate.Type.ADDED, update.getType());
assertTrue(appConfigUnderTest.getRicConfigs().contains(RIC_CONFIG_1), "Ric not added to configuraions.");
assertEquals(RIC_CONFIG_1, appConfigUnderTest.getRic(RIC_CONFIG_1.name()),
public void changedRicShouldNotifyAllObserversOfRicChanged() throws Exception {
ApplicationConfig appConfigUnderTest = new ApplicationConfig();
- appConfigUnderTest.addObserver(observerMock1);
-
appConfigUnderTest.setConfiguration(Arrays.asList(RIC_CONFIG_1), null, null);
ImmutableRicConfig changedRicConfig = ImmutableRicConfig.builder() //
.managedElementIds(new Vector<>()) //
.build();
- appConfigUnderTest.setConfiguration(Arrays.asList(changedRicConfig), null, null);
-
- verify(observerMock1).onRicConfigUpdate(RIC_CONFIG_1, ApplicationConfig.RicConfigUpdate.ADDED);
- verify(observerMock1).onRicConfigUpdate(changedRicConfig, ApplicationConfig.RicConfigUpdate.CHANGED);
+ RicConfigUpdate update =
+ appConfigUnderTest.setConfiguration(Arrays.asList(changedRicConfig), null, null).blockFirst();
+ assertEquals(RicConfigUpdate.Type.CHANGED, update.getType());
assertEquals(changedRicConfig, appConfigUnderTest.getRic(RIC_CONFIG_1.name()),
"Changed Ric not retrieved from configurations.");
}
public void removedRicShouldNotifyAllObserversOfRicRemoved() {
ApplicationConfig appConfigUnderTest = new ApplicationConfig();
- appConfigUnderTest.addObserver(observerMock1);
-
ImmutableRicConfig ricConfig2 = ImmutableRicConfig.builder() //
.name("ric2") //
.baseUrl("ric2_url") //
appConfigUnderTest.setConfiguration(Arrays.asList(RIC_CONFIG_1, ricConfig2), null, null);
- appConfigUnderTest.setConfiguration(Arrays.asList(ricConfig2), null, null);
-
- verify(observerMock1).onRicConfigUpdate(RIC_CONFIG_1, ApplicationConfig.RicConfigUpdate.REMOVED);
+ RicConfigUpdate update =
+ appConfigUnderTest.setConfiguration(Arrays.asList(ricConfig2), null, null).blockFirst();
+ assertEquals(RicConfigUpdate.Type.REMOVED, update.getType());
assertEquals(1, appConfigUnderTest.getRicConfigs().size(), "Ric not deleted from configurations.");
}
- @Test
- public void gettingNotAddedRicShouldThrowException() {
- ApplicationConfig appConfigUnderTest = new ApplicationConfig();
-
- appConfigUnderTest.setConfiguration(Arrays.asList(RIC_CONFIG_1), null, null);
-
- Exception exception = assertThrows(ServiceException.class, () -> {
- appConfigUnderTest.getRic("name");
- });
-
- assertEquals("Could not find ric: name", exception.getMessage());
- }
-
}