public void TestSessionTimeout() { MobileAnalyticsManagerConfig maConfig = new MobileAnalyticsManagerConfig(); Console.WriteLine("session delta is " + maConfig.SessionTimeout); string appID = Guid.NewGuid().ToString(); // create AmazonMobileAnayticsManager instance MobileAnalyticsManager.GetOrCreateInstance(appID, Credentials, RegionEndpoint.USEast1, maConfig); Amazon.MobileAnalytics.MobileAnalyticsManager.Internal.Session session = new Amazon.MobileAnalytics.MobileAnalyticsManager.Internal.Session(appID, new MobileAnalyticsManagerConfig()); session.Start(); DateTime startTime1 = session.StartTime; string sessionId1 = session.SessionId; // sleep for a while but wake up before session expires session.Pause(); Thread.Sleep(Convert.ToInt32((maConfig.SessionTimeout - 1) * 1000)); session.Resume(); // make sure session is not expired DateTime startTime2 = session.StartTime; string sessionId2 = session.SessionId; Assert.IsTrue(startTime1 == startTime2 && sessionId1 == sessionId2); // sleep longer until session expires session.Pause(); Thread.Sleep(Convert.ToInt32((maConfig.SessionTimeout + 1) * 1000)); session.Resume(); // make sure session is expired DateTime startTime3 = session.StartTime; string sessionId3 = session.SessionId; Assert.IsTrue(startTime3 > startTime2 && sessionId2 != sessionId3); // sleep for a while but wake up before session expires session.Pause(); Thread.Sleep(Convert.ToInt32((maConfig.SessionTimeout - 1) * 1000)); session.Resume(); // make sure session is not expired DateTime startTime4 = session.StartTime; string sessionId4 = session.SessionId; Assert.IsTrue(startTime4 == startTime3 && sessionId4 == sessionId3); // sleep longer until session expires session.Pause(); Thread.Sleep(Convert.ToInt32((maConfig.SessionTimeout + 1) * 1000)); session.Resume(); // make sure session is expired DateTime startTime5 = session.StartTime; string sessionId5 = session.SessionId; Assert.IsTrue(startTime5 > startTime4 && sessionId5 != sessionId4); }
public void TestSessionTimeout() { MobileAnalyticsManagerConfig maConfig = new MobileAnalyticsManagerConfig(); Console.WriteLine("session delta is " + maConfig.SessionTimeout); string appID = Guid.NewGuid().ToString(); // create AmazonMobileAnayticsManager instance MobileAnalyticsManager.GetOrCreateInstance(appID, CommonTests.Framework.TestRunner.Credentials, RegionEndpoint.USEast1, maConfig); Amazon.MobileAnalytics.MobileAnalyticsManager.Internal.Session session = new Amazon.MobileAnalytics.MobileAnalyticsManager.Internal.Session(appID, new MobileAnalyticsManagerConfig()); session.Start(); DateTime startTime1 = session.StartTime; string sessionId1 = session.SessionId; // sleep for a while but wake up before session expires session.Pause(); Task.Delay(TimeSpan.FromSeconds(maConfig.SessionTimeout - 1)).Wait(); session.Resume(); // make sure session is not expired DateTime startTime2 = session.StartTime; string sessionId2 = session.SessionId; Assert.IsTrue(startTime1 == startTime2); Assert.IsTrue(sessionId1 == sessionId2); // sleep longer until session expires session.Pause(); Task.Delay(TimeSpan.FromSeconds(maConfig.SessionTimeout + 1)).Wait(); session.Resume(); // make sure session is expired DateTime startTime3 = session.StartTime; string sessionId3 = session.SessionId; Assert.IsTrue(startTime3 > startTime2); Assert.IsTrue(sessionId2 != sessionId3); // sleep for a while but wake up before session expires session.Pause(); Task.Delay(TimeSpan.FromSeconds(maConfig.SessionTimeout - 1)).Wait(); session.Resume(); // make sure session is not expired DateTime startTime4 = session.StartTime; string sessionId4 = session.SessionId; Assert.IsTrue(startTime4 == startTime3); Assert.IsTrue(sessionId4 == sessionId3); // sleep longer until session expires session.Pause(); Task.Delay(TimeSpan.FromSeconds(maConfig.SessionTimeout + 1)).Wait(); session.Resume(); // make sure session is expired DateTime startTime5 = session.StartTime; string sessionId5 = session.SessionId; Assert.IsTrue(startTime5 > startTime4); Assert.IsTrue(sessionId5 != sessionId4); }