@Test public void testGenerateCompiledLogsEmail() throws IOException { AppLogLine typicalLogLine = new AppLogLine(); typicalLogLine.setLogLevel(LogLevel.ERROR); typicalLogLine.setLogMessage("Typical log message"); AppLogLine logLineWithLineBreak = new AppLogLine(); logLineWithLineBreak.setLogLevel(LogLevel.ERROR); logLineWithLineBreak.setLogMessage("Log line \n with line break <br> and also HTML br tag"); EmailWrapper email = new EmailGenerator().generateCompiledLogsEmail( Arrays.asList(typicalLogLine, logLineWithLineBreak)); String subject = String.format(EmailType.SEVERE_LOGS_COMPILATION.getSubject(), Config.APP_VERSION); verifyEmail(email, Config.SUPPORT_EMAIL, subject, "/severeLogsCompilationEmail.html"); }
@Test public void logEntry_withMalformationAppLogLine_constructionFail() { ______TS("Fail: log message not in correct format"); AppLogLine appLog = new AppLogLine(); appLog.setLogMessage("TEAMMATESLOG||RANDOM"); ActivityLogEntry entry = ActivityLogEntry.buildFromAppLog(appLog); assertTrue(entry.generateLogMessage().contains(Const.ActivityLog.MESSAGE_ERROR_LOG_MESSAGE_FORMAT)); String logMessageMalformation = "TEAMMATESLOG|||instructorHome|||Pageload|||true|||Instructor" + "|||UserName|||UserId|||UserEmail|||Message|||URL"; appLog.setLogMessage(logMessageMalformation); entry = ActivityLogEntry.buildFromAppLog(appLog); assertTrue(entry.generateLogMessage().contains(Const.ActivityLog.MESSAGE_ERROR_LOG_MESSAGE_FORMAT)); }
@Test public void logEntry_withAppLogLine_constructSuccessfully() { ______TS("Success: Generate activityLog from appLogLine (with TimeTaken)"); String logMessageWithoutTimeTaken = "TEAMMATESLOG|||instructorHome|||Pageload|||true|||Instructor" + "|||UserName|||UserId|||UserEmail|||Message|||URL|||UserId20151019143729608"; AppLogLine appLog = new AppLogLine(); appLog.setLogMessage(logMessageWithoutTimeTaken + Const.ActivityLog.FIELD_SEPARATOR + "20"); ActivityLogEntry entry = ActivityLogEntry.buildFromAppLog(appLog); assertEquals(logMessageWithoutTimeTaken, entry.generateLogMessage()); assertEquals(20, entry.getActionTimeTaken()); ______TS("Success: Generate activityLog from appLogLine (without TimeTaken)"); appLog.setLogMessage(logMessageWithoutTimeTaken); entry = ActivityLogEntry.buildFromAppLog(appLog); assertEquals(logMessageWithoutTimeTaken, entry.generateLogMessage()); assertEquals(0, entry.getActionTimeTaken()); ______TS("Success with severe log: timeTaken not in correct format"); appLog.setLogMessage(logMessageWithoutTimeTaken + Const.ActivityLog.FIELD_SEPARATOR + "random"); entry = ActivityLogEntry.buildFromAppLog(appLog); assertEquals(logMessageWithoutTimeTaken, entry.generateLogMessage()); assertEquals(0, entry.getActionTimeTaken()); }