1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-07-13 00:10:37 +02:00

All: Resolves #7661: Stop synchronization with unsupported WebDAV providers (#7819)

This commit is contained in:
Julien
2023-02-22 21:12:53 +08:00
committed by GitHub
parent 219585bbcf
commit 32bb256cca
10 changed files with 112 additions and 1 deletions

View File

@ -0,0 +1,43 @@
import checkProviderIsSupported from './webDAVUtils';
import Setting from '../models/Setting';
describe('checkProviderIsSupported', () => {
describe('when no unsupported provider is already configured', () => {
beforeAll(() => {
Setting.setValue('sync.allowUnsupportedProviders', 0);
});
it('should not throw when no provider path is provided ', () => {
expect(() => checkProviderIsSupported('')).not.toThrow();
});
it('should not throw when a valid provider path is provided', () => {
expect(() => checkProviderIsSupported('https://good-webdav-provider.com')).not.toThrow();
});
it('should not throw when a valid provider path with a name that contains an unsupported provider is provided', () => {
expect(() => checkProviderIsSupported('https://hopcloudabc.com')).not.toThrow();
});
it('should throw an error with the name of the provider when an unsupported provider path is provided', () => {
expect(() => checkProviderIsSupported('https://pcloud.com')).toThrowError('The WebDAV implementation of pcloud is incompatible with Joplin, and as such is no longer supported. Please use a different sync method.');
expect(() => checkProviderIsSupported('https://api.pcloud.com')).toThrowError('The WebDAV implementation of pcloud is incompatible with Joplin, and as such is no longer supported. Please use a different sync method.');
expect(() => checkProviderIsSupported('https://api-pcloud-test.com')).toThrowError('The WebDAV implementation of pcloud is incompatible with Joplin, and as such is no longer supported. Please use a different sync method.');
});
expect(() => checkProviderIsSupported('?param=pcloud')).toThrowError('The WebDAV implementation of pcloud is incompatible with Joplin, and as such is no longer supported. Please use a different sync method.');
});
describe('when an unsupported provider is already configured', () => {
beforeAll(() => {
Setting.setValue('sync.allowUnsupportedProviders', 1);
});
it('should not throw when an unsupported provider is already configured', () => {
expect(() => checkProviderIsSupported('pcloud')).not.toThrow();
});
});
});