private void RunTestStep(IServiceTestModel selectedServiceTest, IServiceTestStep resTestStep) { var serviceTestSteps = selectedServiceTest.TestSteps.Where(testStep => testStep.UniqueId == resTestStep.UniqueId).ToList(); foreach (var serviceTestStep in serviceTestSteps) { var resServiceTestStep = serviceTestStep as ServiceTestStep; if (resServiceTestStep == null) { continue; } UpdateTestStepResult(resServiceTestStep, resTestStep); var serviceTestOutputs = resTestStep.StepOutputs; if (serviceTestOutputs.Count > 0) { resServiceTestStep.StepOutputs = CreateServiceTestOutputFromResult(resTestStep.StepOutputs, resServiceTestStep); } var children = resTestStep.Children; if (children.Count > 0) { SetChildrenTestResult(children, resServiceTestStep.Children); } } }
private void RunTestStepForeachTestStep(IServiceTestModel selectedServiceTest, IServiceTestModelTO res) { foreach (var resTestStep in res.TestSteps) { RunTestStep(selectedServiceTest, resTestStep); } }
public IServiceTestModel Clone() { var serializer = new Dev2JsonSerializer(); IServiceTestModel serviceTestModel = this; var ser = serializer.SerializeToBuilder(serviceTestModel); var clone = serializer.Deserialize <IServiceTestModel>(ser); return(clone); }
public void RunSelectedTest(IServiceTestModel selectedServiceTest, IContextualResourceModel resourceModel, IAsyncWorker asyncWorker) { selectedServiceTest = selectedServiceTest as ServiceTestModel; if (selectedServiceTest == null || resourceModel == null || asyncWorker == null || selectedServiceTest.IsNewTest) { return; } selectedServiceTest.IsTestLoading = true; selectedServiceTest.IsTestRunning = true; asyncWorker.Start(() => resourceModel.Environment.ResourceRepository.ExecuteTest(resourceModel, selectedServiceTest.TestName), res => { if (res?.Result != null) { if (res.Result.RunTestResult == RunResult.TestResourceDeleted) { selectedServiceTest.IsTestRunning = false; var popupController = CustomContainer.Get <IPopupController>(); popupController?.Show(Resources.Languages.Core.ServiceTestResourceDeletedMessage, Resources.Languages.Core.ServiceTestResourceDeletedHeader, MessageBoxButton.OK, MessageBoxImage.Error, null, false, true, false, false, false, false); var shellViewModel = CustomContainer.Get <IShellViewModel>(); shellViewModel.CloseResourceTestView(resourceModel.ID, resourceModel.ServerID, resourceModel.Environment.EnvironmentID); return; } UpdateTestStatus(selectedServiceTest, res); selectedServiceTest.Outputs = res.Outputs?.Select(output => { var serviceTestOutput = new ServiceTestOutput(output.Variable, output.Value, output.From, output.To) as IServiceTestOutput; serviceTestOutput.AssertOp = output.AssertOp; serviceTestOutput.Result = output.Result; return(serviceTestOutput); }).ToObservableCollection(); if (selectedServiceTest.TestSteps != null && res.TestSteps != null) { foreach (var resTestStep in res.TestSteps) { RunTestStep(selectedServiceTest, resTestStep); } } selectedServiceTest.DebugForTest = res.Result.DebugForTest; selectedServiceTest.LastRunDate = DateTime.Now; selectedServiceTest.LastRunDateVisibility = true; } else { selectedServiceTest.TestPassed = false; selectedServiceTest.TestFailing = false; selectedServiceTest.TestInvalid = true; } selectedServiceTest.IsTestRunning = false; selectedServiceTest.IsTestLoading = false; }); }
static void UpdateTestStatus(IServiceTestModel selectedServiceTest, IServiceTestModelTO res) { selectedServiceTest.TestFailing = res.Result.RunTestResult == RunResult.TestFailed; selectedServiceTest.TestPassed = res.Result.RunTestResult == RunResult.TestPassed; selectedServiceTest.TestInvalid = res.Result.RunTestResult == RunResult.TestInvalid || res.Result.RunTestResult == RunResult.TestResourceDeleted; selectedServiceTest.TestPending = res.Result.RunTestResult != RunResult.TestFailed && res.Result.RunTestResult != RunResult.TestPassed && res.Result.RunTestResult != RunResult.TestInvalid && res.Result.RunTestResult != RunResult.TestResourceDeleted && res.Result.RunTestResult != RunResult.TestResourcePathUpdated; }
public IServiceTestModel DuplicateTest(IServiceTestModel selectedTests, int testNumber) { var clone = selectedTests.Clone(); clone.TestName = selectedTests.TestName + " " + (testNumber == 0 ? 1 : testNumber); clone.OldTestName = clone.TestName; clone.Enabled = true; clone.IsTestSelected = true; clone.TestPending = true; clone.NewTest = true; return(clone); }
public void RunSelectedTest(IServiceTestModel selectedServiceTest, IContextualResourceModel resourceModel, IAsyncWorker asyncWorker) { var model = selectedServiceTest.As <ServiceTestModel>(); if (model == null || resourceModel == null || asyncWorker == null || model.IsNewTest) { return; } model.IsTestLoading = true; model.IsTestRunning = true; asyncWorker.Start(() => BackgroundAction(model, resourceModel), res => UiAction(model, resourceModel, res)); }
private void UiAction(IServiceTestModel selectedServiceTest, IContextualResourceModel resourceModel, IServiceTestModelTO res) { if (res == null) { ShowResourceDeleted(selectedServiceTest, resourceModel); return; } if (res.Result != null) { if (res.Result.RunTestResult == RunResult.TestResourceDeleted) { ShowResourceDeleted(selectedServiceTest, resourceModel); return; } UpdateTestStatus(selectedServiceTest, res); selectedServiceTest.Outputs = res.Outputs?.Select(output => { var serviceTestOutput = new ServiceTestOutput(output.Variable, output.Value, output.From, output.To) as IServiceTestOutput; serviceTestOutput.AssertOp = output.AssertOp; serviceTestOutput.Result = output.Result; return(serviceTestOutput); }).ToObservableCollection(); if (selectedServiceTest.TestSteps != null && res.TestSteps != null) { RunTestStepForeachTestStep(selectedServiceTest, res); } selectedServiceTest.DebugForTest = res.Result.DebugForTest; selectedServiceTest.LastRunDate = DateTime.Now; selectedServiceTest.LastRunDateVisibility = true; } else { selectedServiceTest.TestPassed = false; selectedServiceTest.TestFailing = false; selectedServiceTest.TestInvalid = true; } selectedServiceTest.IsTestRunning = false; selectedServiceTest.IsTestLoading = false; }
private void RunTestStep(IServiceTestModel selectedServiceTest, IServiceTestStep resTestStep) { var serviceTestSteps = selectedServiceTest .TestSteps .Select(o => o.As <ServiceTestStep>()) .Where(testStep => testStep != null && testStep.ActivityID == resTestStep.ActivityID) .ToList(); foreach (var resServiceTestStep in serviceTestSteps) { UpdateTestStepResult(resServiceTestStep, resTestStep); var serviceTestOutputs = resTestStep.StepOutputs; if (serviceTestOutputs.Count > 0) { resServiceTestStep.StepOutputs = CreateServiceTestOutputFromResult(resTestStep.StepOutputs, resServiceTestStep); } var children = resTestStep.Children; if (children.Count > 0) { SetChildrenTestResult(children, resServiceTestStep.Children); } } }
public void SetItem(IServiceTestModel model) { }
private static void ShowResourceDeleted(IServiceTestModel selectedServiceTest, IContextualResourceModel resourceModel) { selectedServiceTest.IsTestRunning = false; ShowPopupController(); CloseResourceTestView(resourceModel); }
private static IServiceTestModelTO BackgroundAction(IServiceTestModel selectedServiceTest, IContextualResourceModel resourceModel) { return(resourceModel.Environment.ResourceRepository.ExecuteTest(resourceModel, selectedServiceTest.TestName)); }
public void SetItem(IServiceTestModel model) { Item = model as ServiceTestModel; }