Spaces:
Build error
Build error
| # Copyright (c) Microsoft Corporation. All rights reserved. | |
| # Licensed under the MIT License. | |
| import aiounittest | |
| from botbuilder.dialogs import DialogSet, ComponentDialog, WaterfallDialog | |
| from botbuilder.core import ConversationState, MemoryStorage, NullTelemetryClient | |
| class MyBotTelemetryClient(NullTelemetryClient): | |
| # pylint: disable=useless-return | |
| def __init__(self): | |
| super().__init__() | |
| return | |
| class DialogSetTests(aiounittest.AsyncTestCase): | |
| def test_dialogset_constructor_valid(self): | |
| convo_state = ConversationState(MemoryStorage()) | |
| dialog_state_property = convo_state.create_property("dialogstate") | |
| dialog_set = DialogSet(dialog_state_property) | |
| assert dialog_set is not None | |
| def test_dialogset_constructor_null_property(self): | |
| self.assertRaises(TypeError, lambda: DialogSet(None)) | |
| def test_dialogset_constructor_null_from_componentdialog(self): | |
| ComponentDialog("MyId") | |
| def test_dialogset_telemetryset(self): | |
| convo_state = ConversationState(MemoryStorage()) | |
| dialog_state_property = convo_state.create_property("dialogstate") | |
| dialog_set = DialogSet(dialog_state_property) | |
| dialog_set.add(WaterfallDialog("A")) | |
| dialog_set.add(WaterfallDialog("B")) | |
| self.assertTrue( | |
| isinstance( | |
| dialog_set.find_dialog("A").telemetry_client, NullTelemetryClient | |
| ) | |
| ) | |
| self.assertTrue( | |
| isinstance( | |
| dialog_set.find_dialog("B").telemetry_client, NullTelemetryClient | |
| ) | |
| ) | |
| dialog_set.telemetry_client = MyBotTelemetryClient() | |
| self.assertTrue( | |
| isinstance( | |
| dialog_set.find_dialog("A").telemetry_client, MyBotTelemetryClient | |
| ) | |
| ) | |
| self.assertTrue( | |
| isinstance( | |
| dialog_set.find_dialog("B").telemetry_client, MyBotTelemetryClient | |
| ) | |
| ) | |
| def test_dialogset_nulltelemetryset(self): | |
| convo_state = ConversationState(MemoryStorage()) | |
| dialog_state_property = convo_state.create_property("dialogstate") | |
| dialog_set = DialogSet(dialog_state_property) | |
| dialog_set.add(WaterfallDialog("A")) | |
| dialog_set.add(WaterfallDialog("B")) | |
| dialog_set.telemetry_client = MyBotTelemetryClient() | |
| dialog_set.telemetry_client = None | |
| self.assertFalse( | |
| isinstance( | |
| dialog_set.find_dialog("A").telemetry_client, MyBotTelemetryClient | |
| ) | |
| ) | |
| self.assertFalse( | |
| isinstance( | |
| dialog_set.find_dialog("B").telemetry_client, MyBotTelemetryClient | |
| ) | |
| ) | |
| self.assertTrue( | |
| isinstance( | |
| dialog_set.find_dialog("A").telemetry_client, NullTelemetryClient | |
| ) | |
| ) | |
| self.assertTrue( | |
| isinstance( | |
| dialog_set.find_dialog("B").telemetry_client, NullTelemetryClient | |
| ) | |
| ) | |
| # pylint: disable=pointless-string-statement | |
| """ | |
| This test will be enabled when telematry tests are fixed for DialogSet telemetry | |
| def test_dialogset_addtelemetryset(self): | |
| convo_state = ConversationState(MemoryStorage()) | |
| dialog_state_property = convo_state.create_property("dialogstate") | |
| dialog_set = DialogSet(dialog_state_property) | |
| dialog_set.add(WaterfallDialog("A")) | |
| dialog_set.add(WaterfallDialog("B")) | |
| dialog_set.telemetry_client = MyBotTelemetryClient() | |
| dialog_set.add(WaterfallDialog("C")) | |
| self.assertTrue(isinstance(dialog_set.find_dialog("C").telemetry_client, MyBotTelemetryClient)) | |
| """ | |