1 // xestiacalendar_caldav.h - Xestia Calendar CalDAV Object Unit Tests
3 // (c) 2016 Xestia Software Development.
5 // This file is part of Xestia Calendar.
7 // Xestia Address Book is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
11 // Xestia Address Book is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
19 #include "../objects/CalDAV/CalDAV.h"
20 #include "xestiacalendar_testcommon.h"
26 TEST(CalDAV, BasicTests){
28 CalDAVConnectionData ConnPlain;
29 CalDAVConnectionData ConnNormal;
30 CalDAVConnectionData ConnFail;
31 CalDAVConnectionData ConnTimeout;
32 ProcessConnectionDataFileResult DataFileResult;
34 bool ValidDataPlain = false;
35 bool ValidDataNormal = false;
36 bool ValidDataFail = false;
37 bool ValidDataTimeout = false;
39 // Attempt to read the caldavtest-plain.auth file.
41 DataFileResult = ProcessConnectionDataFile("caldavtest-plain.auth", &ConnPlain);
42 if (DataFileResult == PROCESSCONNECTIONDATAFILE_OK){
43 ValidDataPlain = true;
46 // Attempt to read the caldavtest.auth file.
48 DataFileResult = ProcessConnectionDataFile("caldavtest.auth", &ConnNormal);
49 if (DataFileResult == PROCESSCONNECTIONDATAFILE_OK){
50 ValidDataNormal = true;
53 // Attempt to read the caldavtest-fail.auth file.
55 DataFileResult = ProcessConnectionDataFile("caldavtest-fail.auth", &ConnFail);
56 if (DataFileResult == PROCESSCONNECTIONDATAFILE_OK){
60 // Attempt to read the caldavtest-timeout.auth file.
62 DataFileResult = ProcessConnectionDataFile("caldavtest-fail.auth", &ConnTimeout);
63 if (DataFileResult == PROCESSCONNECTIONDATAFILE_OK){
64 ValidDataTimeout = true;
67 if (ValidDataPlain == false){
69 // Cannot read the caldavtest-plain.auth file properly.
71 cout << "The caldavtest-plain.auth file does not exist or is invalid!" << endl;
72 cout << "Please create the caldavtest-plain.auth file using the following format:" << endl << endl;
73 cout << "server=localname" << endl;
74 cout << "port=8080" << endl;
75 cout << "user=username" << endl;
76 cout << "pass=password" << endl;
77 cout << "ssl=false" << endl;
78 cout << "prefix=/lalala/lookatme/thisisa/prefix" << endl << endl;
82 if (ValidDataNormal == false){
84 // Cannot read the caldavtest.auth file properly.
86 cout << "The caldavtest.auth file does not exist or is invalid!" << endl;
87 cout << "Please create the caldavtest.auth file using the following format:" << endl << endl;
88 cout << "server=localname" << endl;
89 cout << "port=8080" << endl;
90 cout << "user=username" << endl;
91 cout << "pass=password" << endl;
92 cout << "ssl=false" << endl;
93 cout << "prefix=/lalala/lookatme/thisisa/prefix" << endl << endl;
97 if (ValidDataFail == false){
99 // Cannot read the caldavtest-fail.auth file properly.
101 cout << "The caldavtest-fail.auth file does not exist or is invalid!" << endl;
102 cout << "Please create the caldavtest-fail.auth file using the following format:" << endl << endl;
103 cout << "server=fail.localname" << endl;
104 cout << "port=8080" << endl;
105 cout << "user=username" << endl;
106 cout << "pass=password" << endl;
107 cout << "ssl=false" << endl;
108 cout << "prefix=/lalala/lookatme/thisisa/prefix" << endl << endl;
112 if (ValidDataTimeout == false){
114 // Cannot read the caldavtest-timeout.auth file properly.
116 cout << "The caldavtest-timeout.auth file does not exist or is invalid!" << endl;
117 cout << "Please create the caldavtest-timeout.auth file using the following format:" << endl << endl;
118 cout << "server=fail.localname" << endl;
119 cout << "port=8080" << endl;
120 cout << "user=username" << endl;
121 cout << "pass=password" << endl;
122 cout << "ssl=false" << endl;
123 cout << "prefix=/lalala/lookatme/thisisa/prefix" << endl << endl;
127 ASSERT_EQ(true, ValidDataPlain);
128 ASSERT_EQ(true, ValidDataNormal);
129 ASSERT_EQ(true, ValidDataFail);
130 ASSERT_EQ(true, ValidDataTimeout);
132 // (*nix version) Setup an initial connection (just plain
135 // Verify that the connection was successful.
137 // (*nix version) Setup an initial connection (with a valid
140 // Verify that the connection was successful (with a valid
143 // (*nix version) Setup an initial connection on a server that
144 // will fail due to having an invalid SSL certificate.
146 // Verify that the connection had failed. (with an invalid
149 // (*nix version) Setup an inital connection on a server where
152 // Verify that the connection had timed out.