AppCenterLog.debug(LOG_TAG, "\t" + entry.getValue().getSid() + " / " + dbIdentifier);
mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertNotNull(log.getSid()); expectedSid = log.getSid(); expectedStartSessionLog.setSid(expectedSid); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertNotEquals(expectedSid, log.getSid()); expectedSid = log.getSid(); expectedStartSessionLog.setSid(expectedSid); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS);
Log log = newEvent(); mSessionTracker.onPreparingLog(log, TEST_GROUP); assertNotNull(log.getSid()); SessionContext.SessionInfo session = SessionContext.getInstance().getSessionAt(firstSessionTime); assertNotNull(session); assertEquals(session.getSessionId(), log.getSid()); assertEquals(appLaunchTime, session.getAppLaunchTimestamp()); log2.setTimestamp(new Date(mMockTime)); mSessionTracker.onPreparingLog(log2, TEST_GROUP); assertNotEquals(log.getSid(), log2.getSid()); assertNull(log2.getSid());
@Test public void stayOnFirstScreenForLong() { /* Application is in foreground, send a log, verify decoration with a new session. */ mSessionTracker.onActivityResumed(); UUID expectedSid; StartSessionLog expectedStartSessionLog = new StartSessionLog(); { Log log = newEvent(); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertNotNull(log.getSid()); expectedSid = log.getSid(); expectedStartSessionLog.setSid(expectedSid); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); } /* Wait a long time. */ spendTime(30000); /* Go to another activity. */ mSessionTracker.onActivityPaused(); spendTime(2); mSessionTracker.onActivityResumed(); /* Send a log again: session must be reused. */ { Log log = newEvent(); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertEquals(expectedSid, log.getSid()); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); } }
mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertNull(log.getSid()); verify(mChannel, never()).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertNotNull(log.getSid()); expectedSid = log.getSid(); expectedStartSessionLog.setSid(expectedSid); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertEquals(expectedSid, log.getSid()); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertEquals(expectedSid, log.getSid()); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertEquals(expectedSid, log.getSid()); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP);
assertNotNull(log.getSid()); currentSid = firstSid = log.getSid(); assertEquals(currentSid, log.getSid()); log.setTimestamp(new Date(123L)); mSessionTracker.onPreparingLog(log, TEST_GROUP); assertNull(log.getSid()); Log log = newEvent(); mSessionTracker.onPreparingLog(log, TEST_GROUP); assertNotEquals(currentSid, log.getSid()); Set<String> sessions = SharedPreferencesManager.getStringSet("sessions"); assertNotNull(sessions); log.setTimestamp(new Date(firstSessionTime + 1)); mSessionTracker.onPreparingLog(log, TEST_GROUP); assertEquals(firstSid, log.getSid()); Set<String> sessions = SharedPreferencesManager.getStringSet("sessions"); assertNotNull(sessions); log.setTimestamp(new Date(firstSessionTime + 1)); mSessionTracker.onPreparingLog(log, TEST_GROUP); assertEquals(firstSid, log.getSid()); Set<String> sessions = SharedPreferencesManager.getStringSet("sessions"); assertNotNull(sessions); log.setTimestamp(new Date(1)); mSessionTracker.onPreparingLog(log, TEST_GROUP);
mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertNull(log.getSid()); verify(mChannel, never()).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertNotNull(log.getSid()); firstSid = expectedSid = log.getSid(); expectedStartSessionLog.setSid(expectedSid); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertEquals(expectedSid, log.getSid()); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertEquals(expectedSid, log.getSid()); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP); assertEquals(expectedSid, log.getSid()); verify(mChannel).enqueue(expectedStartSessionLog, TEST_GROUP, DEFAULTS); mSessionTracker.onPreparingLog(log, TEST_GROUP); mSessionTracker.onPreparingLog(expectedStartSessionLog, TEST_GROUP);