|
4 | 4 | *--------------------------------------------------------------------------------------------*/ |
5 | 5 |
|
6 | 6 | import * as assert from 'assert'; |
7 | | -import { IUserDataSyncStoreService, SyncResource, UserDataSyncErrorCode, UserDataSyncStoreError } from 'vs/platform/userDataSync/common/userDataSync'; |
| 7 | +import { IUserDataSyncStoreService, SyncResource, UserDataSyncErrorCode, UserDataSyncStoreError, IUserDataSyncStoreManagementService, IUserDataSyncStore } from 'vs/platform/userDataSync/common/userDataSync'; |
8 | 8 | import { UserDataSyncClient, UserDataSyncTestServer } from 'vs/platform/userDataSync/test/common/userDataSyncClient'; |
9 | 9 | import { DisposableStore } from 'vs/base/common/lifecycle'; |
10 | | -import { IProductService } from 'vs/platform/product/common/productService'; |
| 10 | +import { IProductService, ConfigurationSyncStore } from 'vs/platform/product/common/productService'; |
11 | 11 | import { isWeb } from 'vs/base/common/platform'; |
12 | | -import { RequestsSession, UserDataSyncStoreService } from 'vs/platform/userDataSync/common/userDataSyncStoreService'; |
| 12 | +import { RequestsSession, UserDataSyncStoreService, UserDataSyncStoreManagementService } from 'vs/platform/userDataSync/common/userDataSyncStoreService'; |
13 | 13 | import { CancellationToken } from 'vs/base/common/cancellation'; |
14 | 14 | import { IRequestService } from 'vs/platform/request/common/request'; |
15 | | -import { newWriteableBufferStream } from 'vs/base/common/buffer'; |
| 15 | +import { newWriteableBufferStream, VSBuffer } from 'vs/base/common/buffer'; |
16 | 16 | import { timeout } from 'vs/base/common/async'; |
17 | 17 | import { NullLogService } from 'vs/platform/log/common/log'; |
18 | 18 | import { Event } from 'vs/base/common/event'; |
| 19 | +import product from 'vs/platform/product/common/product'; |
| 20 | +import { IFileService } from 'vs/platform/files/common/files'; |
| 21 | +import { IEnvironmentService } from 'vs/platform/environment/common/environment'; |
| 22 | +import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; |
| 23 | +import { URI } from 'vs/base/common/uri'; |
| 24 | + |
| 25 | +suite('UserDataSyncStoreManagementService', () => { |
| 26 | + const disposableStore = new DisposableStore(); |
| 27 | + |
| 28 | + teardown(() => disposableStore.clear()); |
| 29 | + |
| 30 | + test('test sync store is read from settings', async () => { |
| 31 | + const client = disposableStore.add(new UserDataSyncClient(new UserDataSyncTestServer())); |
| 32 | + await client.setUp(); |
| 33 | + |
| 34 | + client.instantiationService.stub(IProductService, { |
| 35 | + _serviceBrand: undefined, ...product, ...{ |
| 36 | + 'configurationSync.store': undefined |
| 37 | + } |
| 38 | + }); |
| 39 | + |
| 40 | + const configuredStore: ConfigurationSyncStore = { |
| 41 | + url: 'http://configureHost:3000', |
| 42 | + authenticationProviders: { 'configuredAuthProvider': { scopes: [] } } |
| 43 | + }; |
| 44 | + await client.instantiationService.get(IFileService).writeFile(client.instantiationService.get(IEnvironmentService).settingsResource, VSBuffer.fromString(JSON.stringify({ |
| 45 | + 'configurationSync.store': configuredStore |
| 46 | + }))); |
| 47 | + await client.instantiationService.get(IConfigurationService).reloadConfiguration(); |
| 48 | + |
| 49 | + const expected: IUserDataSyncStore = { |
| 50 | + url: URI.parse('http://configureHost:3000'), |
| 51 | + defaultUrl: URI.parse('http://configureHost:3000'), |
| 52 | + stableUrl: undefined, |
| 53 | + insidersUrl: undefined, |
| 54 | + authenticationProviders: [{ id: 'configuredAuthProvider', scopes: [] }] |
| 55 | + }; |
| 56 | + const testObject: IUserDataSyncStoreManagementService = client.instantiationService.createInstance(UserDataSyncStoreManagementService); |
| 57 | + assert.equal(JSON.stringify(testObject.userDataSyncStore), JSON.stringify(expected)); |
| 58 | + }); |
| 59 | + |
| 60 | +}); |
19 | 61 |
|
20 | 62 | suite('UserDataSyncStoreService', () => { |
21 | 63 |
|
|
0 commit comments