use of com.qlangtech.tis.plugin.datax.MockDataxReaderContext in project plugins by qlangtech.
the class WriterTemplate method valiateCfgGenerate.
// public static final Field jarLoaderCenterField;
//
// static {
// try {
// jarLoaderCenterField = LoadUtil.class.getDeclaredField("jarLoaderCenter");
// jarLoaderCenterField.setAccessible(true);
// } catch (NoSuchFieldException e) {
// throw new RuntimeException("can not get field 'jarLoaderCenter' of LoadUtil", e);
// }
// }
public static void valiateCfgGenerate(String assertFileName, DataxWriter dataXWriter, IDataxProcessor.TableMap tableMap) throws Exception {
IDataxProcessor processor = EasyMock.mock("dataxProcessor", IDataxProcessor.class);
IDataxGlobalCfg dataxGlobalCfg = EasyMock.mock("dataxGlobalCfg", IDataxGlobalCfg.class);
EasyMock.expect(processor.getDataXGlobalCfg()).andReturn(dataxGlobalCfg).anyTimes();
// EasyMock.expect(processor.getWriter(null)).andReturn(dataXWriter);
IDataxReader dataXReader = EasyMock.createMock("dataXReader", IDataxReader.class);
// EasyMock.expect(processor.getReader(null)).andReturn(dataXReader);
MockDataxReaderContext mockReaderContext = new MockDataxReaderContext();
EasyMock.replay(processor, dataxGlobalCfg, dataXReader);
DataXCfgGenerator dataProcessor = new DataXCfgGenerator(null, BasicTest.testDataXName, processor) {
@Override
public String getTemplateContent() {
return dataXWriter.getTemplate();
}
};
String writerCfg = dataProcessor.generateDataxConfig(mockReaderContext, dataXWriter, dataXReader, Optional.ofNullable(tableMap));
Assert.assertNotNull(writerCfg);
System.out.println(writerCfg);
JsonUtil.assertJSONEqual(dataXWriter.getClass(), assertFileName, writerCfg, (message, expected, actual) -> {
Assert.assertEquals(message, expected, actual);
});
JSONObject writer = JSON.parseObject(writerCfg);
Assert.assertEquals(dataXWriter.getDataxMeta().getName(), writer.getString("name"));
EasyMock.verify(processor, dataxGlobalCfg, dataXReader);
}
Aggregations