Example #1
0
        /// <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);
        }
Example #2
0
        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);
        }