/// <summary> /// Create an instance of the TraceActivity /// </summary> /// <param name="activity">Activity to reply to</param> /// <param name="name">Name of the operation</param> /// <param name="value">value of the operation</param> /// <param name="valueType">valueType if helpful to identify the value schema (default is value.GetType().Name)</param> /// <param name="label">descritive label of context. (Default is calling function name)</param> public static ITraceActivity CreateTraceActivityReply( Activity activity, string name, string valueType = null, object value = null, [CallerMemberName] string label = null) { ITraceActivity traceActivity = activity == null ? new Activity() : activity.CreateReply(); traceActivity.Name = name; traceActivity.Label = label; traceActivity.ValueType = valueType ?? value?.GetType().Name; traceActivity.Value = value; traceActivity.Type = "trace"; return(traceActivity); }
public async Task TraceActivitiesDoNoSetResponded() { SimpleAdapter a = new SimpleAdapter(); TurnContext c = new TurnContext(a, new Activity()); Assert.IsFalse(c.Responded); // Send a Trace Activity, and make sure responded is NOT set. ITraceActivity trace = Activity.CreateTraceActivity("trace"); await c.SendActivity(trace); Assert.IsFalse(c.Responded); // Just to sanity check everything, send a Message and verify the // responded flag IS set. IMessageActivity msg = TestMessage.Message().AsMessageActivity(); await c.SendActivity(msg); Assert.IsTrue(c.Responded); }