1027
TEST_F(DavProviderTests, delete_item)
1029
auto account = get_client();
1030
make_file("foo.txt");
1032
shared_ptr<Root> root;
1034
QFutureWatcher<QVector<shared_ptr<Root>>> watcher;
1035
QSignalSpy spy(&watcher, &decltype(watcher)::finished);
1036
watcher.setFuture(account->roots());
1037
if (spy.count() == 0)
1039
ASSERT_TRUE(spy.wait(SIGNAL_WAIT_TIME));
1041
auto roots = watcher.result();
1042
ASSERT_EQ(1, roots.size());
1046
shared_ptr<Item> item;
1048
QFutureWatcher<shared_ptr<Item>> watcher;
1049
QSignalSpy spy(&watcher, &decltype(watcher)::finished);
1050
watcher.setFuture(root->get("foo.txt"));
1051
if (spy.count() == 0)
1053
ASSERT_TRUE(spy.wait(SIGNAL_WAIT_TIME));
1055
item = watcher.result();
1059
QFutureWatcher<void> watcher;
1060
QSignalSpy spy(&watcher, &decltype(watcher)::finished);
1061
watcher.setFuture(item->delete_item());
1062
if (spy.count() == 0)
1064
ASSERT_TRUE(spy.wait(SIGNAL_WAIT_TIME));
1066
watcher.waitForFinished(); // to catch any errors
1070
EXPECT_EQ(-1, stat(local_file("foo.txt").c_str(), &buf));
1071
EXPECT_EQ(ENOENT, errno);
1074
TEST_F(DavProviderTests, delete_item_not_found)
1076
auto account = get_client();
1077
make_file("foo.txt");
1079
shared_ptr<Root> root;
1081
QFutureWatcher<QVector<shared_ptr<Root>>> watcher;
1082
QSignalSpy spy(&watcher, &decltype(watcher)::finished);
1083
watcher.setFuture(account->roots());
1084
if (spy.count() == 0)
1086
ASSERT_TRUE(spy.wait(SIGNAL_WAIT_TIME));
1088
auto roots = watcher.result();
1089
ASSERT_EQ(1, roots.size());
1093
shared_ptr<Item> item;
1095
QFutureWatcher<shared_ptr<Item>> watcher;
1096
QSignalSpy spy(&watcher, &decltype(watcher)::finished);
1097
watcher.setFuture(root->get("foo.txt"));
1098
if (spy.count() == 0)
1100
ASSERT_TRUE(spy.wait(SIGNAL_WAIT_TIME));
1102
item = watcher.result();
1105
ASSERT_EQ(0, unlink(local_file("foo.txt").c_str()));
1108
QFutureWatcher<void> watcher;
1109
QSignalSpy spy(&watcher, &decltype(watcher)::finished);
1110
watcher.setFuture(item->delete_item());
1111
if (spy.count() == 0)
1113
ASSERT_TRUE(spy.wait(SIGNAL_WAIT_TIME));
1117
watcher.waitForFinished(); // to catch any errors
1120
catch (RemoteCommsException const& e)
1122
EXPECT_EQ("Error from DELETE: 404", e.error_message());
1027
1127
int main(int argc, char**argv)
1029
1129
QCoreApplication app(argc, argv);