Skip to content

Commit 79e4925

Browse files
committed
add test
1 parent 30ae39d commit 79e4925

1 file changed

Lines changed: 46 additions & 4 deletions

File tree

src/vs/platform/userDataSync/test/common/userDataSyncStoreService.test.ts

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,60 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
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';
88
import { UserDataSyncClient, UserDataSyncTestServer } from 'vs/platform/userDataSync/test/common/userDataSyncClient';
99
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';
1111
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';
1313
import { CancellationToken } from 'vs/base/common/cancellation';
1414
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';
1616
import { timeout } from 'vs/base/common/async';
1717
import { NullLogService } from 'vs/platform/log/common/log';
1818
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+
});
1961

2062
suite('UserDataSyncStoreService', () => {
2163

0 commit comments

Comments
 (0)