diff --git a/src/app/components/project-map/context-menu/actions/console-device-action/console-device-action.component.spec.ts b/src/app/components/project-map/context-menu/actions/console-device-action/console-device-action.component.spec.ts index 5176c979..0a9a52ba 100644 --- a/src/app/components/project-map/context-menu/actions/console-device-action/console-device-action.component.spec.ts +++ b/src/app/components/project-map/context-menu/actions/console-device-action/console-device-action.component.spec.ts @@ -11,6 +11,8 @@ import { SettingsService } from '../../../../../services/settings.service'; import { MockedSettingsService } from '../../../../../services/settings.service.spec'; import { Node } from '../../../../../cartography/models/node'; import { Server } from '../../../../../models/server'; +import { MockedNodeService } from '../../../project-map.component.spec'; +import { NodeService } from '../../../../../services/node.service'; describe('ConsoleDeviceActionComponent', () => { @@ -20,7 +22,8 @@ describe('ConsoleDeviceActionComponent', () => { let server: Server; let mockedSettingsService: MockedSettingsService; let mockedServerService: MockedServerService; - let mockedToaster: MockedToasterService + let mockedToaster: MockedToasterService; + let mockedNodeService: MockedNodeService = new MockedNodeService(); beforeEach(() => { electronService = { @@ -47,7 +50,8 @@ describe('ConsoleDeviceActionComponent', () => { { provide: ElectronService, useValue: electronService }, { provide: ServerService, useValue: mockedServerService }, { provide: SettingsService, useValue: mockedSettingsService }, - { provide: ToasterService, useValue: mockedToaster } + { provide: ToasterService, useValue: mockedToaster }, + { provide: NodeService, useValue: mockedNodeService } ], imports: [ MatIconModule diff --git a/src/app/components/project-map/context-menu/actions/console-device-action/console-device-action.component.ts b/src/app/components/project-map/context-menu/actions/console-device-action/console-device-action.component.ts index 03496aec..b4c0a39b 100644 --- a/src/app/components/project-map/context-menu/actions/console-device-action/console-device-action.component.ts +++ b/src/app/components/project-map/context-menu/actions/console-device-action/console-device-action.component.ts @@ -5,6 +5,7 @@ import { ElectronService } from 'ngx-electron'; import { ServerService } from '../../../../../services/server.service'; import { SettingsService } from '../../../../../services/settings.service'; import { ToasterService } from '../../../../../services/toaster.service'; +import { NodeService } from '../../../../../services/node.service'; @Component({ selector: 'app-console-device-action', @@ -18,19 +19,14 @@ export class ConsoleDeviceActionComponent implements OnInit { private electronService: ElectronService, private serverService: ServerService, private settingsService: SettingsService, - private toasterService: ToasterService + private toasterService: ToasterService, + private nodeService: NodeService ) { } - ngOnInit() { - } + ngOnInit() {} async console() { - let consoleCommand = this.settingsService.get('console_command'); - - if(consoleCommand === undefined) { - consoleCommand = `putty.exe -telnet \%h \%p -wt \"\%d\" -gns3 5 -skin 4`; - } - + let consoleCommand = this.settingsService.get('console_command') ? this.settingsService.get('console_command') : this.nodeService.getDefaultCommand(); const startedNodes = this.nodes.filter(node => node.status === 'started'); if(startedNodes.length === 0) { diff --git a/src/app/components/project-map/nodes-menu/nodes-menu.component.ts b/src/app/components/project-map/nodes-menu/nodes-menu.component.ts index 5c8a432a..757d0025 100644 --- a/src/app/components/project-map/nodes-menu/nodes-menu.component.ts +++ b/src/app/components/project-map/nodes-menu/nodes-menu.component.ts @@ -28,10 +28,7 @@ export class NodesMenuComponent { async startConsoleForAllNodes() { if (this.electronService.isElectronApp) { - let consoleCommand = this.settingsService.get('console_command'); - if(consoleCommand === undefined) { - consoleCommand = `putty.exe -telnet \%h \%p -wt \"\%d\" -gns3 5 -skin 4`; - } + let consoleCommand = this.settingsService.get('console_command') ? this.settingsService.get('console_command') : this.nodeService.getDefaultCommand(); let nodes = this.nodesDataSource.getItems(); for(var node of nodes) { diff --git a/src/app/components/project-map/project-map.component.spec.ts b/src/app/components/project-map/project-map.component.spec.ts index 17cf354f..65bfbdbd 100644 --- a/src/app/components/project-map/project-map.component.spec.ts +++ b/src/app/components/project-map/project-map.component.spec.ts @@ -64,6 +64,10 @@ export class MockedProgressService { export class MockedNodeService { public node = { label: {} } as Node; constructor() {} + + getDefaultCommand(): string { + return `putty.exe -telnet \%h \%p -wt \"\%d\" -gns3 5 -skin 4`; + } updateLabel(): Observable { return of(this.node); diff --git a/src/app/services/node.service.ts b/src/app/services/node.service.ts index 950f0bcd..9e877555 100644 --- a/src/app/services/node.service.ts +++ b/src/app/services/node.service.ts @@ -122,6 +122,10 @@ export class NodeService { return this.httpServer.get(server, `/projects/${node.project_id}/nodes/${node.node_id}`) } + getDefaultCommand(): string { + return `putty.exe -telnet \%h \%p -wt \"\%d\" -gns3 5 -skin 4`; + } + getConfiguration(server: Server, node: Node) { let urlPath: string = `/projects/${node.project_id}/nodes/${node.node_id}`