mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-01-16 10:19:16 +00:00
51 lines
2.0 KiB
TypeScript
51 lines
2.0 KiB
TypeScript
// Functional Test on Main Cases
|
|
// This test suite only covers main functional cases of synchronisation. Event handling, error cases,
|
|
// and edge, resolving conflicts, etc. will be covered in separate test suites.
|
|
import { describe } from "vitest";
|
|
import {
|
|
PREFERRED_JOURNAL_SYNC,
|
|
PREFERRED_SETTING_SELF_HOSTED,
|
|
RemoteTypes,
|
|
type ObsidianLiveSyncSettings,
|
|
} from "@/lib/src/common/types";
|
|
|
|
import { defaultFileOption } from "./db_common";
|
|
import { syncBasicCase } from "./sync.senario.basic.ts";
|
|
import { settingBase } from "./variables.ts";
|
|
const sync_test_setting_base = settingBase;
|
|
export const env = (import.meta as any).env;
|
|
function* generateCase() {
|
|
const passpharse = "thetest-Passphrase3+9-for-e2ee!";
|
|
const REMOTE_RECOMMENDED = {
|
|
[RemoteTypes.REMOTE_COUCHDB]: PREFERRED_SETTING_SELF_HOSTED,
|
|
[RemoteTypes.REMOTE_MINIO]: PREFERRED_JOURNAL_SYNC,
|
|
[RemoteTypes.REMOTE_P2P]: PREFERRED_SETTING_SELF_HOSTED,
|
|
};
|
|
const remoteTypes = [RemoteTypes.REMOTE_COUCHDB];
|
|
// const remoteTypes = [RemoteTypes.REMOTE_P2P];
|
|
const e2eeOptions = [false];
|
|
// const e2eeOptions = [true];
|
|
for (const remoteType of remoteTypes) {
|
|
for (const useE2EE of e2eeOptions) {
|
|
yield {
|
|
setting: {
|
|
...sync_test_setting_base,
|
|
...REMOTE_RECOMMENDED[remoteType],
|
|
remoteType,
|
|
encrypt: useE2EE,
|
|
passphrase: useE2EE ? passpharse : "",
|
|
usePathObfuscation: useE2EE,
|
|
} as ObsidianLiveSyncSettings,
|
|
};
|
|
}
|
|
}
|
|
}
|
|
|
|
describe.skip("Replication Suite Tests (Single)", async () => {
|
|
const cases = Array.from(generateCase());
|
|
const fileOptions = defaultFileOption;
|
|
describe.each(cases)("Replication Tests - Remote: $setting.remoteType, E2EE: $setting.encrypt", ({ setting }) => {
|
|
syncBasicCase(`Remote: ${setting.remoteType}, E2EE: ${setting.encrypt}`, { setting, fileOptions });
|
|
});
|
|
});
|