Search in sources :

Example 1 with MockDataxReaderContext

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);
}
Also used : JSONObject(com.alibaba.fastjson.JSONObject) DataXCfgGenerator(com.qlangtech.tis.datax.impl.DataXCfgGenerator) MockDataxReaderContext(com.qlangtech.tis.plugin.datax.MockDataxReaderContext)

Aggregations

JSONObject (com.alibaba.fastjson.JSONObject)1 DataXCfgGenerator (com.qlangtech.tis.datax.impl.DataXCfgGenerator)1 MockDataxReaderContext (com.qlangtech.tis.plugin.datax.MockDataxReaderContext)1