Skip to content

Commit b47e714

Browse files
emadelwanyTom Laird-McConnell
authored and
Tom Laird-McConnell
committed
Fix breaking change in LUIS Apis and unit tests (#4563)
1 parent 85662fb commit b47e714

File tree

3 files changed

+23
-11
lines changed

3 files changed

+23
-11
lines changed

CSharp/Library/Microsoft.Bot.Builder/Dialogs/LuisDialog.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ private InvalidIntentHandlerException(SerializationInfo info, StreamingContext c
119119
/// </summary>
120120
public class LuisServiceResult
121121
{
122-
public LuisServiceResult(LuisResult result, IntentRecommendation intent, ILuisService service, ILuisOptions luisRequest)
122+
public LuisServiceResult(LuisResult result, IntentRecommendation intent, ILuisService service, ILuisOptions luisRequest = null)
123123
{
124124
this.Result = result;
125125
this.BestIntent = intent;
@@ -145,6 +145,7 @@ public class LuisDialog<TResult> : IDialog<TResult>
145145
{
146146
public const string LuisTraceType = "https://www.luis.ai/schemas/trace";
147147
public const string LuisTraceLabel = "Luis Trace";
148+
public const string LuisTraceName = "LuisDialog";
148149
public const string Obfuscated = "****";
149150

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

334335
public static ILuisModel RemoveSensitiveData(ILuisModel luisModel)
335336
{
337+
if (luisModel == null)
338+
{
339+
return null;
340+
}
336341
return new LuisModelAttribute(luisModel.ModelID, Obfuscated,luisModel.ApiVersion, luisModel.UriBase.Host, luisModel.Threshold);
337342
}
338343

CSharp/Tests/Microsoft.Bot.Builder.Tests/DialogTestBase.cs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,24 +172,26 @@ public static async Task AssertScriptAsync(ILifetimeScope container, params stri
172172

173173
while (queue.Count > 0)
174174
{
175-
++index;
176-
177175
var toUser = queue.Dequeue();
178-
string actual;
179176
switch (toUser.Type)
180177
{
181178
case ActivityTypes.Message:
182-
actual = toUser.Text;
179+
Assert.AreEqual(pairs[++index], toUser.Text);
183180
break;
184181
case ActivityTypes.EndOfConversation:
185-
actual = toUser.AsEndOfConversationActivity().Code;
182+
Assert.AreEqual(pairs[++index], toUser.AsEndOfConversationActivity().Code);
183+
break;
184+
case ActivityTypes.Trace:
185+
var trace = toUser.AsTraceActivity();
186+
Assert.IsNotNull(trace.Value);
187+
Assert.AreEqual(LuisDialog<object>.LuisTraceLabel, trace.Label);
188+
Assert.AreEqual(LuisDialog<object>.LuisTraceType, trace.ValueType);
189+
Assert.AreEqual(LuisDialog<object>.LuisTraceName, trace.Name);
186190
break;
187191
default:
188192
throw new NotImplementedException();
189193
}
190-
var expected = pairs[index];
191-
192-
Assert.AreEqual(expected, actual);
194+
193195
}
194196
}
195197
}

CSharp/Tests/Microsoft.Bot.Builder.Tests/LuisTests.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,11 +360,16 @@ public async Task Service_With_LuisActionDialog()
360360
var intent = "IntentOne";
361361
var prompt = "ParamOne?";
362362
var action = "IntentOneAction";
363+
var model = new LuisModelAttribute("model", "subs", LuisApiVersion.V2);
364+
365+
service
366+
.Setup(l => l.LuisModel)
367+
.Returns(model);
363368

364369
service
365370
.Setup(l => l.BuildUri(It.IsAny<LuisRequest>()))
366371
.Returns<LuisRequest>(request =>
367-
request.BuildUri(new LuisModelAttribute("model", "subs", LuisApiVersion.V2))
372+
request.BuildUri(model)
368373
);
369374

370375
service

0 commit comments

Comments
 (0)