8000 SkillHandler doesn't return ResourceResponse when forwarding activiti… · mmtrucefacts/botbuilder-python@b787506 · GitHub
[go: up one dir, main page]

Skip to content
8000

Commit b787506

Browse files
tracyboehrergabog
andauthored
SkillHandler doesn't return ResourceResponse when forwarding activities (microsoft#1404)
Co-authored-by: Gabo Gilabert <gabog@users.noreply.github.com>
1 parent 8970503 commit b787506

File tree

1 file changed

+32
-25
lines changed

1 file changed

+32
-25
lines changed

libraries/botbuilder-core/tests/skills/test_skill_handler.py

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@
22
import json
33
from uuid import uuid4
44
from asyncio import Future
5-
from typing import Dict, List
5+
from typing import Dict, List, Callable
66

77
from unittest.mock import Mock, MagicMock
88
import aiounittest
99

10+
from botframework.connector.auth import (
11+
AuthenticationConfiguration,
12+
AuthenticationConstants,
13+
ClaimsIdentity,
14+
)
1015
from botbuilder.core import (
1116
TurnContext,
1217
BotActionNotImplementedError,
@@ -28,11 +33,6 @@
2833
Transcript,
2934
CallerIdConstants,
3035
)
31-
from botframework.connector.auth import (
32-
AuthenticationConfiguration,
33-
AuthenticationConstants,
34-
ClaimsIdentity,
35-
)
3636

3737

3838
class ConversationIdFactoryForTest(ConversationIdFactoryBase):
@@ -206,10 +206,30 @@ async def test_on_send_to_conversation(self):
206206
)
207207

208208
mock_adapter = Mock()
209-
mock_adapter.continue_conversation = MagicMock(return_value=Future())
210-
mock_adapter.continue_conversation.return_value.set_result(Mock())
211-
mock_adapter.send_activities = MagicMock(return_value=Future())
212-
mock_adapter.send_activities.return_value.set_result([])
209+
210+
async def continue_conversation(
211+
reference: ConversationReference,
212+
callback: Callable,
213+
bot_id: str = None,
214+
claims_identity: ClaimsIdentity = None,
215+
audience: str = None,
216+
): # pylint: disable=unused-argument
217+
await callback(
218+
TurnContext(
219+
mock_adapter,
220+
conversation_reference_extension.get_continuation_activity(
221+
self._conversation_reference
222+
),
223+
)
224+
)
225+
226+
async def send_activities(
227+
context: TurnContext, activities: List[Activity]
228+
): # pylint: disable=unused-argument
229+
return [ResourceResponse(id="resourceId")]
230+
231+
mock_adapter.continue_conversation = continue_conversation
232+
mock_adapter.send_activities = send_activities
213233

214234
sut = self.create_skill_handler_for_testing(mock_adapter)
215235

@@ -218,25 +238,12 @@ async def test_on_send_to_conversation(self):
218238

219239
assert not activity.caller_id
220240

221-
await sut.test_on_send_to_conversation(
241+
resource_response = await sut.test_on_send_to_conversation(
222242
self._claims_identity, self._conversation_id, activity
223243
)
224244

225-
args, kwargs = mock_adapter.continue_conversation.call_args_list[0]
226-
227-
assert isinstance(args[0], ConversationReference)
228-
assert callable(args[1])
229-
assert isinstance(kwargs["claims_identity"], ClaimsIdentity)
230-
231-
await args[1](
232-
TurnContext(
233-
mock_adapter,
234-
conversation_reference_extension.get_continuation_activity(
235-
self._conversation_reference
236-
),
237-
)
238-
)
239245
assert activity.caller_id is None
246+
assert resource_response.id == "resourceId"
240247

241248
async def test_forwarding_on_send_to_conversation(self):
242249
self._conversation_id = await self._test_id_factory.create_skill_conversation_id(

0 commit comments

Comments
 (0)
0