From fa241a960c01459a6649ceb96463733ef13ab6d9 Mon Sep 17 00:00:00 2001 From: Fei Chen Date: Fri, 11 Sep 2020 17:04:07 +0800 Subject: [PATCH 1/5] add OnInstallationUpdateActivity and related tests --- .../AdaptiveComponentRegistration.cs | 1 + .../OnInstallationUpdateActivity.cs | 25 ++ .../ConditionalsTests.cs | 7 + ...ditionalsTests_OnActivityTypes.test.dialog | 423 +++++++++--------- 4 files changed, 255 insertions(+), 201 deletions(-) create mode 100644 libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/TriggerConditions/Activities/OnInstallationUpdateActivity.cs diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/AdaptiveComponentRegistration.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/AdaptiveComponentRegistration.cs index 460faca91c..b5fc4fe2db 100644 --- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/AdaptiveComponentRegistration.cs +++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/AdaptiveComponentRegistration.cs @@ -58,6 +58,7 @@ public virtual IEnumerable GetDeclarativeTypes(ResourceExplorer yield return new DeclarativeType(OnConversationUpdateActivity.Kind); yield return new DeclarativeType(OnEndOfConversationActivity.Kind); yield return new DeclarativeType(OnTypingActivity.Kind); + yield return new DeclarativeType(OnInstallationUpdateActivity.Kind); yield return new DeclarativeType(OnHandoffActivity.Kind); yield return new DeclarativeType(OnChooseIntent.Kind); yield return new DeclarativeType(OnQnAMatch.Kind); diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/TriggerConditions/Activities/OnInstallationUpdateActivity.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/TriggerConditions/Activities/OnInstallationUpdateActivity.cs new file mode 100644 index 0000000000..862baadcf4 --- /dev/null +++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/TriggerConditions/Activities/OnInstallationUpdateActivity.cs @@ -0,0 +1,25 @@ +// Licensed under the MIT License. +// Copyright (c) Microsoft Corporation. All rights reserved. + +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using Microsoft.Bot.Schema; +using Newtonsoft.Json; + +namespace Microsoft.Bot.Builder.Dialogs.Adaptive.Conditions +{ + /// + /// Actions triggered when a TypingActivity is received. + /// + public class OnInstallationUpdateActivity : OnActivity + { + [JsonProperty("$kind")] + public new const string Kind = "Microsoft.OnInstallationUpdateActivity"; + + [JsonConstructor] + public OnInstallationUpdateActivity(List actions = null, string condition = null, [CallerFilePath] string callerPath = "", [CallerLineNumber] int callerLine = 0) + : base(type: ActivityTypes.InstallationUpdate, actions: actions, condition: condition, callerPath: callerPath, callerLine: callerLine) + { + } + } +} diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/ConditionalsTests.cs b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/ConditionalsTests.cs index bb25008cdd..761b4bc1ea 100644 --- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/ConditionalsTests.cs +++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/ConditionalsTests.cs @@ -88,6 +88,13 @@ public void OnConditionWithCondition() }, $"((turn.activity.type == '{ActivityTypes.Typing}') && ((turn.dialogEvent.name == '{AdaptiveEvents.ActivityReceived}') && (turn.test == 1)))"); + AssertExpression( + new OnInstallationUpdateActivity() + { + Condition = "turn.test == 1" + }, + $"((turn.activity.type == '{ActivityTypes.InstallationUpdate}') && ((turn.dialogEvent.name == '{AdaptiveEvents.ActivityReceived}') && (turn.test == 1)))"); + AssertExpression( new OnEndOfConversationActivity() { diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/ConditionalsTests/ConditionalsTests_OnActivityTypes.test.dialog b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/ConditionalsTests/ConditionalsTests_OnActivityTypes.test.dialog index e9c322a04f..1e011fbe1a 100644 --- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/ConditionalsTests/ConditionalsTests_OnActivityTypes.test.dialog +++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/ConditionalsTests/ConditionalsTests_OnActivityTypes.test.dialog @@ -1,203 +1,224 @@ { - "$schema": "../../../tests.schema", - "$kind": "Microsoft.Test.Script", - "dialog": { - "$kind": "Microsoft.AdaptiveDialog", - "id": "planningTest", - "triggers": [ - { - "$kind": "Microsoft.OnMessageActivity", - "condition": "turn.activity.text == 'OnMessageActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnMessageActivity" - } - ] - }, - { - "$kind": "Microsoft.OnEventActivity", - "condition": "turn.activity.text == 'OnEventActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnEventActivity" - } - ] - }, - { - "$kind": "Microsoft.OnConversationUpdateActivity", - "condition": "turn.activity.text == 'OnConversationUpdateActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnConversationUpdateActivity" - } - ] - }, - { - "$kind": "Microsoft.OnTypingActivity", - "condition": "turn.activity.text == 'OnTypingActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnTypingActivity" - } - ] - }, - { - "$kind": "Microsoft.OnEndOfConversationActivity", - "condition": "turn.activity.text == 'OnEndOfConversationActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnEndOfConversationActivity" - } - ] - }, - { - "$kind": "Microsoft.OnEventActivity", - "condition": "turn.activity.text == 'OnEventActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnEventActivity" - } - ] - }, - { - "$kind": "Microsoft.OnHandoffActivity", - "condition": "turn.activity.text == 'OnHandoffActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnHandoffActivity" - } - ] - }, - { - "$kind": "Microsoft.OnMessageReactionActivity", - "condition": "turn.activity.text == 'OnMessageReactionActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnMessageReactionActivity" - } - ] - }, - { - "$kind": "Microsoft.OnMessageUpdateActivity", - "condition": "turn.activity.text == 'OnMessageUpdateActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnMessageUpdateActivity" - } - ] - }, - { - "$kind": "Microsoft.OnMessageDeleteActivity", - "condition": "turn.activity.text == 'OnMessageDeleteActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnMessageDeleteActivity" - } - ] - } - ], - "autoEndDialog": false, - "defaultResultProperty": "dialog.result" - }, - "script": [ - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "message", - "text": "OnMessageActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnMessageActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "messageReaction", - "text": "OnMessageReactionActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnMessageReactionActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "messageDelete", - "text": "OnMessageDeleteActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnMessageDeleteActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "messageUpdate", - "text": "OnMessageUpdateActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnMessageUpdateActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "typing", - "text": "OnTypingActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnTypingActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "conversationUpdate", - "text": "OnConversationUpdateActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnConversationUpdateActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "endOfConversation", - "text": "OnEndOfConversationActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnEndOfConversationActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "event", - "text": "OnEventActivity", - "name": "OnEventActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnEventActivity" - } - ] + "$schema": "../../../tests.schema", + "$kind": "Microsoft.Test.Script", + "dialog": { + "$kind": "Microsoft.AdaptiveDialog", + "id": "planningTest", + "triggers": [ + { + "$kind": "Microsoft.OnMessageActivity", + "condition": "turn.activity.text == 'OnMessageActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnMessageActivity" + } + ] + }, + { + "$kind": "Microsoft.OnEventActivity", + "condition": "turn.activity.text == 'OnEventActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnEventActivity" + } + ] + }, + { + "$kind": "Microsoft.OnConversationUpdateActivity", + "condition": "turn.activity.text == 'OnConversationUpdateActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnConversationUpdateActivity" + } + ] + }, + { + "$kind": "Microsoft.OnTypingActivity", + "condition": "turn.activity.text == 'OnTypingActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnTypingActivity" + } + ] + }, + { + "$kind": "Microsoft.OnInstallationUpdateActivity", + "condition": "turn.activity.text == 'OnInstallationUpdateActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnInstallationUpdateActivity" + } + ] + }, + { + "$kind": "Microsoft.OnEndOfConversationActivity", + "condition": "turn.activity.text == 'OnEndOfConversationActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnEndOfConversationActivity" + } + ] + }, + { + "$kind": "Microsoft.OnEventActivity", + "condition": "turn.activity.text == 'OnEventActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnEventActivity" + } + ] + }, + { + "$kind": "Microsoft.OnHandoffActivity", + "condition": "turn.activity.text == 'OnHandoffActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnHandoffActivity" + } + ] + }, + { + "$kind": "Microsoft.OnMessageReactionActivity", + "condition": "turn.activity.text == 'OnMessageReactionActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnMessageReactionActivity" + } + ] + }, + { + "$kind": "Microsoft.OnMessageUpdateActivity", + "condition": "turn.activity.text == 'OnMessageUpdateActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnMessageUpdateActivity" + } + ] + }, + { + "$kind": "Microsoft.OnMessageDeleteActivity", + "condition": "turn.activity.text == 'OnMessageDeleteActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnMessageDeleteActivity" + } + ] + } + ], + "autoEndDialog": false, + "defaultResultProperty": "dialog.result" + }, + "script": [ + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "message", + "text": "OnMessageActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnMessageActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "messageReaction", + "text": "OnMessageReactionActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnMessageReactionActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "messageDelete", + "text": "OnMessageDeleteActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnMessageDeleteActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "messageUpdate", + "text": "OnMessageUpdateActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnMessageUpdateActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "typing", + "text": "OnTypingActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnTypingActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "installationUpdate", + "text": "OnInstallationUpdateActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnInstallationUpdateActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "conversationUpdate", + "text": "OnConversationUpdateActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnConversationUpdateActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "endOfConversation", + "text": "OnEndOfConversationActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnEndOfConversationActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "event", + "text": "OnEventActivity", + "name": "OnEventActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnEventActivity" + } + ] } \ No newline at end of file From e064942ec0d0696122a7a37912cf57c2a2b00b1a Mon Sep 17 00:00:00 2001 From: Fei Chen Date: Fri, 11 Sep 2020 17:30:04 +0800 Subject: [PATCH 2/5] adjust comments --- .../OnInstallationUpdateActivity.cs | 2 +- ...ditionalsTests_OnActivityTypes.test.dialog | 444 +++++++++--------- 2 files changed, 223 insertions(+), 223 deletions(-) diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/TriggerConditions/Activities/OnInstallationUpdateActivity.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/TriggerConditions/Activities/OnInstallationUpdateActivity.cs index 862baadcf4..3457953369 100644 --- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/TriggerConditions/Activities/OnInstallationUpdateActivity.cs +++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/TriggerConditions/Activities/OnInstallationUpdateActivity.cs @@ -9,7 +9,7 @@ namespace Microsoft.Bot.Builder.Dialogs.Adaptive.Conditions { /// - /// Actions triggered when a TypingActivity is received. + /// Actions triggered when a InstallationUpdateActivity is received. /// public class OnInstallationUpdateActivity : OnActivity { diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/ConditionalsTests/ConditionalsTests_OnActivityTypes.test.dialog b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/ConditionalsTests/ConditionalsTests_OnActivityTypes.test.dialog index 1e011fbe1a..402a287d90 100644 --- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/ConditionalsTests/ConditionalsTests_OnActivityTypes.test.dialog +++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/ConditionalsTests/ConditionalsTests_OnActivityTypes.test.dialog @@ -1,224 +1,224 @@ { - "$schema": "../../../tests.schema", - "$kind": "Microsoft.Test.Script", - "dialog": { - "$kind": "Microsoft.AdaptiveDialog", - "id": "planningTest", - "triggers": [ - { - "$kind": "Microsoft.OnMessageActivity", - "condition": "turn.activity.text == 'OnMessageActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnMessageActivity" - } - ] - }, - { - "$kind": "Microsoft.OnEventActivity", - "condition": "turn.activity.text == 'OnEventActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnEventActivity" - } - ] - }, - { - "$kind": "Microsoft.OnConversationUpdateActivity", - "condition": "turn.activity.text == 'OnConversationUpdateActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnConversationUpdateActivity" - } - ] - }, - { - "$kind": "Microsoft.OnTypingActivity", - "condition": "turn.activity.text == 'OnTypingActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnTypingActivity" - } - ] - }, - { - "$kind": "Microsoft.OnInstallationUpdateActivity", - "condition": "turn.activity.text == 'OnInstallationUpdateActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnInstallationUpdateActivity" - } - ] - }, - { - "$kind": "Microsoft.OnEndOfConversationActivity", - "condition": "turn.activity.text == 'OnEndOfConversationActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnEndOfConversationActivity" - } - ] - }, - { - "$kind": "Microsoft.OnEventActivity", - "condition": "turn.activity.text == 'OnEventActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnEventActivity" - } - ] - }, - { - "$kind": "Microsoft.OnHandoffActivity", - "condition": "turn.activity.text == 'OnHandoffActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnHandoffActivity" - } - ] - }, - { - "$kind": "Microsoft.OnMessageReactionActivity", - "condition": "turn.activity.text == 'OnMessageReactionActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnMessageReactionActivity" - } - ] - }, - { - "$kind": "Microsoft.OnMessageUpdateActivity", - "condition": "turn.activity.text == 'OnMessageUpdateActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnMessageUpdateActivity" - } - ] - }, - { - "$kind": "Microsoft.OnMessageDeleteActivity", - "condition": "turn.activity.text == 'OnMessageDeleteActivity'", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "activity": "OnMessageDeleteActivity" - } - ] - } - ], - "autoEndDialog": false, - "defaultResultProperty": "dialog.result" - }, - "script": [ - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "message", - "text": "OnMessageActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnMessageActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "messageReaction", - "text": "OnMessageReactionActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnMessageReactionActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "messageDelete", - "text": "OnMessageDeleteActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnMessageDeleteActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "messageUpdate", - "text": "OnMessageUpdateActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnMessageUpdateActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "typing", - "text": "OnTypingActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnTypingActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "installationUpdate", - "text": "OnInstallationUpdateActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnInstallationUpdateActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "conversationUpdate", - "text": "OnConversationUpdateActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnConversationUpdateActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "endOfConversation", - "text": "OnEndOfConversationActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnEndOfConversationActivity" - }, - { - "$kind": "Microsoft.Test.UserActivity", - "activity": { - "type": "event", - "text": "OnEventActivity", - "name": "OnEventActivity" - } - }, - { - "$kind": "Microsoft.Test.AssertReply", - "text": "OnEventActivity" - } - ] + "$schema": "../../../tests.schema", + "$kind": "Microsoft.Test.Script", + "dialog": { + "$kind": "Microsoft.AdaptiveDialog", + "id": "planningTest", + "triggers": [ + { + "$kind": "Microsoft.OnMessageActivity", + "condition": "turn.activity.text == 'OnMessageActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnMessageActivity" + } + ] + }, + { + "$kind": "Microsoft.OnEventActivity", + "condition": "turn.activity.text == 'OnEventActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnEventActivity" + } + ] + }, + { + "$kind": "Microsoft.OnConversationUpdateActivity", + "condition": "turn.activity.text == 'OnConversationUpdateActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnConversationUpdateActivity" + } + ] + }, + { + "$kind": "Microsoft.OnTypingActivity", + "condition": "turn.activity.text == 'OnTypingActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnTypingActivity" + } + ] + }, + { + "$kind": "Microsoft.OnInstallationUpdateActivity", + "condition": "turn.activity.text == 'OnInstallationUpdateActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnInstallationUpdateActivity" + } + ] + }, + { + "$kind": "Microsoft.OnEndOfConversationActivity", + "condition": "turn.activity.text == 'OnEndOfConversationActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnEndOfConversationActivity" + } + ] + }, + { + "$kind": "Microsoft.OnEventActivity", + "condition": "turn.activity.text == 'OnEventActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnEventActivity" + } + ] + }, + { + "$kind": "Microsoft.OnHandoffActivity", + "condition": "turn.activity.text == 'OnHandoffActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnHandoffActivity" + } + ] + }, + { + "$kind": "Microsoft.OnMessageReactionActivity", + "condition": "turn.activity.text == 'OnMessageReactionActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnMessageReactionActivity" + } + ] + }, + { + "$kind": "Microsoft.OnMessageUpdateActivity", + "condition": "turn.activity.text == 'OnMessageUpdateActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnMessageUpdateActivity" + } + ] + }, + { + "$kind": "Microsoft.OnMessageDeleteActivity", + "condition": "turn.activity.text == 'OnMessageDeleteActivity'", + "actions": [ + { + "$kind": "Microsoft.SendActivity", + "activity": "OnMessageDeleteActivity" + } + ] + } + ], + "autoEndDialog": false, + "defaultResultProperty": "dialog.result" + }, + "script": [ + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "message", + "text": "OnMessageActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnMessageActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "messageReaction", + "text": "OnMessageReactionActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnMessageReactionActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "messageDelete", + "text": "OnMessageDeleteActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnMessageDeleteActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "messageUpdate", + "text": "OnMessageUpdateActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnMessageUpdateActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "typing", + "text": "OnTypingActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnTypingActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "installationUpdate", + "text": "OnInstallationUpdateActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnInstallationUpdateActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "conversationUpdate", + "text": "OnConversationUpdateActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnConversationUpdateActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "endOfConversation", + "text": "OnEndOfConversationActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnEndOfConversationActivity" + }, + { + "$kind": "Microsoft.Test.UserActivity", + "activity": { + "type": "event", + "text": "OnEventActivity", + "name": "OnEventActivity" + } + }, + { + "$kind": "Microsoft.Test.AssertReply", + "text": "OnEventActivity" + } + ] } \ No newline at end of file From 9f6f1887c0f535b2208702c77c59fe7b1c5e5a46 Mon Sep 17 00:00:00 2001 From: Fei Chen Date: Mon, 14 Sep 2020 13:47:52 +0800 Subject: [PATCH 3/5] add schema for InstallationUpdate activity --- .../Microsoft.OnInstallationUpdateActivity.schema | 10 ++++++++++ ...Microsoft.OnInstallationUpdateActivity.uischema | 14 ++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Schemas/TriggerConditions/Microsoft.OnInstallationUpdateActivity.schema create mode 100644 libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Schemas/TriggerConditions/Microsoft.OnInstallationUpdateActivity.uischema diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Schemas/TriggerConditions/Microsoft.OnInstallationUpdateActivity.schema b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Schemas/TriggerConditions/Microsoft.OnInstallationUpdateActivity.schema new file mode 100644 index 0000000000..f9e0ad15ff --- /dev/null +++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Schemas/TriggerConditions/Microsoft.OnInstallationUpdateActivity.schema @@ -0,0 +1,10 @@ +{ + "$schema": "https://schemas.botframework.com/schemas/component/v1.0/component.schema", + "$role": [ "implements(Microsoft.ITrigger)", "extends(Microsoft.OnCondition)" ], + "title": "On InstallationUpdate activity", + "description": "Actions to perform on receipt of an activity with type 'InstallationUpdate'.", + "type": "object", + "required": [ + "actions" + ] +} diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Schemas/TriggerConditions/Microsoft.OnInstallationUpdateActivity.uischema b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Schemas/TriggerConditions/Microsoft.OnInstallationUpdateActivity.uischema new file mode 100644 index 0000000000..2014fd9340 --- /dev/null +++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Schemas/TriggerConditions/Microsoft.OnInstallationUpdateActivity.uischema @@ -0,0 +1,14 @@ +{ + "$schema": "https://schemas.botframework.com/schemas/ui/v1.0/ui.schema", + "form": { + "order": [ + "condition", + "*" + ], + "hidden": [ + "actions" + ], + "label": "Installation updated", + "subtitle": "Installation updated activity" + } +} From 4790ed9a2f6e1642cef474f6a19ec57dd656f2d0 Mon Sep 17 00:00:00 2001 From: Fei Chen Date: Wed, 16 Sep 2020 12:46:37 +0800 Subject: [PATCH 4/5] update test.schema --- tests/tests.schema | 130 ++++++++++++++++++++++++++++++++++++------- tests/tests.uischema | 13 +++++ 2 files changed, 123 insertions(+), 20 deletions(-) diff --git a/tests/tests.schema b/tests/tests.schema index fd2f40b450..e38c83ef83 100644 --- a/tests/tests.schema +++ b/tests/tests.schema @@ -211,6 +211,9 @@ { "$ref": "#/definitions/Microsoft.OnHandoffActivity" }, + { + "$ref": "#/definitions/Microsoft.OnInstallationUpdateActivity" + }, { "$ref": "#/definitions/Microsoft.OnIntent" }, @@ -3841,10 +3844,10 @@ "type": "string" }, { - "$ref": "#/definitions/Microsoft.OrchestratorRecognizer" + "$ref": "#/definitions/Microsoft.LuisRecognizer" }, { - "$ref": "#/definitions/Microsoft.LuisRecognizer" + "$ref": "#/definitions/Microsoft.OrchestratorRecognizer" }, { "$ref": "#/definitions/Microsoft.QnAMakerRecognizer" @@ -3934,6 +3937,9 @@ { "$ref": "#/definitions/Microsoft.OnHandoffActivity" }, + { + "$ref": "#/definitions/Microsoft.OnInstallationUpdateActivity" + }, { "$ref": "#/definitions/Microsoft.OnIntent" }, @@ -6123,6 +6129,71 @@ } } }, + "Microsoft.OnInstallationUpdateActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On InstallationUpdate activity", + "description": "Actions to perform on receipt of an activity with type 'InstallationUpdate'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnInstallationUpdateActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, "Microsoft.OnIntent": { "$role": [ "implements(Microsoft.ITrigger)", @@ -7086,24 +7157,24 @@ } ] }, - "strictFiltersCompoundOperationType": { - "$ref": "#/definitions/stringExpression", - "title": "StrictFiltersCompoundOperationType", - "description": "Join operator for Strict Filters.", - "oneOf": [ - { - "title": "StrictFilters CompoundOperation Type", - "description": "Value of Join Operator to be used as Conjunction with Strict Filter Value.", - "enum": [ - "AND", - "OR" - ], - "default": "AND" - }, - { - "$ref": "#/definitions/equalsExpression" - } - ] + "strictFiltersJoinOperator": { + "$ref": "#/definitions/stringExpression", + "title": "StrictFiltersJoinOperator", + "description": "Join operator for Strict Filters.", + "oneOf": [ + { + "title": "Join Operator", + "description": "Value of Join Operator to be used as conjunction with Strict Filter values.", + "enum": [ + "AND", + "OR" + ], + "default": "AND" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] }, "$kind": { "title": "Kind of dialog object", @@ -7229,6 +7300,25 @@ } ] }, + "strictFiltersJoinOperator": { + "$ref": "#/definitions/stringExpression", + "title": "StrictFiltersJoinOperator", + "description": "Join operator for Strict Filters.", + "oneOf": [ + { + "title": "Join Operator", + "description": "Value of Join Operator to be used as onjuction with Strict Filter values.", + "enum": [ + "AND", + "OR" + ], + "default": "AND" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, "includeDialogNameInMetadata": { "$ref": "#/definitions/booleanExpression", "title": "Include Dialog Name", diff --git a/tests/tests.uischema b/tests/tests.uischema index 142495f58f..d3c3d3929c 100644 --- a/tests/tests.uischema +++ b/tests/tests.uischema @@ -446,6 +446,19 @@ "subtitle": "Handoff activity" } }, + "Microsoft.OnInstallationUpdateActivity": { + "form": { + "hidden": [ + "actions" + ], + "label": "Installation updated", + "order": [ + "condition", + "*" + ], + "subtitle": "Installation updated activity" + } + }, "Microsoft.OnIntent": { "form": { "hidden": [ From 995c247a0b63b51e07810a79a4cd6d8b3b4c6a08 Mon Sep 17 00:00:00 2001 From: Fei Chen Date: Wed, 16 Sep 2020 13:12:18 +0800 Subject: [PATCH 5/5] update schema --- tests/tests.schema | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/tests/tests.schema b/tests/tests.schema index e38c83ef83..de7bda5a20 100644 --- a/tests/tests.schema +++ b/tests/tests.schema @@ -3844,10 +3844,10 @@ "type": "string" }, { - "$ref": "#/definitions/Microsoft.LuisRecognizer" + "$ref": "#/definitions/Microsoft.OrchestratorRecognizer" }, { - "$ref": "#/definitions/Microsoft.OrchestratorRecognizer" + "$ref": "#/definitions/Microsoft.LuisRecognizer" }, { "$ref": "#/definitions/Microsoft.QnAMakerRecognizer" @@ -7157,14 +7157,14 @@ } ] }, - "strictFiltersJoinOperator": { + "strictFiltersCompoundOperationType": { "$ref": "#/definitions/stringExpression", - "title": "StrictFiltersJoinOperator", + "title": "strictFiltersCompoundOperationType", "description": "Join operator for Strict Filters.", "oneOf": [ { - "title": "Join Operator", - "description": "Value of Join Operator to be used as conjunction with Strict Filter values.", + "title": "StrictFilters CompoundOperation Type", + "description": "Value of Join Operator to be used as Conjunction with Strict Filter Value.", "enum": [ "AND", "OR" @@ -7300,25 +7300,6 @@ } ] }, - "strictFiltersJoinOperator": { - "$ref": "#/definitions/stringExpression", - "title": "StrictFiltersJoinOperator", - "description": "Join operator for Strict Filters.", - "oneOf": [ - { - "title": "Join Operator", - "description": "Value of Join Operator to be used as onjuction with Strict Filter values.", - "enum": [ - "AND", - "OR" - ], - "default": "AND" - }, - { - "$ref": "#/definitions/equalsExpression" - } - ] - }, "includeDialogNameInMetadata": { "$ref": "#/definitions/booleanExpression", "title": "Include Dialog Name",