public void StartConsumeActivity_WhenActivitySourceListener_StartsActivityThroughSource()
        {
            using var listener = new TestActivityListener();

            var      envelope = CreateInboundEnvelope(new MessageHeaderCollection());
            Activity activity = ActivitySources.StartConsumeActivity(envelope);

            listener.Activites.Should().Contain(activity);
        }
        public async Task AbstractHealthCheck_MarksActivityWithHealthCheckFlag()
        {
            using TestActivityListener listener = new TestActivityListener();
            Activity?activity = null;

            HealthCheckResult actualResult = await new TestHealthCheck((c, t) =>
            {
                activity = Activity.Current;
                return(HealthCheckResult.Healthy());
            }).CheckHealthAsync(HealthCheckContextHelper.CreateCheckContext());

            Assert.AreEqual(actualResult.Status, HealthStatus.Healthy);
            NullableAssert.IsNotNull(activity);
            Assert.IsTrue(activity !.IsHealthCheck(), "Activity should be marked as HealthCheck activity");
            activity.AssertResult(ActivityResult.Success);
        }
        public async Task AbstractHealthCheck_WhenExceptionThrown_ReturnsUnhealtyState()
        {
            using TestActivityListener listener = new TestActivityListener();
            Activity? activity  = null;
            Exception exception = new ArrayTypeMismatchException();

            HealthCheckResult actualResult = await new TestHealthCheck((c, t) =>
            {
                activity = Activity.Current;
                throw exception;
            }
                                                                       ).CheckHealthAsync(HealthCheckContextHelper.CreateCheckContext());

            Assert.AreEqual(actualResult.Exception, exception);
            Assert.AreEqual(actualResult.Status, HealthStatus.Unhealthy);
            CollectionAssert.AreEquivalent(actualResult.Data.ToArray(), TestHealthCheck.TestParameters);
            NullableAssert.IsNotNull(activity);
            Assert.IsTrue(activity.IsHealthCheck(), "Activity should be marked as HealthCheck activity");
            activity.AssertResult(ActivityResult.SystemError);
        }
예제 #4
0
        private void TestExecution(
            string activityName,
            Action <Task <bool>, ActivitySource, string> createTask,
            Action <TaskCompletionSource <bool> > finishTask,
            ActivityResult expectedResult)
        {
            using TestActivityListener listener = new TestActivityListener(activityName);
            ActivitySource source = new ActivitySource(activityName);

            TaskCompletionSource <bool> taskCompletionSource = new TaskCompletionSource <bool>();

            createTask(taskCompletionSource.Task, source, activityName);

            Activity?activity = listener.Activities.Single();

            NullableAssert.IsNotNull(activity);

            activity.AssertResult(ActivityResult.SystemError);

            finishTask(taskCompletionSource);

            activity.AssertResult(expectedResult);
        }