#include "CalDAV.h"
+bool CalDAVObjectValidSettings(CalDAVConnectionData *ConnData){
+
+ // Check if the passed CalDAV Connection Data is has
+ // an address set. Return false if nullptr is used.
+
+ if (ConnData == nullptr){
+
+ return false;
+
+ }
+
+ // Check the server hostname. Return false
+ // if no value has been set.
+
+ if (ConnData->Hostname.size() > 0){
+
+ return false;
+
+ }
+
+ // Check the server port. Return false if
+ // no value has been set or the port number
+ // is less than 1 or higher than 65535.
+
+ if (ConnData->Port < 1 || ConnData->Port > 65535){
+
+ return false;
+
+ }
+
+ // Check the server username. Return false
+ // if no value has been set.
+
+ if (ConnData->Username.size() > 0){
+ return false;
+ }
+
+ // Check the server password. Return false
+ // if no value has been set.
+
+ if (ConnData->Password.size() > 0){
+ return false;
+ }
+
+ // Cannot check UseSSL: It is either true
+ // or false.
+
+ // Cannot check Prefix: The prefix may need
+ // to be worked out first.
+
+ // No errors were found whilst checking so
+ // return true.
+
+ return true;
+
+}
\ No newline at end of file
struct CalDAVStatus{
-
+ string Hostname;
+ int Port;
+ string Username;
+ string Prefix;
+ bool UseSSL;
};
};
+// Subroutines that are used with the
+// CalDAVConnectionData struct.
+
+bool CalDAVObjectValidSettings(CalDAVConnectionData *ConnData);
+
#endif
TEST(CalDAV, BasicTests){
+ CalDAVConnectionData ConnPlain;
+ CalDAVConnectionData ConnNormal;
+ CalDAVConnectionData ConnFail;
+ CalDAVConnectionData ConnTimeout;
+ ProcessConnectionDataFileResult DataFileResult;
+
bool ValidDataPlain = false;
bool ValidDataNormal = false;
bool ValidDataFail = false;
bool ValidDataTimeout = false;
// Attempt to read the caldavtest-plain.auth file.
+
+ DataFileResult = ProcessConnectionDataFile("caldavtest-plain.auth", &ConnPlain);
+ if (DataFileResult != PROCESSCONNECTIONDATAFILE_OK){
+ ValidDataPlain = true;
+ }
+
+ // Attempt to read the caldavtest.auth file.
+
+ DataFileResult = ProcessConnectionDataFile("caldavtest.auth", &ConnNormal);
+ if (DataFileResult != PROCESSCONNECTIONDATAFILE_OK){
+ ValidDataNormal = true;
+ }
+
// Attempt to read the caldavtest-fail.auth file.
+
+ DataFileResult = ProcessConnectionDataFile("caldavtest-fail.auth", &ConnFail);
+ if (DataFileResult != PROCESSCONNECTIONDATAFILE_OK){
+ ValidDataFail = true;
+ }
+
// Attempt to read the caldavtest-timeout.auth file.
- // Attempt to read the caldavtest.auth file.
+
+ DataFileResult = ProcessConnectionDataFile("caldavtest-fail.auth", &ConnTimeout);
+ if (DataFileResult != PROCESSCONNECTIONDATAFILE_OK){
+ ValidDataTimeout = true;
+ }
if (ValidDataPlain == false){
}
+ // Check that the CalDAV connection data object
+ // contains valid data.
+
+ bool CalDAVConnDataResult = CalDAVObjectValidSettings(&ConnData);
+
+ if (CalDAVConnDataResult == false){
+ ProcessResult = PROCESSCONNECTIONDATAFILE_INVALID;
+ } else {
+ ProcessResult = PROCESSCONNECTIONDATAFILE_OK;
+ }
+
return ProcessResult;
}
\ No newline at end of file
PROCESSCONNECTIONDATAFILE_UNITTESTFAIL = -1,
PROCESSCONNECTIONDATAFILE_OK,
PROCESSCONNECTIONDATAFILE_MISSING,
- PROCESSCONNECTIONDATAFILE_CANNOTOPEN
+ PROCESSCONNECTIONDATAFILE_CANNOTOPEN,
+ PROCESSCONNECTIONDATAFILE_INVALID
};
ProcessConnectionDataFileResult ProcessConnectionDataFile(string DataFilename,