diff --git a/src/vs/platform/userDataSync/test/common/userDataSyncService.test.ts b/src/vs/platform/userDataSync/test/common/userDataSyncService.test.ts index 5c60bf19758bb4ea98db7035e6a394e9a9d10f02..9d81e434aae7458941e3c54126840502a40ee287 100644 --- a/src/vs/platform/userDataSync/test/common/userDataSyncService.test.ts +++ b/src/vs/platform/userDataSync/test/common/userDataSyncService.test.ts @@ -11,6 +11,7 @@ import { IFileService } from 'vs/platform/files/common/files'; import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { VSBuffer } from 'vs/base/common/buffer'; import { joinPath } from 'vs/base/common/resources'; +import { CancellationToken } from 'vs/base/common/cancellation'; suite('UserDataSyncService', () => { @@ -508,4 +509,22 @@ suite('UserDataSyncService', () => { }); + test('test can run sync taks only once', async () => { + // Setup the client + const target = new UserDataSyncTestServer(); + const client = disposableStore.add(new UserDataSyncClient(target)); + await client.setUp(); + const testObject = client.instantiationService.get(IUserDataSyncService); + + const syncTask = await testObject.createSyncTask(); + await syncTask.run(CancellationToken.None); + + try { + await syncTask.run(CancellationToken.None); + assert.fail('Should fail running the task again'); + } catch (error) { + /* expected */ + } + }); + });