1 // xestiaab_carddav.h - Xestia Address Book CardDAV Object Unit Tests.
3 // (c) 2012-2015 Xestia Software Development.
5 // This file is part of Xestia Address Book.
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 Address Book. If not, see <http://www.gnu.org/licenses/>
19 #include <gtest/gtest.h>
20 #include "classes/FakeConnectionObject.h"
22 // TODO: Add tests for the CardDAV object.
24 TEST(CardDAV, Use_Fake_To_Setup_And_Check_Connection_Settings_With_TestMode_True){
26 std::string ServerAddress1 = "gibberish.invalid";
27 std::string ServerUser1 = "user";
28 std::string ServerPass1 = "pass";
30 std::string ServerAddress2 = "gibberish2.invalid";
31 std::string ServerUser2 = "user2";
32 std::string ServerPass2 = "pass2";
34 std::string ServerAddress3 = "gibberish3.invalid";
35 std::string ServerUser3 = "user3";
36 std::string ServerPass3 = "pass3";
38 FakeConnectionObject FakeConnection1(ServerAddress1, 8080, ServerUser1, ServerPass1, true);
39 FakeConnectionObject FakeConnection2(ServerAddress2, 8800, ServerUser2, ServerPass2, true);
40 FakeConnectionObject FakeConnection3(ServerAddress3, 8008, ServerUser3, ServerPass3, false);
42 EXPECT_EQ("gibberish.invalid", FakeConnection1.GetServerAddress());
43 EXPECT_EQ(8080, FakeConnection1.GetServerPort());
44 EXPECT_EQ("user", FakeConnection1.GetServerUser());
45 EXPECT_EQ("pass", FakeConnection1.GetServerPass());
46 EXPECT_EQ(true, FakeConnection1.GetServerSSL());
47 EXPECT_EQ(true, FakeConnection1.GetTestMode());
49 EXPECT_EQ("gibberish2.invalid", FakeConnection2.GetServerAddress());
50 EXPECT_EQ(8800, FakeConnection2.GetServerPort());
51 EXPECT_EQ("user2", FakeConnection2.GetServerUser());
52 EXPECT_EQ("pass2", FakeConnection2.GetServerPass());
53 EXPECT_EQ(true, FakeConnection2.GetServerSSL());
54 EXPECT_EQ(true, FakeConnection2.GetTestMode());
56 EXPECT_EQ("gibberish3.invalid", FakeConnection3.GetServerAddress());
57 EXPECT_EQ(8008, FakeConnection3.GetServerPort());
58 EXPECT_EQ("user3", FakeConnection3.GetServerUser());
59 EXPECT_EQ("pass3", FakeConnection3.GetServerPass());
60 EXPECT_EQ(false, FakeConnection3.GetServerSSL());
61 EXPECT_EQ(true, FakeConnection3.GetTestMode());
65 TEST(CardDAV, Use_Fake_To_Setup_And_Check_Connection_Settings_With_TestMode_False){
67 std::string ServerAddress1 = "gibberish.invalid";
68 std::string ServerUser1 = "user";
69 std::string ServerPass1 = "pass";
70 std::string ServerPrefix1 = "/prefix";
71 std::string ServerAccount1 = "Account1";
73 std::string ServerAddress2 = "gibberish2.invalid";
74 std::string ServerUser2 = "user2";
75 std::string ServerPass2 = "pass2";
76 std::string ServerPrefix2 = "/prefix2";
77 std::string ServerAccount2 = "Account2";
79 std::string ServerAddress3 = "gibberish3.invalid";
80 std::string ServerUser3 = "user3";
81 std::string ServerPass3 = "pass3";
82 std::string ServerPrefix3 = "/prefix3";
83 std::string ServerAccount3 = "Account3";
85 FakeConnectionObject FakeConnection1(ServerAddress1, 8080, ServerUser1, ServerPass1, true, "/prefix", "Account1");
86 FakeConnectionObject FakeConnection2(ServerAddress2, 8800, ServerUser2, ServerPass2, true, "/prefix2", "Account2");
87 FakeConnectionObject FakeConnection3(ServerAddress3, 8008, ServerUser3, ServerPass3, false, "/prefix3", "Account3");
89 EXPECT_EQ("gibberish.invalid", FakeConnection1.GetServerAddress());
90 EXPECT_EQ(8080, FakeConnection1.GetServerPort());
91 EXPECT_EQ("user", FakeConnection1.GetServerUser());
92 EXPECT_EQ("pass", FakeConnection1.GetServerPass());
93 EXPECT_EQ(true, FakeConnection1.GetServerSSL());
94 EXPECT_EQ(false, FakeConnection1.GetTestMode());
95 EXPECT_EQ("/prefix", FakeConnection1.GetServerPrefix());
96 EXPECT_EQ("Account1", FakeConnection1.GetServerAccount());
98 EXPECT_EQ("gibberish2.invalid", FakeConnection2.GetServerAddress());
99 EXPECT_EQ(8800, FakeConnection2.GetServerPort());
100 EXPECT_EQ("user2", FakeConnection2.GetServerUser());
101 EXPECT_EQ("pass2", FakeConnection2.GetServerPass());
102 EXPECT_EQ(true, FakeConnection2.GetServerSSL());
103 EXPECT_EQ(false, FakeConnection2.GetTestMode());
104 EXPECT_EQ("/prefix2", FakeConnection2.GetServerPrefix());
105 EXPECT_EQ("Account2", FakeConnection2.GetServerAccount());
107 EXPECT_EQ("gibberish3.invalid", FakeConnection3.GetServerAddress());
108 EXPECT_EQ(8008, FakeConnection3.GetServerPort());
109 EXPECT_EQ("user3", FakeConnection3.GetServerUser());
110 EXPECT_EQ("pass3", FakeConnection3.GetServerPass());
111 EXPECT_EQ(false, FakeConnection3.GetServerSSL());
112 EXPECT_EQ(false, FakeConnection3.GetTestMode());
113 EXPECT_EQ("/prefix3", FakeConnection3.GetServerPrefix());
114 EXPECT_EQ("Account3", FakeConnection3.GetServerAccount());
118 TEST(CardDAV, Use_Fake_To_Simulate_A_Connection_Returning_Success){
120 std::string ServerAddress1 = "gibberish.invalid";
121 std::string ServerUser1 = "user";
122 std::string ServerPass1 = "pass";
123 std::string ServerPrefix1 = "/prefix";
124 std::string ServerAccount1 = "Account1";
126 FakeConnectionObject FakeConnection(ServerAddress1, 8080, ServerUser1, ServerPass1, true);
127 FakeConnection.ResultStatus = COCONNECT_OK;
129 EXPECT_EQ(COCONNECT_OK, FakeConnection.Connect());
133 TEST(CardDAV, Use_Fake_To_Simulate_A_Connection_Returning_InvalidAddress){
135 std::string ServerAddress1 = "gibberish.invalid";
136 std::string ServerUser1 = "user";
137 std::string ServerPass1 = "pass";
138 std::string ServerPrefix1 = "/prefix";
139 std::string ServerAccount1 = "Account1";
141 FakeConnectionObject FakeConnection(ServerAddress1, 8080, ServerUser1, ServerPass1, true);
142 FakeConnection.ResultStatus = COCONNECT_INVALID;
144 EXPECT_EQ(COCONNECT_INVALID, FakeConnection.Connect());
148 TEST(CardDAV, Use_Fake_To_Simulate_A_Connection_Returning_Timeout){
150 std::string ServerAddress1 = "gibberish.invalid";
151 std::string ServerUser1 = "user";
152 std::string ServerPass1 = "pass";
153 std::string ServerPrefix1 = "/prefix";
154 std::string ServerAccount1 = "Account1";
156 FakeConnectionObject FakeConnection(ServerAddress1, 8080, ServerUser1, ServerPass1, true);
157 FakeConnection.ResultStatus = COCONNECT_TIMEOUT;
159 EXPECT_EQ(COCONNECT_TIMEOUT, FakeConnection.Connect());
163 TEST(CardDAV, Use_Fake_To_Simulate_A_Connection_Returning_Authentication_Failure){
165 std::string ServerAddress1 = "gibberish.invalid";
166 std::string ServerUser1 = "user";
167 std::string ServerPass1 = "pass";
168 std::string ServerPrefix1 = "/prefix";
169 std::string ServerAccount1 = "Account1";
171 FakeConnectionObject FakeConnection(ServerAddress1, 8080, ServerUser1, ServerPass1, true);
172 FakeConnection.ResultStatus = COCONNECT_AUTHFAIL;
174 EXPECT_EQ(COCONNECT_AUTHFAIL, FakeConnection.Connect());