Skip to content
This repository was archived by the owner on Jan 5, 2026. It is now read-only.

Commit 3f0af87

Browse files
committed
Added a log panel entry that displays the bot endpoint.
1 parent 8441576 commit 3f0af87

3 files changed

Lines changed: 85 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## Unreleased
8+
## Added
9+
- [client] Added a log panel entry at the start of a conversation that displays the bot endpoint in PR [2149](https://github.com/microsoft/BotFramework-Emulator/pull/2149)
810

911
## v4.9.0 - 2020 - 05 - 11
1012
## Added
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
//
2+
// Copyright (c) Microsoft. All rights reserved.
3+
// Licensed under the MIT license.
4+
//
5+
// Microsoft Bot Framework: http://botframework.com
6+
//
7+
// Bot Framework Emulator Github:
8+
// https://github.com/Microsoft/BotFramwork-Emulator
9+
//
10+
// Copyright (c) Microsoft Corporation
11+
// All rights reserved.
12+
//
13+
// MIT License:
14+
// Permission is hereby granted, free of charge, to any person obtaining
15+
// a copy of this software and associated documentation files (the
16+
// "Software"), to deal in the Software without restriction, including
17+
// without limitation the rights to use, copy, modify, merge, publish,
18+
// distribute, sublicense, and/or sell copies of the Software, and to
19+
// permit persons to whom the Software is furnished to do so, subject to
20+
// the following conditions:
21+
//
22+
// The above copyright notice and this permission notice shall be
23+
// included in all copies or substantial portions of the Software.
24+
//
25+
// THE SOFTWARE IS PROVIDED ""AS IS"", WITHOUT WARRANTY OF ANY KIND,
26+
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
27+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
28+
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
29+
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
30+
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
31+
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32+
//
33+
34+
import { textItem, LogLevel } from '@bfemulator/sdk-shared';
35+
36+
import { EmulatorRestServer } from './restServer';
37+
38+
jest.mock('./routes/mountAllRoutes', () => ({
39+
mountAllRoutes: jest.fn(),
40+
}));
41+
42+
describe('restServer', () => {
43+
let server: EmulatorRestServer;
44+
const logService = {
45+
logToChat: jest.fn(),
46+
};
47+
const emulatorUrl = 'http://localhost:52634';
48+
const conversationId = 'convo1';
49+
const mockConversation: any = {
50+
botEndpoint: {
51+
botUrl: 'http://localhost:3978/api/messages',
52+
},
53+
};
54+
55+
beforeEach(() => {
56+
server = new EmulatorRestServer({ logService });
57+
(server as any)._serverUrl = emulatorUrl;
58+
server.state.conversations.conversations = {
59+
[conversationId]: mockConversation,
60+
};
61+
logService.logToChat.mockClear();
62+
});
63+
64+
it('should report the bot url and emulator url', () => {
65+
server.report(conversationId);
66+
67+
expect(logService.logToChat).toBeCalledWith(
68+
conversationId,
69+
textItem(LogLevel.Debug, `Connecting to bot on ${mockConversation.botEndpoint.botUrl}`)
70+
);
71+
expect(logService.logToChat).toBeCalledWith(
72+
conversationId,
73+
textItem(LogLevel.Debug, `Emulator listening on ${emulatorUrl}`)
74+
);
75+
});
76+
});

packages/app/main/src/server/restServer.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,13 @@ export class EmulatorRestServer {
184184
}
185185

186186
public report(conversationId: string): void {
187+
const conversation = this.state.conversations.conversationById(conversationId);
188+
if (conversation && conversation.botEndpoint && conversation.botEndpoint.botUrl) {
189+
this.options.logService.logToChat(
190+
conversationId,
191+
textItem(LogLevel.Debug, `Connecting to bot on ${conversation.botEndpoint.botUrl}`)
192+
);
193+
}
187194
this.options.logService.logToChat(
188195
conversationId,
189196
textItem(LogLevel.Debug, `Emulator listening on ${this.serverUrl}`)

0 commit comments

Comments
 (0)