Exemplo n.º 1
0
            public void RunTaskExecutesSuccessfullyFirstTime()
            {
                using (new TestDataHelper(TestQueryEcom.POPULATE_BUSINESSES, TestQueryEcom.CLEANUP_TEST_DATA, DbHelper.ECOM_CONNECTION_STRING_NAME))
                {
                    // Arrange
                    IBusinessManager businessManager = new BusinessManager();
                    DateTime fromDate = new DateTime(2012, 01, 1, 0, 0, 0, DateTimeKind.Utc);
                    SyncBusinessesToEagle.FromDate = fromDate;
                    SyncBusinessesToEagle.Identity = new GenericIdentity(WindowsServiceUserGuid.ToString());
                    //UserHelper.SetupUser(WindowsUserName, UserHelper.VALIDUSERPASS, WindowsUserName, WindowsServiceUserGuid);
                    List<EcomBusinessAccount> expectedBusinessAccountList = new EcomDataProvider().GetLastModifiedBusinesses(fromDate, DateTime.UtcNow);

                    // Act
                    SyncBusinessesToEagle.Run();

                    // Assert
                    //verify if the latest timestamp in Eccom.BusinessAccount is later than the one obtained before
                    DateTime lastModifiedDateTime = businessManager.GetTimestampOfLastBusinessSyncedFromEcom();

                    // Add 10 seconds to date time now so it doesn't fail in the build server
                    var now = DateTime.UtcNow.AddSeconds(10);

                    TimeSpan currentDateDiff = now - lastModifiedDateTime;
                    TimeSpan lastDateDiff = lastModifiedDateTime - fromDate;
                    bool result = (currentDateDiff.TotalHours >= 0 && lastDateDiff.TotalHours >= 0);
                    Assert.IsTrue(result, string.Format("The last modified date is not correct: lastModifiedDateTime - {0} ; fromDate - {1}. Now: {2}", lastModifiedDateTime, fromDate, now));

                    //verify if all the expected businesses were inserted/updated
                    Assert.AreEqual(expectedBusinessAccountList.Count, businessManager.GetBusinessAccountsSyncedByLastModifiedDate(lastModifiedDateTime).Count, "The expected businesses were not returned.");
                }
            }
Exemplo n.º 2
0
            public void RunTaskExecutesSuccessfullyTwoConsecutiveTimes()
            {
                // Arrange
                IBusinessManager businessManager = new BusinessManager();
                DateTime fromDate = new DateTime(2012, 01, 1, 0, 0, 0, DateTimeKind.Utc);
                SyncBusinessesToEagle.FromDate = fromDate;
                SyncBusinessesToEagle.Identity = new GenericIdentity(WindowsServiceUserGuid.ToString());
                //UserHelper.SetupUser(WindowsUserName, UserHelper.VALIDUSERPASS, WindowsUserName, WindowsServiceUserGuid);
                SyncBusinessesToEagle.Run();
                
                fromDate = DateTime.UtcNow;
                DateTime expectedLastModifiedDateTime = businessManager.GetTimestampOfLastBusinessSyncedFromEcom();
                SyncBusinessesToEagle.FromDate = fromDate;
                SyncBusinessesToEagle.Identity = new GenericIdentity(WindowsServiceUserGuid.ToString());
                List<EcomBusinessAccount> expectedBusinessAccountList = new EcomDataProvider().GetLastModifiedBusinesses(fromDate, DateTime.UtcNow);

                // Act
                SyncBusinessesToEagle.Run();

                // Assert
                //verify if the latest timestamp in Eccom.BusinessAccount is the same as obtain before
                DateTime lastModifiedDateTime = businessManager.GetTimestampOfLastBusinessSyncedFromEcom();

                TimeSpan lastDateDiff = lastModifiedDateTime - expectedLastModifiedDateTime;
                Assert.IsTrue(lastDateDiff.TotalHours == 0, string.Format("The last modified date is not bigger than the one we had before running the task: lastModifiedDateTime - {0} ; expectedLastModifiedDateTime - {1}", lastModifiedDateTime, expectedLastModifiedDateTime));

                //verify that no business was changed in the meanwhile
                Assert.AreEqual(0, expectedBusinessAccountList.Count, "The list is expected to be null");
            }