コード例 #1
0
        public static void ValidateTracking(ExpectedTrace expectedTrace, ActualTrace actualTrace, TrackingProfile profile, TestProfileType profileType, TrackingParticipantType participantType)
        {
            //1. Filter the expected trace against the workFlow profile
            ExpectedTrace filteredExpectedTrace = TrackingFilter.ApplyTrackingProfile(expectedTrace, profile);

            ////2. Delete not supported trace steps by testObjects.
            ActualTrace modifiedActualTrace = TrackingFilter.DeleteNotSupportedTraceSteps(actualTrace);

            TestTraceManager.OptionalLogTrace("[TestTrackingDataManager]*****ValidateTracking()");
            ////3. Validate the expected & the actual trace
            TestTraceManager.OptionalLogTrace("[TestTrackingDataManager]Profile = {0}", profile);
            TestTraceManager.OptionalLogTrace("[TestTrackingDataManager]Actual Trace = {0}", actualTrace);
            TestTraceManager.OptionalLogTrace("[TestTrackingDataManager]Expected Trace = {0}", expectedTrace);
            TestTraceManager.OptionalLogTrace("[TestTrackingDataManager]Filtered Expected Trace (after applying tracking profile) = {0}", filteredExpectedTrace);
            TestTraceManager.OptionalLogTrace("[TestTrackingDataManager]Modified ActualTrace Trace = {0}", modifiedActualTrace);
            TestTraceManager.OptionalLogTrace("[TestTrackingDataManager]Invoking internally the trace validation...");

            ////if (!(TestProfileProvider.IsAllOrNullProfile(profileType) &&
            if (((participantType != TrackingParticipantType.SqlTrackingParticipant) &&
                 (participantType != TrackingParticipantType.ETWTrackingParticipant)))
            {
                modifiedActualTrace.Validate(filteredExpectedTrace, TestTraceManager.IsDefaultTrackingConfiguration);
            }

            //Log.TraceInternal("[TestTrackingDataManager]*****Validate method Succeeded...");
        }
コード例 #2
0
ファイル: RuntimeHelper.cs プロジェクト: sunxiaotianmg/CoreWF
        public static void ValidateWorkflow(Guid workflowInstanceId, TestActivity testWorkflowDefinition)
        {
            ActualTrace   actualTrace   = TestTraceManager.Instance.GetInstanceActualTrace(workflowInstanceId);
            ExpectedTrace expectedTrace = testWorkflowDefinition.GetExpectedTrace();

            actualTrace.Validate(testWorkflowDefinition.GetExpectedTrace());
        }
コード例 #3
0
        internal void ValidateTraces(ExpectedTrace expectedTrace, ActualTrace actualTrace)
        {
            //If no tracking participant tracks all events tracign validation will fail since it doesn't accoutn for the tracking profiles.
            //This is true ONLY for some trakcing test cases & not for runtime test cases which run with all tracking turned Off.
            //Hence we will not to tracing validation in this case & only do the tracking validation.
            //if (!TestTrackingDataManager.DoesAnyProfileTrackAllEvents(TestConfiguration.Current.TrackingServiceConfigurations))
            //{
            //    Log.TraceInternal("[TestTracingWatcher]No tracking participant tracks all events. Hece skipp tracing verification");
            //    return;
            //}

            foreach (TraceFilter filter in expectedTrace.Filters)
            {
                expectedTrace = filter.FilterExpectedTrace(expectedTrace);
                actualTrace   = filter.FilterActualTrace(actualTrace);
            }

            actualTrace.Validate(expectedTrace);
        }