package org.onap.dcae.apod.analytics.cdap.tca.flowlet;
+import co.cask.cdap.api.app.ApplicationSpecification;
import co.cask.cdap.api.dataset.lib.ObjectMappedTable;
import co.cask.cdap.api.flow.flowlet.FlowletContext;
import co.cask.cdap.api.flow.flowlet.OutputEmitter;
import com.google.common.collect.ImmutableList;
import org.junit.Test;
+import org.mockito.Mockito;
import org.onap.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
import org.onap.dcae.apod.analytics.cdap.common.domain.tca.ThresholdCalculatorOutput;
import org.onap.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException;
import org.onap.dcae.apod.analytics.model.domain.policy.tca.Threshold;
import org.onap.dcae.apod.analytics.tca.utils.TCAUtils;
+import java.io.IOException;
import java.util.Date;
import java.util.List;
final FlowletContext mockFlowletContext = mock(FlowletContext.class);
final ObjectMappedTable<TCAAlertsAbatementEntity> mockObjectMappedTable = mock(ObjectMappedTable.class);
when(mockFlowletContext.getDataset(eq(testTCAAlertsAbatementTableName))).thenReturn(mockObjectMappedTable);
+ configureFlowletContext(mockFlowletContext);
tcaAlertsAbatementFlowlet.initialize(mockFlowletContext);
doNothing().when(mockObjectMappedTable).write(any(String.class), any(TCAAlertsAbatementEntity.class));
final FlowletContext mockFlowletContext = mock(FlowletContext.class);
final ObjectMappedTable<TCAAlertsAbatementEntity> mockObjectMappedTable = mock(ObjectMappedTable.class);
when(mockFlowletContext.getDataset(eq(testTCAAlertsAbatementTableName))).thenReturn(mockObjectMappedTable);
+ configureFlowletContext(mockFlowletContext);
tcaAlertsAbatementFlowlet.initialize(mockFlowletContext);
doNothing().when(mockObjectMappedTable).write(any(String.class), any(TCAAlertsAbatementEntity.class));
final FlowletContext mockFlowletContext = mock(FlowletContext.class);
final ObjectMappedTable<TCAAlertsAbatementEntity> mockObjectMappedTable = mock(ObjectMappedTable.class);
when(mockFlowletContext.getDataset(eq(testTCAAlertsAbatementTableName))).thenReturn(mockObjectMappedTable);
+ configureFlowletContext(mockFlowletContext);
tcaAlertsAbatementFlowlet.initialize(mockFlowletContext);
doNothing().when(mockObjectMappedTable).write(any(String.class), any(TCAAlertsAbatementEntity.class));
final FlowletContext mockFlowletContext = mock(FlowletContext.class);
final ObjectMappedTable<TCAAlertsAbatementEntity> mockObjectMappedTable = mock(ObjectMappedTable.class);
when(mockFlowletContext.getDataset(eq(testTCAAlertsAbatementTableName))).thenReturn(mockObjectMappedTable);
+ configureFlowletContext(mockFlowletContext);
tcaAlertsAbatementFlowlet.initialize(mockFlowletContext);
-
doNothing().when(mockObjectMappedTable).write(any(String.class), any(TCAAlertsAbatementEntity.class));
when(mockObjectMappedTable.read(any(String.class))).thenReturn(null);
return thresholdCalculatorOutput;
}
+ private void configureFlowletContext(final FlowletContext mockFlowletContext) throws IOException {
+ when(mockFlowletContext.getRuntimeArguments()).thenReturn(getPreferenceMap());
+ ApplicationSpecification mockApplicationSpecification = Mockito.mock(ApplicationSpecification.class);
+ when(mockApplicationSpecification.getConfiguration()).thenReturn(fromStream(TCA_APP_CONFIG_FILE_LOCATION));
+ when(mockFlowletContext.getApplicationSpecification()).thenReturn(mockApplicationSpecification);
+ }
+
}