From 5cfe70591ae4675faacca2a37d49ebac420b1fab Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 29 May 2016 20:26:59 +0100 Subject: [PATCH] Added unit tests for the GetEntryList functions in the CalDAV object. --- source/tests/xestiacalendar_caldav.h | 102 +++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/source/tests/xestiacalendar_caldav.h b/source/tests/xestiacalendar_caldav.h index 75376da..7b32b1d 100644 --- a/source/tests/xestiacalendar_caldav.h +++ b/source/tests/xestiacalendar_caldav.h @@ -1163,4 +1163,106 @@ TEST(CalDAV, DeleteEntry){ ASSERT_EQ(204, ConnResult.HTTPCode); ASSERT_EQ(CURLE_OK, ConnResult.Code); +} + +TEST(CalDAV, GetEntryList){ + + // Check that EntryCalendarHREFProcessing is not blank. + + ASSERT_NE("", EntryCalendarHREFProcessing); + + CalDAVConnectionData ConnNormal; + string CurrentUserPrincipal; + + bool ValidDataNormal = false; + + // Attempt to read the caldavtest.auth file. + + ProcessConnectionDataFileResult DataFileResult = ProcessConnectionDataFile("caldavtest.auth", &ConnNormal); + if (DataFileResult == PROCESSCONNECTIONDATAFILE_OK){ + ValidDataNormal = true; + } + + ASSERT_EQ(true, ValidDataNormal); + + // Setup the connection. + + CalDAV ServerConnection; + + ServerConnection.SetupConnectionData(&ConnNormal); + + // Verify the connection settings. + + CalDAVStatus CalDAVStatus = ServerConnection.GetConnectionData(); + + ASSERT_EQ(CalDAVStatus.Hostname, ConnNormal.Hostname); + ASSERT_EQ(CalDAVStatus.Username, ConnNormal.Username); + ASSERT_EQ(CalDAVStatus.Port, ConnNormal.Port); + ASSERT_EQ(CalDAVStatus.Prefix, ConnNormal.Prefix); + ASSERT_EQ(CalDAVStatus.UseSSL, ConnNormal.UseSSL); + + // Connect to the server. + + CalDAVServerResult ConnResult = ServerConnection.Connect(); + + EXPECT_EQ(CALDAVQUERYRESULT_OK, ConnResult.Result); + ASSERT_EQ(200, ConnResult.HTTPCode); + ASSERT_EQ(CURLE_OK, ConnResult.Code); + + // Check that the server supports CalDAV. + + CalDAVServerSupport ConnSupport = ServerConnection.GetServerSupport(); + ConnResult = ServerConnection.GetServerResult(); + + EXPECT_EQ(CALDAVQUERYRESULT_OK, ConnResult.Result); + ASSERT_EQ(200, ConnResult.HTTPCode); + ASSERT_EQ(CURLE_OK, ConnResult.Code); + ASSERT_EQ(true, ConnSupport.BasicSupport); + + // Get the user principal. + + string UserPrincipalURI = ServerConnection.GetUserPrincipal(); + + // Get the calendar home. + + string CalendarHomeURL = ServerConnection.GetCalendarHome(UserPrincipalURI); + + string CalendarHREF = CalendarHomeURL; + CalendarHREF += "unittestcal/"; + + // Get the entry list without a calendar tag set. + + CalDAVEntryList EntryList = ServerConnection.GetEntryList(&CalendarHREF); + + EXPECT_GE(EntryList.HREF.size(), 1); + + // Get the list of calendars. + + CalDAVCalendarList CalendarList = ServerConnection.GetCalendars(); + + string CalendarTagURL = ""; + + for (std::map::iterator CalHREFIter = CalendarList.HREF.begin(); + CalHREFIter != CalendarList.HREF.end(); CalHREFIter++){ + + if (CalHREFIter->second.substr(CalHREFIter->second.length() - 13) == "/unittestcal/"){ + + CalendarTagURL = CalendarList.TagURL.find(CalHREFIter->first)->second; + + } + + } + + // Get the entry list without a calendar tag set (shouldn't be empty). + + EntryList = ServerConnection.GetEntryList(&CalendarHREF, nullptr); + + EXPECT_GE(EntryList.HREF.size(), 1); + + // Get the entry list with a calendar tag set (should be empty). + + EntryList = ServerConnection.GetEntryList(&CalendarHREF, &CalendarTagURL); + + EXPECT_EQ(EntryList.HREF.size(), 0); + } \ No newline at end of file -- 2.39.2