package org.xbib.elasticsearch.jdbc.strategy.column;
import org.elasticsearch.common.settings.Settings;
import org.joda.time.DateTime;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import org.xbib.elasticsearch.jdbc.strategy.mock.MockSink;
import org.xbib.elasticsearch.jdbc.strategy.mock.MockJDBCSource;
public class ColumnStrategyContextTests extends AbstractColumnStrategyTest {
@Override
public ColumnSource newSource() {
return new ColumnSource();
}
@Override
public ColumnContext newContext() {
return new ColumnContext();
}
@Test
@Parameters({"existedWhereClause"})
@SuppressWarnings("unchecked")
public void testWriteLastRunTime(String resource) throws Exception {
Settings settings = createSettings(resource);
context = newContext();
MockJDBCSource source = new MockJDBCSource() {
@Override
public void fetch() {
}
};
MockSink mockSink = new MockSink();
context.setSettings(settings)
.setSink(mockSink)
.setSource(source);
//mockSink.setIngestFactory(createIngestFactory(settings));
context.execute();
assertNotNull(context.getLastRunTimestamp());
}
@Test
@Parameters({"existedWhereClause"})
@SuppressWarnings("unchecked")
public void testReadLastRunTime(String resource) throws Exception {
Settings settings = createSettings(resource);
final DateTime lastRunAt = new DateTime(new DateTime().getMillis() - 600);
context = newContext();
MockJDBCSource source = new MockJDBCSource() {
@Override
public void fetch() {
DateTime readlastRunAt = context.getLastRunTimestamp();
assertNotNull(readlastRunAt);
assertEquals(readlastRunAt, lastRunAt);
}
};
MockSink mockSink = new MockSink();
context.setSettings(settings)
.setSink(mockSink)
.setSource(source);
//mockSink.setIngestFactory(createIngestFactory(settings));
context.setLastRunTimeStamp(lastRunAt);
context.execute();
}
}