Skip to content

Commit ec90eff

Browse files
author
Kartik Raj
authored
Added tests for src\client\debugger\debugAdapter\serviceRegistry.ts (#9312)
1 parent eedec7b commit ec90eff

2 files changed

Lines changed: 54 additions & 1 deletion

File tree

src/client/debugger/debugAdapter/serviceRegistry.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export function initializeIoc(): IServiceContainer {
3131
return serviceContainer;
3232
}
3333

34-
function registerTypes(serviceManager: IServiceManager) {
34+
export function registerTypes(serviceManager: IServiceManager) {
3535
serviceManager.addSingleton<ICurrentProcess>(ICurrentProcess, CurrentProcess);
3636
serviceManager.addSingletonInstance<IDisposableRegistry>(IDisposableRegistry, []);
3737
serviceManager.addSingleton<IDebugStreamProvider>(IDebugStreamProvider, DebugStreamProvider);
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
'use strict';
5+
6+
import { expect } from 'chai';
7+
import { anything, instance, mock, verify } from 'ts-mockito';
8+
import { SocketServer } from '../../../client/common/net/socket/socketServer';
9+
import { FileSystem } from '../../../client/common/platform/fileSystem';
10+
import { PlatformService } from '../../../client/common/platform/platformService';
11+
import { IFileSystem, IPlatformService } from '../../../client/common/platform/types';
12+
import { CurrentProcess } from '../../../client/common/process/currentProcess';
13+
import { BufferDecoder } from '../../../client/common/process/decoder';
14+
import { IBufferDecoder, IProcessServiceFactory } from '../../../client/common/process/types';
15+
import { ICurrentProcess, IDisposableRegistry, ISocketServer } from '../../../client/common/types';
16+
import { DebugStreamProvider } from '../../../client/debugger/debugAdapter/Common/debugStreamProvider';
17+
import { DebuggerProcessServiceFactory } from '../../../client/debugger/debugAdapter/Common/processServiceFactory';
18+
import { ProtocolLogger } from '../../../client/debugger/debugAdapter/Common/protocolLogger';
19+
import { ProtocolParser } from '../../../client/debugger/debugAdapter/Common/protocolParser';
20+
import { ProtocolMessageWriter } from '../../../client/debugger/debugAdapter/Common/protocolWriter';
21+
import { initializeIoc, registerTypes } from '../../../client/debugger/debugAdapter/serviceRegistry';
22+
import { IDebugStreamProvider, IProtocolLogger, IProtocolMessageWriter, IProtocolParser } from '../../../client/debugger/debugAdapter/types';
23+
import { ServiceContainer } from '../../../client/ioc/container';
24+
import { ServiceManager } from '../../../client/ioc/serviceManager';
25+
import { IServiceManager } from '../../../client/ioc/types';
26+
27+
suite('Debugger debug adapter Service Registry', () => {
28+
let serviceManager: IServiceManager;
29+
30+
setup(() => {
31+
serviceManager = mock(ServiceManager);
32+
});
33+
34+
test('Ensure services are registered', async () => {
35+
registerTypes(instance(serviceManager));
36+
verify(serviceManager.addSingleton<ICurrentProcess>(ICurrentProcess, CurrentProcess)).once();
37+
verify(serviceManager.addSingletonInstance<IDisposableRegistry>(IDisposableRegistry, anything())).once();
38+
verify(serviceManager.addSingleton<IDebugStreamProvider>(IDebugStreamProvider, DebugStreamProvider)).once();
39+
verify(serviceManager.addSingleton<IProtocolLogger>(IProtocolLogger, ProtocolLogger)).once();
40+
verify(serviceManager.add<IProtocolParser>(IProtocolParser, ProtocolParser)).once();
41+
verify(serviceManager.addSingleton<IFileSystem>(IFileSystem, FileSystem)).once();
42+
verify(serviceManager.addSingleton<IPlatformService>(IPlatformService, PlatformService)).once();
43+
verify(serviceManager.addSingleton<ISocketServer>(ISocketServer, SocketServer)).once();
44+
verify(serviceManager.addSingleton<IProtocolMessageWriter>(IProtocolMessageWriter, ProtocolMessageWriter)).once();
45+
verify(serviceManager.addSingleton<IBufferDecoder>(IBufferDecoder, BufferDecoder)).once();
46+
verify(serviceManager.addSingleton<IProcessServiceFactory>(IProcessServiceFactory, DebuggerProcessServiceFactory)).once();
47+
});
48+
49+
test('Ensure service container is initialized', async () => {
50+
const serviceContainer = initializeIoc();
51+
expect(serviceContainer).to.be.instanceOf(ServiceContainer);
52+
});
53+
});

0 commit comments

Comments
 (0)