Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added Timeout setting to CalDAVConnectionData/CalDAVStatus
[xestiacalendar/.git] / source / tests / xestiacalendar_caldav.h
index 50faa06..5fd20c6 100644 (file)
@@ -59,7 +59,7 @@ TEST(CalDAV, BasicTests){
        
        // Attempt to read the caldavtest-timeout.auth file.
        
-       DataFileResult = ProcessConnectionDataFile("caldavtest-fail.auth", &ConnTimeout);
+       DataFileResult = ProcessConnectionDataFile("caldavtest-timeout.auth", &ConnTimeout);
        if (DataFileResult == PROCESSCONNECTIONDATAFILE_OK){
                ValidDataTimeout = true;
        }
@@ -183,19 +183,82 @@ TEST(CalDAV, BasicTests){
        
        // (*nix version) Setup an initial connection (with a valid
        // SSL certificate).
+
+       CalDAV CalDAVNormal;
+       CalDAVNormal.SetupConnectionData(&ConnNormal);
+
+       // Verify that the settings match with the CalDAVConnectionData
+       // passed.
        
+       CalDAVStatus CalDAVNormalStatus = CalDAVNormal.GetConnectionData();
+       
+       ASSERT_EQ(CalDAVNormalStatus.Hostname, ConnNormal.Hostname);
+       ASSERT_EQ(CalDAVNormalStatus.Username, ConnNormal.Username);
+       ASSERT_EQ(CalDAVNormalStatus.Port, ConnNormal.Port);
+       ASSERT_EQ(CalDAVNormalStatus.Prefix, ConnNormal.Prefix);
+       ASSERT_EQ(CalDAVNormalStatus.UseSSL, ConnNormal.UseSSL);
+
        // Verify that the connection was successful (with a valid
        // SSL certificate).
        
+       ConnResult = CalDAVNormal.Connect();
+       
+       ASSERT_EQ(CALDAVQUERYRESULT_OK, ConnResult.Result);
+       ASSERT_EQ(200, ConnResult.HTTPCode);
+       ASSERT_EQ(CURLE_OK, ConnResult.Code);
+       
        // (*nix version) Setup an initial connection on a server that
        // will fail due to having an invalid SSL certificate.
 
+       CalDAV CalDAVInvalidSSL;
+       CalDAVInvalidSSL.SetupConnectionData(&ConnInvalidSSL);
+
+       // Verify that the settings match with the CalDAVConnectionData
+       // passed.
+       
+       CalDAVStatus CalDAVInvalidSSLStatus = CalDAVInvalidSSL.GetConnectionData();
+       
+       ASSERT_EQ(CalDAVInvalidSSLStatus.Hostname, ConnInvalidSSL.Hostname);
+       ASSERT_EQ(CalDAVInvalidSSLStatus.Username, ConnInvalidSSL.Username);
+       ASSERT_EQ(CalDAVInvalidSSLStatus.Port, ConnInvalidSSL.Port);
+       ASSERT_EQ(CalDAVInvalidSSLStatus.Prefix, ConnInvalidSSL.Prefix);
+       ASSERT_EQ(CalDAVInvalidSSLStatus.UseSSL, ConnInvalidSSL.UseSSL);
+       
        // Verify that the connection had failed. (with an invalid
        // SSL certificate).
        
+       ConnResult = CalDAVInvalidSSL.Connect();
+       
+       ASSERT_EQ(CALDAVQUERYRESULT_SERVERERROR, ConnResult.Result);
+       ASSERT_EQ(0, ConnResult.HTTPCode);
+       ASSERT_EQ(CURLE_SSL_CACERT, ConnResult.Code);
+       
        // (*nix version) Setup an inital connection on a server where
        // a timeout occurs.
        
+       ConnTimeout.Timeout = 5;
+       
+       CalDAV CalDAVTimeout;
+       CalDAVTimeout.SetupConnectionData(&ConnTimeout);
+
+       // Verify that the settings match with the CalDAVConnectionData
+       // passed.
+       
+       CalDAVStatus CalDAVTimeoutStatus = CalDAVTimeout.GetConnectionData();
+       
+       ASSERT_EQ(CalDAVTimeoutStatus.Hostname, ConnTimeout.Hostname);
+       ASSERT_EQ(CalDAVTimeoutStatus.Username, ConnTimeout.Username);
+       ASSERT_EQ(CalDAVTimeoutStatus.Port, ConnTimeout.Port);
+       ASSERT_EQ(CalDAVTimeoutStatus.Prefix, ConnTimeout.Prefix);
+       ASSERT_EQ(CalDAVTimeoutStatus.Timeout, ConnTimeout.Timeout);
+       ASSERT_EQ(CalDAVTimeoutStatus.UseSSL, ConnTimeout.UseSSL);
+       
        // Verify that the connection had timed out.
        
+       ConnResult = CalDAVTimeout.Connect();
+       
+       ASSERT_EQ(CALDAVQUERYRESULT_SERVERERROR, ConnResult.Result);
+       ASSERT_EQ(0, ConnResult.HTTPCode);
+       ASSERT_EQ(CURLE_OPERATION_TIMEDOUT, ConnResult.Code);
+       
 }
\ No newline at end of file
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy