package com.seecoder.dataanalysis.logic.parser.impl; import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudInfoDao; import com.seecoder.dataanalysis.data.dao.eval.EvalExamInfoDao; import com.seecoder.dataanalysis.logic.parser.ParsingException; import com.seecoder.dataanalysis.util.FileUtil; import com.seecoder.dataanalysis.vo.devcloud.CommitInfoDTO; import com.seecoder.dataanalysis.vo.EvalExamInfoDTO; import com.seecoder.dataanalysis.vo.SimpleLog; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.time.LocalDateTime; import static org.junit.jupiter.api.Assertions.*; /** * @author miaomuzhi * @since 2022/1/30 */ @SpringBootTest class LogParsingServiceImplTest { private LogParsingServiceImpl parsingService; @Autowired EvalExamInfoDao evalExamInfoDao; @Autowired DevcloudInfoDao devcloudInfoDao; @BeforeEach void setUp() { parsingService = new LogParsingServiceImpl(); parsingService.setEvalExamInfoDao(evalExamInfoDao); parsingService.setDevcloudInfoDao(devcloudInfoDao); parsingService.buildOpTypesTable(); } @AfterEach void tearDown() { } @Test void parseLog() throws ParsingException{ try { parsingService.parseLog("dsaf"); } catch (Exception e) { assertEquals(ParsingException.class.getName(), e.getClass().getName()); } String logContent = FileUtil.readFile(getClass().getResource("/sample_logs/gen0.log").getFile()); SimpleLog simpleLog = parsingService.parseLog(logContent); assertEquals(0, simpleLog.getOpType()); assertEquals(1, simpleLog.getTarget()); } @Test void parseLogData() throws ParsingException { String logContent = FileUtil.readFile(getClass().getResource("/sample_logs/dev106.log").getFile()); SimpleLog simpleLog = parsingService.parseLog(logContent); Object o = parsingService.parseLogData(simpleLog, false); assertTrue(o instanceof EvalExamInfoDTO); System.out.println(o); String rawJson = "{\"commit_id\":1, \"user_id\":2, \"commit_time\":\"2014-09-15\"}"; CommitInfoDTO infoDTO = parsingService.parseLogData( new SimpleLog(1, 0, 101, LocalDateTime.now(), rawJson, ""), false); System.out.println(infoDTO); } @Test void parseOpType() throws ParsingException { assertEquals("com.seecoder.dataanalysis.vo.EvalExamInfoDTO", parsingService.parseOpType(0)); try { parsingService.parseOpType(-1); } catch (Exception e) { assertEquals(ParsingException.class.getName(), e.getClass().getName()); } } @Test void parseEval() throws ParsingException { String logContent = FileUtil.readFile(getClass().getResource("/sample_logs/dev106.log").getFile()); SimpleLog simpleLog = parsingService.parseLog(logContent); parsingService.parseLogData(simpleLog, true); } }