mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-28 16:13:53 +03:00
a1dc4069c9
We are going to change the webdav path depending on the capabilities. But the SyncEngine and csync might have been created before the capabilities are retrieved. The main raison why we gave the path to the sync engine was to pass it to csync. But the thing is that csync don't need anymore this url as everything is done by the discovery classes in libsync that use the network jobs that use the account for the urls. So csync do not need the remote URI. shortenFilename in folderstatusmodel.cpp was useless because the string is the _file of a SyncFileItem which is the relative file name, that name never starts with owncloud://. All the csync test creates the folder because csync use to check if the folder exists. But we don't need to do that anymore
126 lines
3.2 KiB
C
126 lines
3.2 KiB
C
/*
|
|
* libcsync -- a library to sync a directory with another
|
|
*
|
|
* Copyright (c) 2008-2013 by Andreas Schneider <asn@cryptomilk.org>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
#include <string.h>
|
|
|
|
#include "torture.h"
|
|
|
|
#define CSYNC_TEST 1
|
|
#include "csync_statedb.c"
|
|
|
|
#define TESTDB "/tmp/check_csync1/test.db"
|
|
|
|
static void setup(void **state) {
|
|
CSYNC *csync;
|
|
int rc;
|
|
|
|
rc = system("rm -rf /tmp/check_csync1");
|
|
assert_int_equal(rc, 0);
|
|
|
|
rc = system("mkdir -p /tmp/check_csync1");
|
|
assert_int_equal(rc, 0);
|
|
|
|
csync_create(&csync, "/tmp/check_csync1");
|
|
|
|
csync->statedb.file = c_strdup( TESTDB );
|
|
*state = csync;
|
|
|
|
sqlite3 *db = NULL;
|
|
rc = sqlite3_open_v2(TESTDB, &db, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL);
|
|
assert_int_equal(rc, SQLITE_OK);
|
|
|
|
rc = sqlite3_close(db);
|
|
assert_int_equal(rc, SQLITE_OK);
|
|
}
|
|
|
|
static void teardown(void **state) {
|
|
CSYNC *csync = *state;
|
|
int rc;
|
|
|
|
rc = csync_destroy(csync);
|
|
assert_int_equal(rc, 0);
|
|
|
|
rc = system("rm -rf /tmp/check_csync1");
|
|
assert_int_equal(rc, 0);
|
|
|
|
*state = NULL;
|
|
}
|
|
|
|
static void check_csync_statedb_load(void **state)
|
|
{
|
|
CSYNC *csync = *state;
|
|
int rc;
|
|
|
|
rc = csync_statedb_load(csync, TESTDB, &csync->statedb.db);
|
|
assert_int_equal(rc, 0);
|
|
|
|
sqlite3_close(csync->statedb.db);
|
|
}
|
|
|
|
static void check_csync_statedb_close(void **state)
|
|
{
|
|
CSYNC *csync = *state;
|
|
csync_stat_t sb;
|
|
time_t modtime;
|
|
mbchar_t *testdb = c_utf8_path_to_locale(TESTDB);
|
|
int rc;
|
|
|
|
/* statedb not written */
|
|
csync_statedb_load(csync, TESTDB, &csync->statedb.db);
|
|
|
|
rc = _tstat(testdb, &sb);
|
|
assert_int_equal(rc, 0);
|
|
modtime = sb.st_mtime;
|
|
|
|
rc = csync_statedb_close(csync);
|
|
assert_int_equal(rc, 0);
|
|
|
|
rc = _tstat(testdb, &sb);
|
|
assert_int_equal(rc, 0);
|
|
assert_int_equal(modtime, sb.st_mtime);
|
|
|
|
csync_statedb_load(csync, TESTDB, &csync->statedb.db);
|
|
|
|
rc = _tstat(testdb, &sb);
|
|
assert_int_equal(rc, 0);
|
|
modtime = sb.st_mtime;
|
|
|
|
/* wait a sec or the modtime will be the same */
|
|
sleep(1);
|
|
|
|
/* statedb written */
|
|
rc = csync_statedb_close(csync);
|
|
assert_int_equal(rc, 0);
|
|
|
|
rc = _tstat(testdb, &sb);
|
|
assert_int_equal(rc, 0);
|
|
|
|
c_free_locale_string(testdb);
|
|
}
|
|
|
|
int torture_run_tests(void)
|
|
{
|
|
const UnitTest tests[] = {
|
|
unit_test_setup_teardown(check_csync_statedb_load, setup, teardown),
|
|
unit_test_setup_teardown(check_csync_statedb_close, setup, teardown),
|
|
};
|
|
|
|
return run_tests(tests);
|
|
}
|
|
|