private static IWorkItemBase CreateNewTestCaseData(ComparisionResult result) { var scenarioData = DbOperations.getEAscenario(result.Guid); var data = new[] { new WorkItemBaseDataTestCase { Op = "add", Path = "/fields/System.Title", Value = scenarioData.Name }, new WorkItemBaseDataTestCase() { Op = "add", Path = "/fields/Microsoft.VSTS.TCM.Steps", Value = GenerateNewTestCaseJson(result) } }; var creationData = new WorkItemCreationData { Guid = result.Guid, WorkItemType = WorkItemType.TestCase, Content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json-patch+json") }; return(creationData); }
public void ScenarioUpdate() { ComparisionEntity activeScenario = new ComparisionScenario() { Description = "aaa", Guid = null, Level = null, Name = "Scenariusz 1", Result = null }; ComparisionEntity previouScenario = new ComparisionScenario() { Description = "bbb", Guid = null, Level = null, Name = "Scenariusz 1", Result = null }; WorkItemComparer wic = new WorkItemComparer(activeScenario, previouScenario, WorkItemType.TestCase); ComparisionResult receivedResult = wic.GetComparisionResult(); ComparisionResult expectedResult = new ComparisionResult(); expectedResult.OperationType = OperationType.Update; expectedResult.Result = false; expectedResult.WorkItemType = WorkItemType.TestCase; Assert.Equal(expectedResult.Result, receivedResult.Result); Assert.Equal(expectedResult.OperationType == OperationType.Update, receivedResult.OperationType == OperationType.Update); }
private static ComparisionResult AnalizeComparision(ComparisionResult scenarioResult, List <ComparisionResult> stepsResult) { try { if (scenarioResult.Result && stepsResult.All(s => s.Result)) { return(scenarioResult); } if (scenarioResult.Result && stepsResult.Any(s => !s.Result)) { scenarioResult.Result = false; scenarioResult.OperationType = OperationType.Update; return(scenarioResult); } if (!scenarioResult.Result && stepsResult.Any(s => s.Result)) { scenarioResult.Result = false; scenarioResult.OperationType = OperationType.Update; return(scenarioResult); } return(scenarioResult); } catch (Exception e) { MessageBox.Show( "W aplikacji wystąpił błąd!\n" + e, "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); throw; } }
private ComparisionResult Compare(ComparisionDataSet data) { var comparisionResult = new ComparisionResult(data.WorkItemType, data.Guid); if (CheckForDelete(data)) { comparisionResult.OperationType = OperationType.Delete; comparisionResult.Result = false; return(comparisionResult); } if (CheckForCreate(data)) { comparisionResult.OperationType = OperationType.CreateNew; comparisionResult.Result = false; return(comparisionResult); } if (CompareData(data.ActiveEntity, data.PreviousEntity)) { comparisionResult.OperationType = OperationType.UseExisting; comparisionResult.Result = true; return(comparisionResult); } return(new ComparisionResult { WorkItemType = data.WorkItemType, OperationType = OperationType.Update, Result = false, Guid = data.Guid }); }
public DataTablesResult(ComparisionResult comparisionResult, DataTablesResultType resultType) { ComparisionResult = comparisionResult; ResultType = resultType; Table = comparisionResult.Source.Table.Clone().AllowDbNull(); CompareTable = comparisionResult.Source.CompareTable.Clone().AllowDbNull(); }
private static IWorkItemBase GetExistingTestCaseData(ComparisionResult result) { var existingData = GetExistingData(result); var creationData = new WorkItemCreationData { Guid = result.Guid, WorkItemId = existingData.WorkItemId, WorkItemBaseData = new WorkItemBaseDataTestCase { Value = existingData.Value } }; return(creationData); }
protected virtual IComparisionResult CompareWithColumns() { var result = new ComparisionResult(this); for (var i = 0; i < Table.Rows.Count && i < CompareTable.Rows.Count; i++) { var row = Table.Rows[i]; var crow = CompareTable.Rows[i]; result.Rows.Add(new DifferenceRow(row, crow, row.GetDiffrenceCells(crow))); } CollectNotFoundRows(result); return(result); }
private static IWorkItemBase BuildTestPlanMessage(ComparisionResult result) { switch (result.OperationType) { case OperationType.CreateNew: return(CreateNewTestPlanData(result)); case OperationType.UseExisting: case OperationType.Update: case OperationType.Delete: throw new InvalidOperationException(); default: return(null); } }
private void CreateTestPlanMessageDraft(ComparisionResult testPlan) { try { var message = MessageFactory.BuildMessage(testPlan); // message.ApiAddress = Project.Address + "_apis/test/plans?api-version=5.0"; message.Project = Project; WorkItemDataSet.TestPlan.Add(message); } catch (Exception e) { MessageBox.Show( "W aplikacji wystąpił błąd!\n" + e, "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); throw; } }
private static IWorkItemBase CreateNewTestPlanData(ComparisionResult result) { var data = new WorkItemBaseDataTestPlan() { Name = "Plan testów z aplikacji desktopowej", Description = "Opis planu testów z apki" }; return(new WorkItemCreationData { WorkItemType = WorkItemType.TestPlan, Content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json"), Guid = Guid.NewGuid(), ApiAddress = "https://dev.azure.com/crunchips/EA-TFS_Conversion/_apis/test/plans?api-version=5.0" }); }
public static IWorkItemBase BuildMessage(ComparisionResult result) { switch (result.WorkItemType) { case WorkItemType.TestPlan: return(BuildTestPlanMessage(result)); case WorkItemType.TestSuite: return(BuildTestSuiteMessage(result)); case WorkItemType.TestCase: return(BuildTestCaseMessage(result)); default: return(null); } }
protected virtual IComparisionResult CompareWithPrimaryKeys() { var result = new ComparisionResult(this); foreach (DataRow row in Table.Rows) { var compareRows = FindRowsByPrimaryKeys(row, CompareTable); var foundRow = row.FindMostEqualsRow(compareRows, CompareColumns); if (foundRow != null) { result.Rows.Add(foundRow); } } CollectNotFoundRows(result); return(result); }
private static IWorkItemBase BuildTestSuiteMessage(ComparisionResult result) { if (result == null) { throw new ArgumentNullException(nameof(result)); } switch (result.OperationType) { case OperationType.CreateNew: return(CreateNewTestSuiteData()); case OperationType.Update: case OperationType.UseExisting: case OperationType.Delete: throw new InvalidOperationException(); default: return(null); } }
private void CreateTestSuiteMessageDrafts() { try { var testSuite = new ComparisionResult(WorkItemType.TestSuite) { OperationType = OperationType.CreateNew }; var message = MessageFactory.BuildMessage(testSuite); message.ApiAddress = PrepareTestSuiteAddress(); message.Project = Project; WorkItemDataSet.TestSuite.Add(message); } catch (Exception e) { MessageBox.Show( "W aplikacji wystąpił błąd!\n" + e, "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); throw; } }
private void GenerateTestPlan() { var testPlan = new ComparisionResult(WorkItemType.TestPlan) { Result = DbOperations.CheckWorkItem(Project.Id, WorkItemType.TestPlan) }; try { if (!testPlan.Result) { testPlan.OperationType = OperationType.CreateNew; CreateTestPlanMessageDraft(testPlan); SendMessages(WorkItemDataSet.TestPlan); } } catch (Exception e) { MessageBox.Show( "W aplikacji wystąpił błąd!\n" + e, "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); throw; } }
private static string GenerateNewTestCaseJson(ComparisionResult result) { var steps = DbOperations.GetActive_Steps(result.Guid); return(GenerateStepsXml(steps)); }
private static WorkItem GetExistingData(ComparisionResult result) { return(DbOperations.GetWorkItem(result.Guid)); }
private static IWorkItemBase CreateUpdatedTestCaseData(ComparisionResult result) { return(CreateNewTestCaseData(result)); }
public WorkItemComparer(IComparable activeEntity, IComparable previousEntity, WorkItemType workItemType) { ActiveEntity = activeEntity; PreviousEntity = previousEntity; Result = new ComparisionResult(workItemType); }