Exemple #1
0
        public void TestThatNumberOfCalendarEntriesIsReturned()
        {
            SBCalendarEntries calendarEntries = new SBCalendarEntries();

            eResults result = m_connector.GetCalendarEntries(DateTime.Now, m_iCalendarRetrievalPeriod, ref calendarEntries);

            Assert.That(result, Is.EqualTo(eResults.OK), "Call to GetCalendarEntries() failed.");
            Assert.That(calendarEntries.Count, Is.GreaterThan(0), "For this test to work there must be at least one calendar entry within the next {0} days.\n{1}", m_iCalendarRetrievalPeriod, EmailServerInfo());
        }
Exemple #2
0
        public void TestThatEmptyCalendarPeriodReturnsZeroCalendarEntries()
        {
            SBCalendarEntries calendarEntries = new SBCalendarEntries();

            DateTime dtStartDate = new DateTime(2012, 5, 24);                                                   //$$$ LP - This date & period were picked since the calendar for the sharris account didn't have any entries.
            int      iCalendarRetrievalPeriod = 2;                                                              //$$$ LP - This date & period were picked since the calendar for the sharris account didn't have any entries.

            eResults result = m_connector.GetCalendarEntries(dtStartDate, iCalendarRetrievalPeriod, ref calendarEntries);

            Assert.That(result, Is.EqualTo(eResults.OK), "Call to GetCalendarEntries() failed.");
            Assert.That(calendarEntries.Count, Is.EqualTo(0), "For this test to work there must be no calendar entries between {0} and {1}.\n", dtStartDate, dtStartDate.AddDays(2));                           //$$$ LP - Note that the end date displayed is not quite right since the actual end date calculation is more involved.  Good enough for now but that whole calculation should really be refactored out of the connector implementation.
        }
Exemple #3
0
        public void ShowAllCalendarEntries()
        {
            SBCalendarEntries calendarEntries = new SBCalendarEntries();

            m_connector.GetCalendarEntries(DateTime.Now, m_iCalendarRetrievalPeriod, ref calendarEntries);

            Console.WriteLine("Number of appointments: " + calendarEntries.Count);

            for (int i = 0; i < calendarEntries.Count; ++i)
            {
                Console.WriteLine("=================================");
                Console.WriteLine("Appointment : " + (i + 1));
                Console.WriteLine("From        : " + calendarEntries[i].m_sFromName);
                Console.WriteLine("Start       : " + calendarEntries[i].m_sStart);
                Console.WriteLine("End         : " + calendarEntries[i].m_sEnd);
                Console.WriteLine("Subject     : " + calendarEntries[i].m_sSubject);
                Console.WriteLine("Location    : " + calendarEntries[i].m_sLocation);
                Console.WriteLine("BusyStatus  : " + calendarEntries[i].m_sBusystatus);
                Console.WriteLine("=================================");
            }
        }
Exemple #4
0
        public void TestThatEwsAndWebDavReturnSameCalendarItems()
        {
            SBCalendarEntries webDavCalendarEntries = new SBCalendarEntries();
            SBCalendarEntries ewsCalendarEntries    = new SBCalendarEntries();

            DateTime dtNow = DateTime.Now;                  // Make sure both retrievals start at the same time.

            m_EwsConnector.GetCalendarEntries(dtNow, m_iCalendarRetrievalPeriod, ref ewsCalendarEntries);
            m_WebDavConnector.GetCalendarEntries(dtNow, m_iCalendarRetrievalPeriod, ref webDavCalendarEntries);

            Assert.That(ewsCalendarEntries.Count, Is.EqualTo(webDavCalendarEntries.Count), "Number of calendar entries differ.");

            for (int i = 0; i < webDavCalendarEntries.Count; ++i)
            {
                Assert.That(ewsCalendarEntries[i].m_sFromName, Is.EqualTo(webDavCalendarEntries[i].m_sFromName), "From name differs.");
                Assert.That(ewsCalendarEntries[i].m_sLocation, Is.EqualTo(webDavCalendarEntries[i].m_sLocation), "Location differs.");
                Assert.That(ewsCalendarEntries[i].m_sSubject, Is.EqualTo(webDavCalendarEntries[i].m_sSubject), "Subject differs.");
                Assert.That(ewsCalendarEntries[i].m_sStart, Is.EqualTo(webDavCalendarEntries[i].m_sStart), "Start differs.");
                Assert.That(ewsCalendarEntries[i].m_sEnd, Is.EqualTo(webDavCalendarEntries[i].m_sEnd), "End differs.");
                Assert.That(ewsCalendarEntries[i].m_sBusystatus, Is.EqualTo(webDavCalendarEntries[i].m_sBusystatus), "Busy status differs.");
            }
        }
Exemple #5
0
        public void TestThatAcceptingAMeetingRequestAddsTheMeetingIntoTheCalendar()
        {
            eResults result = eResults.OK;

            int iEmailLookbackPeriod = 1;
            int iMeetingTimePeriod   = 3;

            string sTestRequirement = String.Format("For this test to work the following have to be true:\n" +
                                                    "     A meeting request with the subject \"WebDAV Meeting Request Test\" has to be received within the last {0} days.\n" +
                                                    "     The requested meeting has to occur within the next {1} days.\n{2}", iEmailLookbackPeriod, iMeetingTimePeriod, EmailServerInfo());

            SBEmailHeaders emailHeaders = new SBEmailHeaders();

            m_connector.GetHeaders(iEmailLookbackPeriod, "ASC", ref emailHeaders);

            // Look for the meeting request e-mail required by this test.

            bool   bMeetingRequestFound = false;
            string sMeetingRequestId    = null;

            for (int i = 0; (i < emailHeaders.NumberOfEntries && !bMeetingRequestFound); ++i)
            {
                if (emailHeaders[i].m_Type == eItemType.MeetingRequest)
                {
                    if (emailHeaders[i].m_sSubject.ToLower() == "webdav meeting request test")
                    {
                        bMeetingRequestFound = true;
                        sMeetingRequestId    = emailHeaders[i].m_sId;
                    }
                }
            }

            Assert.That(bMeetingRequestFound, Is.True, sTestRequirement);

            SBCalendarEntries calendarEntriesInitially = new SBCalendarEntries();

            m_connector.GetCalendarEntries(DateTime.Now, iMeetingTimePeriod, ref calendarEntriesInitially);

            int iNumberOfTentativeMeetingsInitially = 0;
            int iNumberOfAcceptedMeetingsInitially  = 0;

            for (int i = 0; i < calendarEntriesInitially.Count; ++i)
            {
                switch (calendarEntriesInitially[i].m_sBusystatus)
                {
                case "TENTATIVE":
                    ++iNumberOfTentativeMeetingsInitially;
                    break;

                case "BUSY":
                    ++iNumberOfAcceptedMeetingsInitially;
                    break;
                }
            }

            result = m_connector.SendMeetingRequestResp(sMeetingRequestId, "WebDAV Meeting Request Reponse Test", eMeetingRequestResp.Accept, true);

            Assert.That(result, Is.EqualTo(eResults.OK), "Call to SendMeetingRequestResp() failed.\n{0}", EmailServerInfo());

            SBCalendarEntries calendarEntriesFinally = new SBCalendarEntries();

            m_connector.GetCalendarEntries(DateTime.Now, iMeetingTimePeriod, ref calendarEntriesFinally);

            int iNumberOfTentativeMeetings = 0;
            int iNumberOfAcceptedMeetings  = 0;

            for (int i = 0; i < calendarEntriesFinally.Count; ++i)
            {
                switch (calendarEntriesFinally[i].m_sBusystatus)
                {
                case "TENTATIVE":
                    ++iNumberOfTentativeMeetings;
                    break;

                case "BUSY":
                    ++iNumberOfAcceptedMeetings;
                    break;
                }
            }

            Assert.That((iNumberOfAcceptedMeetings - iNumberOfAcceptedMeetingsInitially), Is.EqualTo(1), "Number of accepted meetings hasn't changed as expected");
            Assert.That((iNumberOfTentativeMeetings - iNumberOfTentativeMeetingsInitially), Is.EqualTo(-1), "Number of tentative meetings hasn't changed as expected");
        }