Example #1
0
        static IDev2Activity ReplaceActivityWithMock(IDev2Activity resource, IServiceTestStep foundTestStep)
        {
            IDev2Activity overriddenActivity = null;

            if (foundTestStep.ActivityType == typeof(DsfDecision).Name)
            {
                var serviceTestOutput = foundTestStep.StepOutputs.FirstOrDefault(output => output.Variable == GlobalConstants.ArmResultText);
                if (serviceTestOutput != null)
                {
                    overriddenActivity = new TestMockDecisionStep(resource.As <DsfDecision>())
                    {
                        NameOfArmToReturn = serviceTestOutput.Value
                    };
                }
            }
            else if (foundTestStep.ActivityType == typeof(DsfSwitch).Name)
            {
                var serviceTestOutput = foundTestStep.StepOutputs.FirstOrDefault(output => output.Variable == GlobalConstants.ArmResultText);
                if (serviceTestOutput != null)
                {
                    overriddenActivity = new TestMockSwitchStep(resource.As <DsfSwitch>())
                    {
                        ConditionToUse = serviceTestOutput.Value
                    };
                }
            }
            else
            {
                overriddenActivity = new TestMockStep(resource, foundTestStep.StepOutputs.ToList());
            }

            return(overriddenActivity);
        }
Example #2
0
        private static IDev2Activity NextActivity(IDev2Activity resource, List <IServiceTestStep> testSteps)
        {
            var foundTestStep = testSteps?.FirstOrDefault(step => resource != null && step.UniqueId.ToString() == resource.UniqueID);

            if (foundTestStep != null)
            {
                if (foundTestStep.ActivityType == typeof(DsfDecision).Name && foundTestStep.Type == StepType.Mock)
                {
                    var serviceTestOutput = foundTestStep.StepOutputs.FirstOrDefault(output => output.Variable == GlobalConstants.ArmResultText);
                    if (serviceTestOutput != null)
                    {
                        resource = new TestMockDecisionStep(resource as DsfDecision)
                        {
                            NameOfArmToReturn = serviceTestOutput.Value
                        };
                    }
                }
                else if (foundTestStep.ActivityType == typeof(DsfSwitch).Name && foundTestStep.Type == StepType.Mock)
                {
                    var serviceTestOutput = foundTestStep.StepOutputs.FirstOrDefault(output => output.Variable == GlobalConstants.ArmResultText);
                    if (serviceTestOutput != null)
                    {
                        resource = new TestMockSwitchStep(resource as DsfSwitch)
                        {
                            ConditionToUse = serviceTestOutput.Value
                        };
                    }
                }
                else if (foundTestStep.ActivityType == typeof(DsfSequenceActivity).Name)
                {
                    var sequenceActivity = resource as DsfSequenceActivity;
                    if (sequenceActivity != null)
                    {
                        var acts = sequenceActivity.Activities;
                        for (int index = 0; index < acts.Count; index++)
                        {
                            var activity = acts[index];
                            if (foundTestStep.Children != null)
                            {
                                var replacement = NextActivity(activity as IDev2Activity, foundTestStep.Children.ToList()) as Activity;
                                acts[index] = replacement;
                            }
                        }
                    }
                }
                else if (foundTestStep.ActivityType == typeof(DsfForEachActivity).Name)
                {
                    var forEach = resource as DsfForEachActivity;
                    if (forEach != null)
                    {
                        if (foundTestStep.Children != null)
                        {
                            var replacement = NextActivity(forEach.DataFunc.Handler as IDev2Activity, foundTestStep.Children.ToList()) as Activity;
                            forEach.DataFunc.Handler = replacement;
                        }
                    }
                }
                else if (foundTestStep.ActivityType == typeof(DsfSelectAndApplyActivity).Name)
                {
                    var forEach = resource as DsfSelectAndApplyActivity;
                    if (forEach != null)
                    {
                        if (foundTestStep.Children != null)
                        {
                            var replacement = NextActivity(forEach.ApplyActivityFunc.Handler as IDev2Activity, foundTestStep.Children.ToList()) as Activity;
                            forEach.ApplyActivityFunc.Handler = replacement;
                        }
                    }
                }
                else if (foundTestStep.Type == StepType.Mock)
                {
                    resource = new TestMockStep(resource, foundTestStep.StepOutputs.ToList());
                }
            }
            return(resource);
        }