import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doNothing;
+import java.io.IOException;
import java.util.Map;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
+import org.mockito.Mockito;
import org.mockito.Spy;
import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopElement;
+import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopOrderedState;
+import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopState;
import org.onap.policy.clamp.controlloop.participant.http.main.handler.ControlLoopElementHandler;
+import org.onap.policy.clamp.controlloop.participant.http.main.models.ConfigRequest;
import org.onap.policy.clamp.controlloop.participant.http.utils.CommonTestData;
import org.onap.policy.clamp.controlloop.participant.http.utils.ToscaUtils;
import org.onap.policy.clamp.controlloop.participant.intermediary.api.ParticipantIntermediaryApi;
serviceTemplate = ToscaUtils.readControlLoopFromTosca();
}
+ @Test
+ void test_controlLoopElementeStateChange() throws IOException {
+ var controlLoopId = commonTestData.getControlLoopId();
+ var element = commonTestData.getControlLoopElement();
+ var controlLoopElementId = element.getId();
+
+ var config = Mockito.mock(ConfigRequest.class);
+ assertDoesNotThrow(() -> controlLoopElementHandler.invokeHttpClient(config));
+
+ assertDoesNotThrow(() -> controlLoopElementHandler
+ .controlLoopElementStateChange(controlLoopId,
+ controlLoopElementId, ControlLoopState.PASSIVE, ControlLoopOrderedState.PASSIVE));
+
+ assertDoesNotThrow(() -> controlLoopElementHandler
+ .controlLoopElementStateChange(controlLoopId,
+ controlLoopElementId, ControlLoopState.PASSIVE, ControlLoopOrderedState.UNINITIALISED));
+
+ assertDoesNotThrow(() -> controlLoopElementHandler
+ .controlLoopElementStateChange(controlLoopId,
+ controlLoopElementId, ControlLoopState.PASSIVE, ControlLoopOrderedState.RUNNING));
+
+ controlLoopElementHandler.close();
+ }
+
@Test
void test_ControlLoopElementUpdate() {
doNothing().when(controlLoopElementHandler).invokeHttpClient(any());
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.io.IOException;
doThrow(new ServiceException("Error uninstalling the chart")).when(chartService)
.uninstallChart(charts.get(0));
+ assertDoesNotThrow(() -> controlLoopElementHandler
+ .controlLoopElementStateChange(commonTestData.getControlLoopId(), controlLoopElementId1,
+ ControlLoopState.PASSIVE, ControlLoopOrderedState.PASSIVE));
+
assertDoesNotThrow(() -> controlLoopElementHandler
.controlLoopElementStateChange(commonTestData.getControlLoopId(), controlLoopElementId1,
ControlLoopState.PASSIVE, ControlLoopOrderedState.UNINITIALISED));
assertThat(controlLoopElementHandler.getChartMap().containsKey(elementId2)).isFalse();
}
+
+ @Test
+ void test_handleStatistics() throws PfModelException {
+ UUID elementId1 = UUID.randomUUID();
+ controlLoopElementHandler.getChartMap().put(elementId1, charts.get(0));
+ when(participantIntermediaryApi.getControlLoopElement(elementId1)).thenReturn(new ControlLoopElement());
+ assertDoesNotThrow(() -> controlLoopElementHandler.handleStatistics(elementId1));
+ }
+
+ @Test
+ void test_checkPodStatus() {
+ var chartInfo = charts.get(0);
+ assertDoesNotThrow(() -> controlLoopElementHandler.checkPodStatus(chartInfo, 1, 1));
+ }
}
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mockStatic;
+import static org.mockito.Mockito.when;
import java.io.File;
import java.io.IOException;
import org.onap.policy.clamp.controlloop.participant.kubernetes.exception.ServiceException;
import org.onap.policy.clamp.controlloop.participant.kubernetes.models.ChartInfo;
import org.onap.policy.clamp.controlloop.participant.kubernetes.models.ChartList;
+import org.onap.policy.clamp.controlloop.participant.kubernetes.models.HelmRepository;
import org.onap.policy.clamp.controlloop.participant.kubernetes.service.ChartStore;
import org.onap.policy.common.utils.coder.Coder;
import org.onap.policy.common.utils.coder.CoderException;
@Mock
ChartStore chartStore;
+ @Mock
+ HelmRepository repo;
+
private static MockedStatic<HelmClient> mockedClient;
@BeforeAll
doReturn(new File("/target/tmp/override.yaml")).when(chartStore)
.getOverrideFile(any());
var chartinfo = charts.get(0);
+
assertDoesNotThrow(() -> helmClient.installChart(chartinfo));
chartinfo.setNamespace("");
assertDoesNotThrow(() -> helmClient.installChart(chartinfo));
+
+ mockedClient.when(() -> HelmClient.executeCommand(any()))
+ .thenReturn(new String());
+ assertDoesNotThrow(() -> helmClient.installChart(chartinfo));
+
+ }
+
+ @Test
+ void test_addRepository() throws IOException {
+ mockedClient.when(() -> HelmClient.executeCommand(any()))
+ .thenReturn(new String());
+ when(repo.getRepoName()).thenReturn("RepoName");
+ assertDoesNotThrow(() -> helmClient.addRepository(repo));
+
+ mockedClient.when(() -> HelmClient.executeCommand(any()))
+ .thenReturn("failed");
+ assertDoesNotThrow(() -> helmClient.addRepository(repo));
}
@Test