public void TestOverlappingEndEvent() { DateTime start = DateUtil.ParseDateToUtc("2007-07-30T13:00:00.000Z"); DateTimeRange window = new DateTimeRange(start.AddDays(-7), start.AddDays(7)); // Test overlapping events // - 13:30 - 14:00 in Exchange // - 13:00 - 14:00 in GCal // Should create an exchange event [13:00-14:00] AddEventExchange(start, start.AddMinutes(30)); AddEventGCal(start, start.AddHours(1)); EventFeed feed = createEventFeedFromEvents(_gcalEvents); FreeBusyCollection fb = createFreeBusyFromExistingEvents(_exchEvents); ExchangeUser user = createFauxUser("*****@*****.**", "*****@*****.**"); user.BusyTimes = fb; ExchangeGatewayMock gateway = new ExchangeGatewayMock(); this.SyncUser(user, feed, gateway, window); Assert.AreEqual(0, gateway.AppointmentsMock.Deleted.Count); Assert.AreEqual(1, gateway.AppointmentsMock.Written.Count); Assert.AreEqual(0, gateway.AppointmentsMock.Updated.Count); Assert.AreEqual(gateway.AppointmentsMock.Written[0].StartDate, start); Assert.AreEqual(gateway.AppointmentsMock.Written[0].EndDate, start.AddHours(1)); }
public void TestMissingAppointmentDetail() { DateTime start = DateUtil.ParseDateToUtc("2007-07-30T13:00:00.000Z"); DateTimeRange window = new DateTimeRange(start.AddDays(-7), start.AddDays(7)); AddEventGCal(start, start.AddHours(1)); EventFeed feed = createEventFeedFromEvents(_gcalEvents); FreeBusyCollection fb = createFreeBusyFromExistingEvents(_exchEvents); ExchangeUser user = createFauxUser("*****@*****.**", "*****@*****.**"); user.BusyTimes = fb; user.HaveAppointmentDetail = false; ExchangeGatewayMock gateway = new ExchangeGatewayMock(); this.SyncUser(user, feed, gateway, window); Assert.AreEqual(0, gateway.AppointmentsMock.Deleted.Count); Assert.AreEqual(0, gateway.AppointmentsMock.Written.Count); Assert.AreEqual(0, gateway.AppointmentsMock.Updated.Count); }
public void TestSyncUser() { DateTime start = _base; DateTimeRange window = new DateTimeRange(start, start.AddDays(30)); // Add Event to both AddEventBoth(start, start.AddHours(2)); // Add only to Google Calendar - i.e. Create in exchange start = start.AddDays(2).AddHours(3); AddEventGCal(start, start.AddHours(1)); // Add only to Exchange - i.e. Delete from exchange start = start.AddDays(3).AddHours(3); AddEventExchange(start, start.AddHours(1)); start = start.AddDays(1).AddHours(-5); AddEventExchange(start, start.AddMinutes(20)); // Add to Google Calendar start = start.AddDays(2).AddHours(3); AddEventGCal(start, start.AddHours(1)); // Add Event to both start = start.AddDays(2).AddHours(3); AddEventBoth(start, start.AddHours(2)); // Add only to Exchange start = start.AddDays(2).AddHours(3); AddEventExchange(start, start.AddHours(1)); // Add Event to both start = start.AddDays(2).AddHours(14); AddEventBoth(start, start.AddHours(1)); // Add to Google Calendar start = start.AddDays(2).AddHours(3); AddEventGCal(start, start.AddHours(1)); // Add Event to both start = start.AddDays(5).AddHours(12); AddEventBoth(start, start.AddHours(6)); EventFeed feed = createEventFeedFromEvents(_gcalEvents); FreeBusyCollection fb = createFreeBusyFromSyncEvents(_exchEvents); ExchangeUser user = createFauxUser("*****@*****.**", "*****@*****.**"); user.BusyTimes = fb; ExchangeGatewayMock gateway = new ExchangeGatewayMock(); this.SyncUser(user, feed, gateway, window); Assert.AreEqual(_deleteEvents.Count, gateway.AppointmentsMock.Deleted.Count); Assert.AreEqual(_createEvents.Count, gateway.AppointmentsMock.Written.Count); Assert.AreEqual(0, gateway.AppointmentsMock.Updated.Count); int idx = 0; foreach (DateTimeRange e in _deleteEvents) { Assert.AreEqual(e.Start, gateway.AppointmentsMock.Deleted[idx].StartDate); Assert.AreEqual(e.End, gateway.AppointmentsMock.Deleted[idx].EndDate); idx++; } idx = 0; foreach (DateTimeRange e in _createEvents) { Assert.AreEqual(e.Start, gateway.AppointmentsMock.Written[idx].StartDate); Assert.AreEqual(e.End, gateway.AppointmentsMock.Written[idx].EndDate); idx++; } }
public void TestAdjacentEvent() { DateTime start = DateUtil.ParseDateToUtc("2007-07-30T13:00:00.000Z"); DateTimeRange window = new DateTimeRange(start.AddDays(-7), start.AddDays(7)); // Test overlapping events // - 13:00 - 17:00 in Exchange from GCal // - 17:00 - 18:00 in GCal // Should create an exchange event [17:00-18:00] AddEventExchange(start, start.AddHours(4)); AddEventGCal(start, start.AddHours(4)); AddEventGCal(start.AddHours(4), start.AddHours(5)); EventFeed feed = createEventFeedFromEvents(_gcalEvents); FreeBusyCollection fb = createFreeBusyFromSyncEvents(_exchEvents); ExchangeUser user = createFauxUser("*****@*****.**", "*****@*****.**"); user.BusyTimes = fb; ExchangeGatewayMock gateway = new ExchangeGatewayMock(); this.SyncUser(user, feed, gateway, window); Assert.AreEqual(0, gateway.AppointmentsMock.Deleted.Count); Assert.AreEqual(1, gateway.AppointmentsMock.Written.Count); Assert.AreEqual(0, gateway.AppointmentsMock.Updated.Count); Assert.AreEqual(gateway.AppointmentsMock.Written[0].StartDate, start.AddHours(4)); Assert.AreEqual(gateway.AppointmentsMock.Written[0].EndDate, start.AddHours(5)); AddEventExchange(start.AddHours(4), start.AddHours(5)); feed = createEventFeedFromEvents(_gcalEvents); user.BusyTimes = createFreeBusyFromSyncEvents(_exchEvents); gateway = new ExchangeGatewayMock(); this.SyncUser(user, feed, gateway, window); Assert.AreEqual(0, gateway.AppointmentsMock.Deleted.Count); Assert.AreEqual(0, gateway.AppointmentsMock.Written.Count); Assert.AreEqual(0, gateway.AppointmentsMock.Updated.Count); }