Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions CSharp/Library/Microsoft.Bot.Builder/Dialogs/LuisDialog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ private InvalidIntentHandlerException(SerializationInfo info, StreamingContext c
/// </summary>
public class LuisServiceResult
{
public LuisServiceResult(LuisResult result, IntentRecommendation intent, ILuisService service, ILuisOptions luisRequest)
public LuisServiceResult(LuisResult result, IntentRecommendation intent, ILuisService service, ILuisOptions luisRequest = null)
{
this.Result = result;
this.BestIntent = intent;
Expand All @@ -145,6 +145,7 @@ public class LuisDialog<TResult> : IDialog<TResult>
{
public const string LuisTraceType = "https://www.luis.ai/schemas/trace";
public const string LuisTraceLabel = "Luis Trace";
public const string LuisTraceName = "LuisDialog";
public const string Obfuscated = "****";

protected readonly IReadOnlyList<ILuisService> services;
Expand Down Expand Up @@ -327,12 +328,16 @@ private static async Task EmitTraceInfo(IBotContext context, LuisResult luisResu
LuisOptions = luisOptions,
LuisModel = RemoveSensitiveData(luisModel)
};
var activity = Activity.CreateTraceActivityReply(context.Activity as Activity, "LuisDialog", LuisTraceType, luisTraceInfo, LuisTraceLabel) as IMessageActivity;
var activity = Activity.CreateTraceActivityReply(context.Activity as Activity, LuisTraceName, LuisTraceType, luisTraceInfo, LuisTraceLabel) as IMessageActivity;
await context.PostAsync(activity).ConfigureAwait(false);
}

public static ILuisModel RemoveSensitiveData(ILuisModel luisModel)
{
if (luisModel == null)
{
return null;
}
return new LuisModelAttribute(luisModel.ModelID, Obfuscated,luisModel.ApiVersion, luisModel.UriBase.Host, luisModel.Threshold);
}

Expand Down
18 changes: 10 additions & 8 deletions CSharp/Tests/Microsoft.Bot.Builder.Tests/DialogTestBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -172,24 +172,26 @@ public static async Task AssertScriptAsync(ILifetimeScope container, params stri

while (queue.Count > 0)
{
++index;

var toUser = queue.Dequeue();
string actual;
switch (toUser.Type)
{
case ActivityTypes.Message:
actual = toUser.Text;
Assert.AreEqual(pairs[++index], toUser.Text);
break;
case ActivityTypes.EndOfConversation:
actual = toUser.AsEndOfConversationActivity().Code;
Assert.AreEqual(pairs[++index], toUser.AsEndOfConversationActivity().Code);
break;
case ActivityTypes.Trace:
var trace = toUser.AsTraceActivity();
Assert.IsNotNull(trace.Value);
Assert.AreEqual(LuisDialog<object>.LuisTraceLabel, trace.Label);
Assert.AreEqual(LuisDialog<object>.LuisTraceType, trace.ValueType);
Assert.AreEqual(LuisDialog<object>.LuisTraceName, trace.Name);
break;
default:
throw new NotImplementedException();
}
var expected = pairs[index];

Assert.AreEqual(expected, actual);

}
}
}
Expand Down
7 changes: 6 additions & 1 deletion CSharp/Tests/Microsoft.Bot.Builder.Tests/LuisTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -360,11 +360,16 @@ public async Task Service_With_LuisActionDialog()
var intent = "IntentOne";
var prompt = "ParamOne?";
var action = "IntentOneAction";
var model = new LuisModelAttribute("model", "subs", LuisApiVersion.V2);

service
.Setup(l => l.LuisModel)
.Returns(model);

service
.Setup(l => l.BuildUri(It.IsAny<LuisRequest>()))
.Returns<LuisRequest>(request =>
request.BuildUri(new LuisModelAttribute("model", "subs", LuisApiVersion.V2))
request.BuildUri(model)
);

service
Expand Down