LogParsingServiceImplTest.java 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.seecoder.dataanalysis.logic.parser.impl;
  2. import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudInfoDao;
  3. import com.seecoder.dataanalysis.data.dao.eval.EvalExamInfoDao;
  4. import com.seecoder.dataanalysis.logic.parser.ParsingException;
  5. import com.seecoder.dataanalysis.util.FileUtil;
  6. import com.seecoder.dataanalysis.vo.devcloud.CommitInfoDTO;
  7. import com.seecoder.dataanalysis.vo.EvalExamInfoDTO;
  8. import com.seecoder.dataanalysis.vo.SimpleLog;
  9. import org.junit.jupiter.api.AfterEach;
  10. import org.junit.jupiter.api.BeforeEach;
  11. import org.junit.jupiter.api.Test;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.boot.test.context.SpringBootTest;
  14. import java.time.LocalDateTime;
  15. import static org.junit.jupiter.api.Assertions.*;
  16. /**
  17. * @author miaomuzhi
  18. * @since 2022/1/30
  19. */
  20. @SpringBootTest
  21. class LogParsingServiceImplTest {
  22. private LogParsingServiceImpl parsingService;
  23. @Autowired
  24. EvalExamInfoDao evalExamInfoDao;
  25. @Autowired
  26. DevcloudInfoDao devcloudInfoDao;
  27. @BeforeEach
  28. void setUp() {
  29. parsingService = new LogParsingServiceImpl();
  30. parsingService.setEvalExamInfoDao(evalExamInfoDao);
  31. parsingService.setDevcloudInfoDao(devcloudInfoDao);
  32. parsingService.buildOpTypesTable();
  33. }
  34. @AfterEach
  35. void tearDown() {
  36. }
  37. @Test
  38. void parseLog() throws ParsingException{
  39. try {
  40. parsingService.parseLog("dsaf");
  41. } catch (Exception e) {
  42. assertEquals(ParsingException.class.getName(), e.getClass().getName());
  43. }
  44. String logContent = FileUtil.readFile(getClass().getResource("/sample_logs/gen0.log").getFile());
  45. SimpleLog simpleLog = parsingService.parseLog(logContent);
  46. assertEquals(0, simpleLog.getOpType());
  47. assertEquals(1, simpleLog.getTarget());
  48. }
  49. @Test
  50. void parseLogData() throws ParsingException {
  51. String logContent = FileUtil.readFile(getClass().getResource("/sample_logs/dev106.log").getFile());
  52. SimpleLog simpleLog = parsingService.parseLog(logContent);
  53. Object o = parsingService.parseLogData(simpleLog, false);
  54. assertTrue(o instanceof EvalExamInfoDTO);
  55. System.out.println(o);
  56. String rawJson = "{\"commit_id\":1, \"user_id\":2, \"commit_time\":\"2014-09-15\"}";
  57. CommitInfoDTO infoDTO = parsingService.parseLogData(
  58. new SimpleLog(1, 0, 101, LocalDateTime.now(), rawJson, ""), false);
  59. System.out.println(infoDTO);
  60. }
  61. @Test
  62. void parseOpType() throws ParsingException {
  63. assertEquals("com.seecoder.dataanalysis.vo.EvalExamInfoDTO", parsingService.parseOpType(0));
  64. try {
  65. parsingService.parseOpType(-1);
  66. } catch (Exception e) {
  67. assertEquals(ParsingException.class.getName(), e.getClass().getName());
  68. }
  69. }
  70. @Test
  71. void parseEval() throws ParsingException {
  72. String logContent = FileUtil.readFile(getClass().getResource("/sample_logs/dev106.log").getFile());
  73. SimpleLog simpleLog = parsingService.parseLog(logContent);
  74. parsingService.parseLogData(simpleLog, true);
  75. }
  76. }