private static void GetActivityWithActWebApiActions() { Activity activity = new Activity(); activity.Active = true; activity.SelectedForConversion = true; activity.TargetApplication = webService; ActWebAPIRest actRest = new ActWebAPIRest(); actRest.Active = true; actRest.Description = "WebAPI REST Action-XMLBody"; SetRestActionInputValues(actRest, nameof(ActWebAPIBase.Fields.RequestBody), GetXMLBody()); SetRestActionInputValues(actRest, nameof(ActWebAPIBase.Fields.EndPointURL), "https://jsonplaceholder.typicode.com/posts/1"); activity.Acts.Add(actRest); ActWebAPISoap actSoapJson = new ActWebAPISoap(); actSoapJson.Active = true; actSoapJson.Description = "WebAPI Soap Action-JsonBody"; SetRestActionInputValues(actSoapJson, nameof(ActWebAPIBase.Fields.RequestBody), GetJsonBody()); SetRestActionInputValues(actSoapJson, nameof(ActWebAPIBase.Fields.EndPointURL), "http://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx"); activity.Acts.Add(actSoapJson); mBF.AddActivity(activity); mListBF.Add(mBF); }
/// <summary> /// Adding Activities from Shared Repository to the Business Flow in Context /// </summary> /// <param name="sharedActivitiesToAdd">Shared Repository Activities to Add Instances from</param> /// <param name="businessFlow">Business Flow to add to</param> public static void AddActivitiesFromSRHandler(List <Activity> sharedActivitiesToAdd, BusinessFlow businessFlow, string ActivitiesGroupID = null) { ActivitiesGroup parentGroup = null; if (!string.IsNullOrWhiteSpace(ActivitiesGroupID)) { parentGroup = businessFlow.ActivitiesGroups.Where(g => g.Name == ActivitiesGroupID).FirstOrDefault(); } else { parentGroup = (new ActivitiesGroupSelectionPage(businessFlow)).ShowAsWindow(); } if (parentGroup != null) { foreach (Activity sharedActivity in sharedActivitiesToAdd) { Activity activityIns = (Activity)sharedActivity.CreateInstance(true); activityIns.Active = true; businessFlow.SetActivityTargetApplication(activityIns); businessFlow.AddActivity(activityIns, parentGroup); //mBusinessFlow.CurrentActivity = droppedActivityIns; } } }
/// <summary> /// Adding Activities from Shared Repository to the Business Flow in Context /// </summary> /// <param name="sharedActivitiesToAdd">Shared Repository Activities to Add Instances from</param> /// <param name="businessFlow">Business Flow to add to</param> public static void AddActivitiesFromSRHandler(List <Activity> sharedActivitiesToAdd, BusinessFlow businessFlow, string ActivitiesGroupID = null, int insertIndex = -1) { ActivitiesGroup parentGroup = null; if (!string.IsNullOrWhiteSpace(ActivitiesGroupID)) { parentGroup = businessFlow.ActivitiesGroups.Where(g => g.Name == ActivitiesGroupID).FirstOrDefault(); } else { parentGroup = (new ActivitiesGroupSelectionPage(businessFlow)).ShowAsWindow(); } if (parentGroup != null) { eUserMsgSelection userSelection = eUserMsgSelection.None; foreach (Activity sharedActivity in sharedActivitiesToAdd) { Activity activityIns = (Activity)sharedActivity.CreateInstance(true); activityIns.Active = true; //map activities target application to BF if missing in BF userSelection = businessFlow.MapTAToBF(userSelection, activityIns, WorkSpace.Instance.Solution.ApplicationPlatforms); businessFlow.SetActivityTargetApplication(activityIns); businessFlow.AddActivity(activityIns, parentGroup, insertIndex); } } }
public string RecoverFolderPath = null; //??? move to above ? !!!!!!!!!!! public BusinessFlow GetNewBusinessFlow(string Name, bool setTargetApp = false) { BusinessFlow newBF = new BusinessFlow(); newBF.Name = Name; Activity defActivity = new Activity() { Active = true }; defActivity.ActivityName = GingerDicser.GetTermResValue(eTermResKey.Activity) + " 1"; newBF.AddActivity(defActivity, newBF.AddActivitiesGroup()); newBF.Activities.CurrentItem = defActivity; newBF.CurrentActivity = defActivity; if (setTargetApp == true && WorkSpace.Instance.Solution.ApplicationPlatforms.Count > 0) { newBF.TargetApplications.Add(new TargetApplication() { AppName = WorkSpace.Instance.Solution.MainApplication }); newBF.CurrentActivity.TargetApplication = newBF.TargetApplications[0].Name; } return(newBF); }
public void AddDefualtGroupTest() { //Arrange BusinessFlow busFlow = new BusinessFlow(); Activity activity1 = new Activity() { ActivityName = "Activity1" }; busFlow.AddActivity(activity1); Activity activity2 = new Activity() { ActivityName = "Activity2" }; busFlow.AddActivity(activity2); Activity activity3 = new Activity() { ActivityName = "Activity3" }; busFlow.AddActivity(activity3); Activity activity4 = new Activity() { ActivityName = "Activity4" }; busFlow.AddActivity(activity4); Activity activity5 = new Activity() { ActivityName = "Activity5" }; busFlow.AddActivity(activity5); //Act busFlow.AttachActivitiesGroupsAndActivities(); //Assert Assert.IsTrue(busFlow.ActivitiesGroups.Count == 1, "Validate defualt Activities Group was added"); Assert.IsTrue(busFlow.ActivitiesGroups[0].ActivitiesIdentifiers.Count == 5, "Validate all Activities are attached to defualt Activities Group"); Assert.IsTrue(busFlow.ActivitiesGroups[0].ActivitiesIdentifiers[2].ActivityName == activity3.ActivityName, "Validate group has correct activities mapped to it"); Assert.IsTrue(activity1.ActivitiesGroupID == busFlow.ActivitiesGroups[0].Name, "Validate Activities mapped to defualt group"); Assert.IsTrue(activity5.ActivitiesGroupID == busFlow.ActivitiesGroups[0].Name, "Validate Activities mapped to defualt group"); }
public void ErrorHandlerActivityShouldExecuteWhenAnyActivitiesFail() { CreateActivityListForBusinessFlow(); Activity Activity5 = new Activity(); Activity5.ActivityName = "Activity5"; Activity5.Active = true; ActWebAPIRest restAct = new ActWebAPIRest(); restAct.AddOrUpdateInputParamValue(ActWebAPIBase.Fields.EndPointURL, "https://jsonplaceholder.typicode.com/posts/100"); restAct.AddOrUpdateInputParamValue(ActWebAPIBase.Fields.CertificateTypeRadioButton, ApplicationAPIUtils.eCretificateType.AllSSL.ToString()); restAct.AddOrUpdateInputParamValue(ActWebAPIRest.Fields.RequestType, ApplicationAPIUtils.eRequestType.POST.ToString()); restAct.AddOrUpdateInputParamValue(ActWebAPIRest.Fields.ContentType, ApplicationAPIUtils.eContentType.JSon.ToString()); restAct.AddOrUpdateInputParamValue(ActWebAPIRest.Fields.ResponseContentType, ApplicationAPIUtils.eContentType.JSon.ToString()); restAct.Active = true; restAct.EnableRetryMechanism = false; restAct.ItemName = "Web API REST"; Activity5.Acts.Add(restAct); Activity5.ErrorHandlerMappingType = eHandlerMappingType.AllAvailableHandlers; mBF.AddActivity(Activity5, null, 3); Context context1 = new Context(); context1.BusinessFlow = mBF; context1.Activity = mBF.Activities[0]; mGR.Executor.CurrentBusinessFlow = mBF; mGR.Executor.CurrentBusinessFlow.CurrentActivity = mBF.Activities[0]; mGR.Executor.Context = context1; //Act mGR.Executor.RunBusinessFlow(mBF); Assert.AreEqual(eRunStatus.Failed, mBF.RunStatus, "Business Flow Failed"); Assert.AreEqual(eRunStatus.Passed, mBF.Activities[0].Status, "Activity 1 Status"); Assert.AreEqual(eRunStatus.Passed, mBF.Activities[1].Status, "Activity 2 Status"); Assert.AreEqual(eRunStatus.Passed, mBF.Activities[2].Status, "Activity 3 Status"); Assert.AreEqual(eRunStatus.Failed, mBF.Activities[3].Status, "Activity5 Status"); Assert.AreEqual(eRunStatus.Passed, mBF.Activities[4].Status); }
private void grdActivities_ItemDropped(object sender, EventArgs e) { object droppedItem = ((DragInfo)sender).Data; if (droppedItem.GetType() == typeof(Activity)) { Activity instance = (Activity)((Activity)droppedItem).CreateInstance(true); instance.Active = true; mBusinessFlow.SetActivityTargetApplication(instance); mBusinessFlow.AddActivity(instance); //Placing the item after current item int selectedActIndex = -1; ObservableList <Activity> actsList = mBusinessFlow.Activities; if (actsList.CurrentItem != null) { selectedActIndex = actsList.IndexOf((Activity)actsList.CurrentItem); } if (selectedActIndex >= 0) { actsList.Move(actsList.Count - 1, selectedActIndex + 1); } } else if (droppedItem.GetType() == typeof(ActivitiesGroup)) { ActivitiesGroup droppedGroupIns = (ActivitiesGroup)((ActivitiesGroup)droppedItem).CreateInstance(true); mBusinessFlow.AddActivitiesGroup(droppedGroupIns); ObservableList <Activity> activities = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <Activity>(); mBusinessFlow.ImportActivitiesGroupActivitiesFromRepository(droppedGroupIns, activities, false); mBusinessFlow.AttachActivitiesGroupsAndActivities(); int selectedActIndex = -1; ObservableList <ActivitiesGroup> actsList = App.BusinessFlow.ActivitiesGroups; if (actsList.CurrentItem != null) { selectedActIndex = actsList.IndexOf((ActivitiesGroup)actsList.CurrentItem); } if (selectedActIndex >= 0) { actsList.Move(actsList.Count - 1, selectedActIndex + 1); } } }
public void BizFlowAddActivitiesFromSharedRepoSaveLoad() { //Arrange int ActivitiesToCreate = 5; string FileName = TestResources.GetTempFile("BFSaveLoad.xml"); BusinessFlow BF = new BusinessFlow() { Name = "Biz flow 1", Description = "Desc 1" }; BF.Activities = new ObservableList <Activity>(); for (int i = 1; i <= ActivitiesToCreate; i++) { Activity a = new Activity() { ActivityName = "Activity " + i, Description = "desc" + i, Status = eRunStatus.Passed }; BF.AddActivity(a); //for (int j = 1; j <= 2; j++) //{ // ActTextBox t = new ActTextBox(); // t.Description = "Set text box " + j; // t.LocateBy = Act.eLocatorType.ByID; // t.LocateValue = "ID" + j; // a.Acts.Add(t); // ActGotoURL g = new ActGotoURL(); // g.Description = "goto URL " + j; // g.LocateValue = "ID" + j; // a.Acts.Add(g); //} } VariableString v = new VariableString(); v.Name = "Var1"; v.Description = "VDesc 1"; BF.AddVariable(v); //ValidationDB vdb = new ValidationDB() { Description ="DBV1", Expected ="exp1" }; //BF.Activities[0].Asserts.Add(vdb); //Act BF.RepositorySerializer.SaveToFile(BF, FileName); // Assert NewRepositorySerializer newRepositorySerializer = new NewRepositorySerializer(); BusinessFlow BF2 = (BusinessFlow)newRepositorySerializer.DeserializeFromFile(typeof(BusinessFlow), FileName); Assert.AreEqual(BF2.Activities.Count(), ActivitiesToCreate); //Assert.AreEqual(BF2. Activities[0].Asserts.Count(), 1); //BF2.Description = "aaa"; }
public void PreviousActivityName() { //Arrange GingerCore.Activity activity = new GingerCore.Activity(); activity.ActivityName = "Activity2"; activity.Active = true; ActDummy dummy = new ActDummy(); dummy.Active = true; dummy.Value = "{FD Object=PreviousActivity Field=ActivityName}"; activity.Acts.Add(dummy); mBF.AddActivity(activity); //Act runner.RunRunner(); string v = dummy.ValueForDriver; //Assert Assert.AreEqual(v, "Activity1"); }
private BusinessFlow ConvertRunSetToBF(IReportInfo reportInfo) { RunsetExecutor runSetExec = WorkSpace.Instance.RunsetExecutor; try { if (reportInfo == null) { return(null); } //Create Business Flow BusinessFlow virtualBF = new BusinessFlow(); virtualBF.Name = runSetExec.RunSetConfig.Name; virtualBF.Description = runSetExec.RunSetConfig.Description; virtualBF.Status = BusinessFlow.eBusinessFlowStatus.Unknown; virtualBF.RunStatus = runSetExec.RunSetConfig.RunSetExecutionStatus; virtualBF.Activities = new ObservableList <Activity>(); foreach (GingerRunner runSetrunner in runSetExec.Runners) { // if executor is null when run if from file if (runSetrunner.Executor is null) { runSetrunner.Executor = new GingerExecutionEngine(runSetrunner); } foreach (BusinessFlow runSetBF in runSetrunner.Executor.BusinessFlows) { ActivitiesGroup virtualAG = new ActivitiesGroup(); virtualAG.Name = runSetBF.Name; virtualAG.Description = runSetBF.Description; if (Enum.IsDefined(typeof(eActivitiesGroupRunStatus), runSetBF.RunStatus.ToString())) { virtualAG.RunStatus = (eActivitiesGroupRunStatus)Enum.Parse(typeof(eActivitiesGroupRunStatus), runSetBF.RunStatus.ToString()); } else { virtualAG.RunStatus = eActivitiesGroupRunStatus.NA; } virtualBF.AddActivitiesGroup(virtualAG); foreach (Activity runSetAct in runSetBF.Activities) { virtualBF.AddActivity(runSetAct, virtualAG); } } } return(virtualBF); } catch (Exception ex) { Reporter.ToLog(eLogLevel.ERROR, $"Failed to convert Run Set to BF for ALM Export", ex); return(null); } }
private void grdActivities_ItemDropped(object sender, EventArgs e) { object droppedItem = ((DragInfo)sender).Data; if (droppedItem.GetType() == typeof(Activity)) { Activity instance = (Activity)((Activity)droppedItem).CreateInstance(true); instance.Active = true; mBusinessFlow.SetActivityTargetApplication(instance); mBusinessFlow.AddActivity(instance); } else if (droppedItem.GetType() == typeof(ActivitiesGroup)) { ActivitiesGroup droppedGroupIns = (ActivitiesGroup)((ActivitiesGroup)droppedItem).CreateInstance(true); mBusinessFlow.AddActivitiesGroup(droppedGroupIns); ObservableList <Activity> activities = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <Activity>(); mBusinessFlow.ImportActivitiesGroupActivitiesFromRepository(droppedGroupIns, activities, false); mBusinessFlow.AttachActivitiesGroupsAndActivities(); } }
public void AddActivityToExistingGroupTest() { //Arrange BusinessFlow busFlow = new BusinessFlow(); ActivitiesGroup group1 = new ActivitiesGroup() { Name = "Group1" }; busFlow.AddActivitiesGroup(group1); ActivitiesGroup group2 = new ActivitiesGroup() { Name = "Group2" }; busFlow.AddActivitiesGroup(group2); Activity activity1 = new Activity() { ActivityName = "Activity1" }; Activity activity2 = new Activity() { ActivityName = "Activity2" }; Activity activity3 = new Activity() { ActivityName = "Activity3" }; Activity activity4 = new Activity() { ActivityName = "Activity4" }; Activity activity5 = new Activity() { ActivityName = "Activity5" }; busFlow.AddActivity(activity1, group1); busFlow.AddActivity(activity2, group1); busFlow.AddActivity(activity3, group1); busFlow.AddActivity(activity4, group2); busFlow.AddActivity(activity5, group2); //Act busFlow.AttachActivitiesGroupsAndActivities(); Activity activity6 = new Activity() { ActivityName = "Activity6" }; busFlow.AddActivity(activity6, group1); //Assert Assert.IsTrue(busFlow.Activities[3] == activity6, "Validate new Activity added in last of existing group Activities"); Assert.IsTrue(activity6.ActivitiesGroupID == group1.Name, "Validate new Activity is mapped to existing group"); Assert.IsTrue(group1.ActivitiesIdentifiers[group1.ActivitiesIdentifiers.Count - 1].IdentifiedActivity == activity6, "Validate new Activity is mapped to existing group"); }
public void TestInitialize() { Context = new Context(); mDriver = new TestDriver(); PlatformInfo = new TestPlatform(); mBF = new BusinessFlow() { Name = "TestRecordingBF", Active = true }; Activity activity = new Activity(); mBF.AddActivity(activity); Context.BusinessFlow = mBF; }
public void TestInitialize() { Context = new Context(); mDriver = new TestDriver(); PlatformInfo = new TestPlatform(); mBF = new BusinessFlow() { Name = "TestRecordingBF", Active = true }; Activity activity = new Activity(); mBF.AddActivity(activity); Context.BusinessFlow = mBF; Context.Target = new Amdocs.Ginger.Common.Repository.TargetBase(); }
private static void GetActivityWithActGenElementActions() { mBF = new BusinessFlow() { Name = "TestBFConversion", Active = true }; Activity activity = new Activity(); activity.SelectedForConversion = true; ActGenElement gen1 = new ActGenElement(); gen1.Active = true; gen1.Description = "Set Value : first_name input"; gen1.LocateBy = Amdocs.Ginger.Common.UIElement.eLocateBy.ByRelXPath; gen1.LocateValue = "//input[@name='first_name']"; gen1.GenElementAction = ActGenElement.eGenElementAction.SendKeys; activity.Acts.Add(gen1); mBF.AddActivity(activity); }
private void Split(object sender, RoutedEventArgs e) { Act CurrentAction = (Act)grdActions.CurrentItem; Activity activity = new Activity() { Active = true }; activity.TargetApplication = mCurrentActivity.TargetApplication; activity.ActivityName = CurrentAction.Description; // Find the action index to split on int i = 0; for (i = 0; i < mCurrentActivity.Acts.Count; i++) { if (mCurrentActivity.Acts[i] == CurrentAction) { break; } } // Move the actions to the new activity for (int j = i; j < mCurrentActivity.Acts.Count; j++) { IAct a1 = mCurrentActivity.Acts[j]; activity.Acts.Add(a1); } // remove the actions to from current activity - need to happen in 2 steps so the array count will not change while looping backwards for (int j = mCurrentActivity.Acts.Count - 1; j >= i; j--) { IAct a1 = mCurrentActivity.Acts[j]; mCurrentActivity.Acts.Remove(a1); } mBusinessFlow.AddActivity(activity); mBusinessFlow.Activities.CurrentItem = activity; }
private void AddFromRepository(object sender, RoutedEventArgs e) { if (mInTreeModeView == false) { if (xActivitiesRepositoryGrid.Grid.SelectedItems != null && xActivitiesRepositoryGrid.Grid.SelectedItems.Count > 0) { foreach (Activity selectedItem in xActivitiesRepositoryGrid.Grid.SelectedItems) { if (mBusinessFlow != null) { Activity instance = (Activity)selectedItem.CreateInstance(true); instance.Active = true; mBusinessFlow.SetActivityTargetApplication(instance); mBusinessFlow.AddActivity(instance, true); } } } else { Reporter.ToUser(eUserMsgKeys.NoItemWasSelected); } } }
public static void ClassInit(TestContext context) { Solution = new Solution(); BF = new BusinessFlow(); VariableString VarString = new VariableString(); VarString.Name = "BF_VarString"; VarString.SetAsInputValue = true; VarString.MandatoryInput = true; BF.Variables.Add(VarString); VariableSelectionList VarList = new VariableSelectionList(); VarList.Name = "BF_VarList"; VarList.SetAsInputValue = true; VarList.MandatoryInput = true; VarList.OptionalValuesList.Add(new OptionalValue(value: " ")); VarList.OptionalValuesList.Add(new OptionalValue(value: "aa")); VarList.OptionalValuesList.Add(new OptionalValue(value: "bb")); VarList.Value = " "; BF.Variables.Add(VarList); Activity Acty = new Activity(); Acty.ActivityName = "Act1"; BF.AddActivity(Acty); VariableString VarString2 = new VariableString(); VarString2.Name = "NewVarString"; Acty.AddVariable(VarString2); VariableString VarString3 = new VariableString(); VarString3.Name = "NewVarString3"; VarString3.SetAsInputValue = true; VarString3.MandatoryInput = true; VarString3.Value = "test123"; Acty.AddVariable(VarString3); VariableString VarString4 = new VariableString(); VarString4.Name = "NewVarString"; Acty.AddVariable(VarString4); VariableString VarString5 = new VariableString(); VarString5.Name = "NewVarString"; Acty.AddVariable(VarString5); VariableString VarString6 = new VariableString(); VarString6.Name = "NewVarString6"; VarString6.SetAsInputValue = true; VarString6.MandatoryInput = true; Acty.AddVariable(VarString6); ActDummy DummyAction = new ActDummy(); Acty.Acts.Add(DummyAction); //ActReturnValue with static value ActReturnValue ARV1 = new ActReturnValue { Param = "Value1", Expected = "Test1" }; DummyAction.ReturnValues.Add(ARV1); //ActReturnValue with static value and variable ActReturnValue ARV2 = new ActReturnValue { Param = "Value2", Expected = "Test1{Var Name=NewVarString}" }; DummyAction.ReturnValues.Add(ARV2); //ActReturnValue with two variables ActReturnValue ARV3 = new ActReturnValue { Param = "Value3", Expected = "{Var Name=NewVarString3}{Var Name=NewVarString}" }; DummyAction.ReturnValues.Add(ARV3); //ActReturnValue with variables follwed by static value ActReturnValue ARV4 = new ActReturnValue { Param = "Value4", Expected = "{Var Name=NewVarString3}test" }; DummyAction.ReturnValues.Add(ARV4); ActReturnValue ARV5 = new ActReturnValue { Param = "Value5", Expected = "{Var Name=NewVarString3}" }; DummyAction.ReturnValues.Add(ARV5); ABF = (AnalyzeBusinessFlow)AnalyzeBusinessFlow.Analyze(Solution, BF).Where(x => x.Description.Equals(AnalyzeBusinessFlow.LegacyOutPutValidationDescription)).First(); }
public void BackUpRestore() { //Arrange int ActivitiesToCreate = 5; string BizFlowName = "Biz flow Back/Rest"; string BizFlowDescription = "Desc Back/Rest tester"; BusinessFlow BF = new BusinessFlow() { Name = BizFlowName }; BF.Status = BusinessFlow.eBusinessFlowStatus.Development; BF.Activities = new ObservableList <Activity>(); ObservableList <Activity> OriginalActivitiesObj = BF.Activities; for (int i = 1; i <= ActivitiesToCreate; i++) { Activity a = new Activity() { ActivityName = "Activity " + i, Description = "desc" + i, Status = eRunStatus.Passed }; BF.AddActivity(a); } // Create Activity to check ref Activity a6 = new Activity() { ActivityName = "a6" }; BF.Activities.Add(a6); // Add one action to make sure backup drill down, and restore the ref item not a copy ActGotoURL act1 = new ActGotoURL(); act1.Description = "Goto URL 1"; a6.Acts.Add(act1); //add action with input/output vals act1.InputValues = new ObservableList <ActInputValue>(); string firstInputValName = "Param1"; ActInputValue firstInputVal = new ActInputValue() { Param = firstInputValName }; act1.InputValues.Add(firstInputVal); act1.InputValues.Add(new ActInputValue() { Param = "Param2" }); //add flow control act1.FlowControls = new ObservableList <FlowControl>(); act1.FlowControls.Add(new GingerCore.FlowControlLib.FlowControl() { Condition = "A=B", FlowControlAction = eFlowControlAction.GoToActivity }); eFlowControlAction secondFlowControlAction = eFlowControlAction.RerunAction; GingerCore.FlowControlLib.FlowControl secondFlowControl = new GingerCore.FlowControlLib.FlowControl() { Condition = "C>123", FlowControlAction = secondFlowControlAction }; act1.FlowControls.Add(secondFlowControl); act1.FlowControls.Add(new GingerCore.FlowControlLib.FlowControl() { Condition = "D=111", FlowControlAction = eFlowControlAction.StopRun }); //BF Variables VariableString v = new VariableString(); v.Name = "Var1"; v.Description = "VDesc 1"; BF.AddVariable(v); VariableSelectionList sl = new VariableSelectionList(); sl.Name = "Var 2"; sl.OptionalValuesList = new ObservableList <OptionalValue>(); sl.OptionalValuesList.Add(new OptionalValue("11")); sl.OptionalValuesList.Add(new OptionalValue("22")); sl.OptionalValuesList.Add(new OptionalValue("33")); BF.AddVariable(sl); // BF.SaveBackup(); BF.SaveBackup(); //Erase/Modify some stuff BF.Name = "zzzz"; BF.Description = BizFlowDescription; BF.Status = BusinessFlow.eBusinessFlowStatus.Retired; BF.Activities[1].Description = "AAAA"; BF.Activities.Remove(BF.Activities[2]); BF.Activities.Remove(BF.Activities[3]); act1.Description = "ZZZZZ"; act1.InputValues[0].Param = "qqq"; act1.InputValues.Remove(act1.InputValues[1]); act1.FlowControls[1].FlowControlAction = eFlowControlAction.MessageBox; act1.FlowControls.Add(new GingerCore.FlowControlLib.FlowControl() { Condition = "Val=123" }); act1.FlowControls.Add(new GingerCore.FlowControlLib.FlowControl() { Condition = "Val=555" }); sl.OptionalValuesList[0].Value = "aaaa"; sl.OptionalValuesList.Add(new OptionalValue("44")); sl.OptionalValuesList.Add(new OptionalValue("55")); // BF.RestoreFromBackup(); BF.RestoreFromBackup(); // Assert Assert.AreEqual(BF.Name, BizFlowName, "BF.Name"); Assert.AreEqual(BF.Description, null, "BF.Description"); // check enum restore Assert.AreEqual(BF.Status, BusinessFlow.eBusinessFlowStatus.Development, "BF.Status"); Assert.AreEqual(BF.Activities.Count(), ActivitiesToCreate + 1, "BF.Activities.Count()"); //check original list ref obj Assert.AreEqual(BF.Activities, OriginalActivitiesObj, "BF.Activities REF"); Assert.AreEqual(BF.Activities[0].Description, "desc1", "BF.Activities[0].Description"); Assert.AreEqual(BF.Activities[5].ActivityName, "a6", "BF.Activities[5].ActivityName"); // Check original action ref is back Assert.AreEqual(BF.Activities[5], a6, "BF.Activities[5] REF"); Assert.AreEqual(act1.Description, "Goto URL 1", "act1.Description"); Assert.AreEqual(a6.Acts[0], act1, "a6.Acts[0]"); //check Action input values Assert.AreEqual(act1.InputValues.Count, 2, "act1.InputValues.Count"); Assert.AreEqual(act1.InputValues[0], firstInputVal, "act1.InputValues[0] REF"); Assert.AreEqual(act1.InputValues[0].Param, firstInputValName, "act1.InputValues[0].Param"); //check Action flow control Assert.AreEqual(act1.FlowControls.Count, 3, "act1.FlowControls.Count"); Assert.AreEqual(act1.FlowControls[1], secondFlowControl, "act1.FlowControls[1] REF"); Assert.AreEqual(act1.FlowControls[1].FlowControlAction, secondFlowControlAction, "act1.FlowControls[1].FlowControlAction"); //BF variables Assert.AreEqual(BF.Variables.Count, 2, "BF.Variables.Count"); Assert.AreEqual(BF.Variables[1], sl, "BF.Variables[0] REF"); Assert.AreEqual(((VariableSelectionList)BF.Variables[1]).OptionalValuesList[0].Value, "11", "BF.Variables[0].Value"); }
public void JavaActGenericSetValueToUIElementSetValue() { Activity activity = GetJavaActivityforConversionTest(); ActGenElement genAction = new ActGenElement(); genAction.Active = true; genAction.Description = "Set Value : txtEmployeeID"; genAction.LocateBy = Amdocs.Ginger.Common.UIElement.eLocateBy.ByName; genAction.LocateValue = "txtEmployeeID"; genAction.Value = "12321"; genAction.GenElementAction = ActGenElement.eGenElementAction.SetValue; activity.Acts.Add(genAction); mBF.AddActivity(activity); // Act & Assert JavaGenericToUIElementConversionActAndAssert(genAction); }
private static void GetMultipleBFActGenElementActions() { mListBF = new ObservableList <BusinessFlow>(); BusinessFlow webBF = new BusinessFlow() { Name = "TestBFWebConversion", Active = true }; BusinessFlow winBF = new BusinessFlow() { Name = "TestBFWinConversion", Active = true }; BusinessFlow pbBF = new BusinessFlow() { Name = "TestBFPBConversion", Active = true }; Activity webActivity = new Activity(); webActivity.Active = true; webActivity.SelectedForConversion = true; webActivity.TargetApplication = "Web-App"; ActGenElement gen1 = new ActGenElement(); gen1.Active = true; gen1.Description = "Set Value : first_name input"; gen1.LocateBy = Amdocs.Ginger.Common.UIElement.eLocateBy.ByRelXPath; gen1.LocateValue = "//input[@name='first_name']"; gen1.GenElementAction = ActGenElement.eGenElementAction.SendKeys; webActivity.Acts.Add(gen1); webBF.AddActivity(webActivity); mListBF.Add(webBF); Activity winActivity = new Activity(); winActivity.Active = true; winActivity.SelectedForConversion = true; winActivity.TargetApplication = "Web-App"; ActGenElement gen2 = new ActGenElement(); gen2.Active = true; gen2.Description = "Set Value : last_name input"; gen2.LocateBy = Amdocs.Ginger.Common.UIElement.eLocateBy.ByRelXPath; gen2.LocateValue = "//input[@name='last_name']"; gen2.GenElementAction = ActGenElement.eGenElementAction.SendKeys; winActivity.Acts.Add(gen2); winBF.AddActivity(winActivity); mListBF.Add(winBF); Activity pbActivity = new Activity(); pbActivity.Active = true; pbActivity.SelectedForConversion = true; pbActivity.TargetApplication = "Web-App"; ActGenElement gen3 = new ActGenElement(); gen3.Active = true; gen3.Description = "Set Value : email input"; gen3.LocateBy = Amdocs.Ginger.Common.UIElement.eLocateBy.ByRelXPath; gen3.LocateValue = "//input[@name='email']"; gen3.GenElementAction = ActGenElement.eGenElementAction.SendKeys; pbActivity.Acts.Add(gen3); pbBF.AddActivity(pbActivity); mListBF.Add(pbBF); }
public void MoveActivityInGroupsTest2() { //Arrange BusinessFlow busFlow = new BusinessFlow(); ActivitiesGroup group1 = new ActivitiesGroup() { Name = "Group1" }; busFlow.AddActivitiesGroup(group1); ActivitiesGroup group2 = new ActivitiesGroup() { Name = "Group2" }; busFlow.AddActivitiesGroup(group2); ActivitiesGroup group3 = new ActivitiesGroup() { Name = "Group3" }; busFlow.AddActivitiesGroup(group3); Activity activity1 = new Activity() { ActivityName = "Activity1" }; Activity activity2 = new Activity() { ActivityName = "Activity2" }; Activity activity3 = new Activity() { ActivityName = "Activity3" }; Activity activity4 = new Activity() { ActivityName = "Activity4" }; Activity activity5 = new Activity() { ActivityName = "Activity5" }; Activity activity6 = new Activity() { ActivityName = "Activity6" }; busFlow.AddActivity(activity1, group1); busFlow.AddActivity(activity2, group2); busFlow.AddActivity(activity3, group2); busFlow.AddActivity(activity4, group2); busFlow.AddActivity(activity5, group2); busFlow.AddActivity(activity6, group3); //Act busFlow.AttachActivitiesGroupsAndActivities(); busFlow.MoveActivityInGroup(activity5, 1); //Assert Assert.IsTrue(busFlow.Activities.IndexOf(activity5) == 1, "Validate Activity moved to correct index in Activities list"); Assert.IsTrue(group2.ActivitiesIdentifiers.IndexOf(group2.ActivitiesIdentifiers.Where(x => x.IdentifiedActivity == activity5).First()) == 0, "Validate Activity moved to correct indx in target group"); }
public void GroupUnGroupedActivitiesTest() { //Arrange BusinessFlow busFlow = new BusinessFlow(); Activity activity1 = new Activity() { ActivityName = "Activity1" }; busFlow.AddActivity(activity1); Activity activity2 = new Activity() { ActivityName = "Activity2" }; busFlow.AddActivity(activity2); Activity activity3 = new Activity() { ActivityName = "Activity3" }; busFlow.AddActivity(activity3); Activity activity4 = new Activity() { ActivityName = "Activity4" }; busFlow.AddActivity(activity4); Activity activity5 = new Activity() { ActivityName = "Activity5" }; busFlow.AddActivity(activity5); ActivitiesGroup group1 = new ActivitiesGroup() { Name = "Group1" }; busFlow.AddActivitiesGroup(group1); ActivitiesGroup group2 = new ActivitiesGroup() { Name = "Group2" }; busFlow.AddActivitiesGroup(group2); group1.AddActivityToGroup(activity1); group2.AddActivityToGroup(activity4); //Act busFlow.AttachActivitiesGroupsAndActivities(); //Assert Assert.IsTrue(busFlow.ActivitiesGroups.Count == 2, "Validate no extra groups were added"); Assert.IsTrue(group1.ActivitiesIdentifiers.Count == 3, "Validate first three Activities were attached to first group"); Assert.IsTrue(group2.ActivitiesIdentifiers.Count == 2, "Validate last two Activities were attached to second group"); Assert.IsTrue(group1.ActivitiesIdentifiers[2].ActivityName == activity3.ActivityName, "Validate group 1 has correct activities mapped to it"); Assert.IsTrue(group2.ActivitiesIdentifiers[1].ActivityName == activity5.ActivityName, "Validate group 2 has correct activities mapped to it"); Assert.IsTrue(activity2.ActivitiesGroupID == group1.Name, "Validate Activities mapped to group 1"); Assert.IsTrue(activity5.ActivitiesGroupID == group2.Name, "Validate Activities mapped to group 2"); }
public void MoveActivityBetweenGroupsTest3() { //Arrange BusinessFlow busFlow = new BusinessFlow(); ActivitiesGroup group1 = new ActivitiesGroup() { Name = "Group1" }; busFlow.AddActivitiesGroup(group1); ActivitiesGroup group2 = new ActivitiesGroup() { Name = "Group2" }; busFlow.AddActivitiesGroup(group2); ActivitiesGroup group3 = new ActivitiesGroup() { Name = "Group3" }; busFlow.AddActivitiesGroup(group3); Activity activity1 = new Activity() { ActivityName = "Activity1" }; Activity activity2 = new Activity() { ActivityName = "Activity2" }; Activity activity3 = new Activity() { ActivityName = "Activity3" }; Activity activity4 = new Activity() { ActivityName = "Activity4" }; Activity activity5 = new Activity() { ActivityName = "Activity5" }; Activity activity6 = new Activity() { ActivityName = "Activity6" }; busFlow.AddActivity(activity1, group1); busFlow.AddActivity(activity2, group1); busFlow.AddActivity(activity3, group2); busFlow.AddActivity(activity4, group2); busFlow.AddActivity(activity5, group3); busFlow.AddActivity(activity6, group3); //Act busFlow.AttachActivitiesGroupsAndActivities(); busFlow.MoveActivityBetweenGroups(activity6, group2, 2); //Assert Assert.IsTrue(group3.ActivitiesIdentifiers.Where(x => x.IdentifiedActivity == activity6).FirstOrDefault() == null, "Validate Activity removed from original group"); Assert.IsTrue(activity6.ActivitiesGroupID == group2.Name, "Validate Activity moved to target group"); Assert.IsTrue(busFlow.Activities.IndexOf(activity6) == 2, "Validate Activity moved to correct index in Activities list"); Assert.IsTrue(group2.ActivitiesIdentifiers.IndexOf(group2.ActivitiesIdentifiers.Where(x => x.IdentifiedActivity == activity6).First()) == 0, "Validate Activity moved to correct indx in target group"); }
public void AddActivityWithNewGroupTest() { //Arrange BusinessFlow busFlow = new BusinessFlow(); ActivitiesGroup group1 = new ActivitiesGroup() { Name = "Group1" }; busFlow.AddActivitiesGroup(group1); ActivitiesGroup group2 = new ActivitiesGroup() { Name = "Group2" }; busFlow.AddActivitiesGroup(group2); Activity activity1 = new Activity() { ActivityName = "Activity1" }; Activity activity2 = new Activity() { ActivityName = "Activity2" }; Activity activity3 = new Activity() { ActivityName = "Activity3" }; Activity activity4 = new Activity() { ActivityName = "Activity4" }; Activity activity5 = new Activity() { ActivityName = "Activity5" }; busFlow.AddActivity(activity1, group1); busFlow.AddActivity(activity2, group1); busFlow.AddActivity(activity3, group1); busFlow.AddActivity(activity4, group2); busFlow.AddActivity(activity5, group2); //Act busFlow.AttachActivitiesGroupsAndActivities(); ActivitiesGroup group3 = new ActivitiesGroup() { Name = "Group3" }; busFlow.AddActivitiesGroup(group3); Activity activity6 = new Activity() { ActivityName = "Activity6" }; busFlow.AddActivity(activity6, group3); //Assert Assert.IsTrue(busFlow.Activities[5] == activity6, "Validate new Activity added in last"); Assert.IsTrue(busFlow.ActivitiesGroups[2] == group3, "Validate new group was added to BF"); Assert.IsTrue(activity6.ActivitiesGroupID == group3.Name, "Validate new Activity is mapped to new group"); Assert.IsTrue(group3.ActivitiesIdentifiers[0].IdentifiedActivity == activity6, "Validate new Activity is mapped to new group"); }
public void CreateNewGroupToUnSyncedGroupedActivitiesTest() { //Arrange BusinessFlow busFlow = new BusinessFlow(); Activity activity1 = new Activity() { ActivityName = "Activity1" }; busFlow.AddActivity(activity1); Activity activity2 = new Activity() { ActivityName = "Activity2" }; busFlow.AddActivity(activity2); Activity activity3 = new Activity() { ActivityName = "Activity3" }; busFlow.AddActivity(activity3); Activity activity4 = new Activity() { ActivityName = "Activity4" }; busFlow.AddActivity(activity4); Activity activity5 = new Activity() { ActivityName = "Activity5" }; busFlow.AddActivity(activity5); ActivitiesGroup group1 = new ActivitiesGroup() { Name = "Group1" }; busFlow.AddActivitiesGroup(group1); ActivitiesGroup group2 = new ActivitiesGroup() { Name = "Group2" }; busFlow.AddActivitiesGroup(group2); group1.AddActivityToGroup(activity1); group1.AddActivityToGroup(activity2); group2.AddActivityToGroup(activity3); group1.AddActivityToGroup(activity4); group1.AddActivityToGroup(activity5); //Act busFlow.AttachActivitiesGroupsAndActivities(); //Assert Assert.IsTrue(busFlow.ActivitiesGroups.Count == 3, "Validate 1 extra groups were added"); Assert.IsTrue(group1.ActivitiesIdentifiers.Count == 2, "Validate only 2 Activities are attached to first group"); Assert.IsTrue(group2.ActivitiesIdentifiers.Count == 1, "Validate 1 Activities were attached to second group"); Assert.IsTrue(busFlow.ActivitiesGroups.Where(x => x.Name == group1.Name + "_2").FirstOrDefault() != null, "Validate new added group name"); Assert.IsTrue(activity4.ActivitiesGroupID == group1.Name + "_2", "Validate Activity was re-grouped to new added group"); Assert.IsTrue(activity5.ActivitiesGroupID == group1.Name + "_2", "Validate Activity was re-grouped to new added group"); }
public void GroupsActivitiesOrderTest() { //Arrange BusinessFlow busFlow = new BusinessFlow(); Activity activity1 = new Activity() { ActivityName = "Activity1" }; busFlow.AddActivity(activity1); Activity activity2 = new Activity() { ActivityName = "Activity2" }; busFlow.AddActivity(activity2); Activity activity3 = new Activity() { ActivityName = "Activity3" }; busFlow.AddActivity(activity3); Activity activity4 = new Activity() { ActivityName = "Activity4" }; busFlow.AddActivity(activity4); Activity activity5 = new Activity() { ActivityName = "Activity5" }; busFlow.AddActivity(activity5); ActivitiesGroup group1 = new ActivitiesGroup() { Name = "Group1" }; busFlow.AddActivitiesGroup(group1); ActivitiesGroup group2 = new ActivitiesGroup() { Name = "Group2" }; busFlow.AddActivitiesGroup(group2); group1.AddActivityToGroup(activity3); group1.AddActivityToGroup(activity2); group1.AddActivityToGroup(activity1); group2.AddActivityToGroup(activity4); group2.AddActivityToGroup(activity5); //Act busFlow.AttachActivitiesGroupsAndActivities(); //Assert Assert.IsTrue(group1.ActivitiesIdentifiers[0].IdentifiedActivity == activity1, "Validate group 1 Activity 1 order is same as in Activities flow"); Assert.IsTrue(group1.ActivitiesIdentifiers[1].IdentifiedActivity == activity2, "Validate group 1 Activity 2 order is same as in Activities flow"); Assert.IsTrue(group1.ActivitiesIdentifiers[2].IdentifiedActivity == activity3, "Validate group 1 Activity 3 order is same as in Activities flow"); Assert.IsTrue(group2.ActivitiesIdentifiers[0].IdentifiedActivity == activity4, "Validate group 2 Activity 4 order is same as in Activities flow"); Assert.IsTrue(group2.ActivitiesIdentifiers[1].IdentifiedActivity == activity5, "Validate group 2 Activity 5 order is same as in Activities flow"); }
public void GroupsOrderTest() { //Arrange BusinessFlow busFlow = new BusinessFlow(); Activity activity1 = new Activity() { ActivityName = "Activity1" }; busFlow.AddActivity(activity1); Activity activity2 = new Activity() { ActivityName = "Activity2" }; busFlow.AddActivity(activity2); Activity activity3 = new Activity() { ActivityName = "Activity3" }; busFlow.AddActivity(activity3); Activity activity4 = new Activity() { ActivityName = "Activity4" }; busFlow.AddActivity(activity4); Activity activity5 = new Activity() { ActivityName = "Activity5" }; busFlow.AddActivity(activity5); ActivitiesGroup group3 = new ActivitiesGroup() { Name = "Group3" }; busFlow.AddActivitiesGroup(group3); ActivitiesGroup group2 = new ActivitiesGroup() { Name = "Group2" }; busFlow.AddActivitiesGroup(group2); ActivitiesGroup group1 = new ActivitiesGroup() { Name = "Group1" }; busFlow.AddActivitiesGroup(group1); group1.AddActivityToGroup(activity1); group1.AddActivityToGroup(activity2); group2.AddActivityToGroup(activity3); group3.AddActivityToGroup(activity4); group3.AddActivityToGroup(activity5); //Act busFlow.AttachActivitiesGroupsAndActivities(); //Assert Assert.IsTrue(busFlow.ActivitiesGroups[0] == group1, "Validate first group is group 1 same as in Activities flow"); Assert.IsTrue(busFlow.ActivitiesGroups[1] == group2, "Validate first group is group 2 same as in Activities flow"); Assert.IsTrue(busFlow.ActivitiesGroups[2] == group3, "Validate first group is group 3 same as in Activities flow"); }
public void CreateActivities() { // We put all template optimized activity in Activities Group ActivitiesGroup AG = (ActivitiesGroup)(from x in mBizFlow.ActivitiesGroups where x.Name == "Optimized Activities" select x).FirstOrDefault(); if (AG == null) { AG = new ActivitiesGroup(); AG.Name = "Optimized Activities"; mBizFlow.ActivitiesGroups.Add(AG); } ActivitiesGroup AG1 = (ActivitiesGroup)(from x in mBizFlow.ActivitiesGroups where x.Name == "Optimized Activities - Not in Use" select x).FirstOrDefault(); if (AG1 == null) { AG1 = new ActivitiesGroup(); AG1.Name = "Optimized Activities - Not in Use"; mBizFlow.ActivitiesGroups.Add(AG1); } foreach (ActivityIdentifiers ia in AG.ActivitiesIdentifiers) { Activity a1 = (Activity)(from x in mBizFlow.Activities where x.Guid == ia.ActivityGuid select x).FirstOrDefault(); if (!AG1.CheckActivityInGroup(a1)) { AG1.AddActivityToGroup(a1); } } // Search each activity if not found create new foreach (GherkinStep GH in mOptimizedSteps) { Activity a1 = (Activity)(from x in mBizFlow.Activities where x.ActivityName == GH.Text select x).FirstOrDefault(); if (a1 == null) { if (GH.AutomationStatus == "Automated in Shared Repo - ") { ObservableList <Activity> activities = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <Activity>(); Activity a2 = (Activity) (from x in activities where x.ActivityName == GH.Text select x).FirstOrDefault(); //FIXME if (a2 != null) { mBizFlow.AddActivity(a2); a2.Active = false; AG.AddActivityToGroup(a2); } } else { Activity a = new Activity(); a.ActivityName = GH.Text; a.Active = false; a.TargetApplication = WorkSpace.UserProfile.Solution.MainApplication; a.ActionRunOption = eActionRunOption.ContinueActionsRunOnFailure; CreateActivityVariables(a); CreateActivitySelectionVariables(a); mBizFlow.AddActivity(a); AG.AddActivityToGroup(a); } } //TODO: handle if exist we need to update !? else { AG1.RemoveActivityFromGroup(a1); } } foreach (ActivityIdentifiers ia in AG1.ActivitiesIdentifiers) { Activity a1 = (Activity) (from x in mBizFlow.Activities where x.Guid == ia.ActivityGuid select x).FirstOrDefault(); if (AG.CheckActivityInGroup(a1)) { AG.RemoveActivityFromGroup(a1); } } WorkSpace.Instance.SolutionRepository.SaveRepositoryItem(mBizFlow); }
public void MoveActivitiesGroupDownTest() { //Arrange BusinessFlow busFlow = new BusinessFlow(); Activity activity1 = new Activity() { ActivityName = "Activity1" }; busFlow.AddActivity(activity1); Activity activity2 = new Activity() { ActivityName = "Activity2" }; busFlow.AddActivity(activity2); Activity activity3 = new Activity() { ActivityName = "Activity3" }; busFlow.AddActivity(activity3); Activity activity4 = new Activity() { ActivityName = "Activity4" }; busFlow.AddActivity(activity4); Activity activity5 = new Activity() { ActivityName = "Activity5" }; busFlow.AddActivity(activity5); Activity activity6 = new Activity() { ActivityName = "Activity6" }; busFlow.AddActivity(activity6); ActivitiesGroup group1 = new ActivitiesGroup() { Name = "Group1" }; busFlow.AddActivitiesGroup(group1); ActivitiesGroup group2 = new ActivitiesGroup() { Name = "Group2" }; busFlow.AddActivitiesGroup(group2); ActivitiesGroup group3 = new ActivitiesGroup() { Name = "Group3" }; busFlow.AddActivitiesGroup(group3); group1.AddActivityToGroup(activity1); group1.AddActivityToGroup(activity2); group2.AddActivityToGroup(activity3); group2.AddActivityToGroup(activity4); group2.AddActivityToGroup(activity5); group3.AddActivityToGroup(activity6); //Act busFlow.MoveActivitiesGroupDown(group1); //Assert Assert.IsTrue(busFlow.ActivitiesGroups[0] == group2, "Validate group 2 moved to place 1"); Assert.IsTrue(busFlow.ActivitiesGroups[1] == group1, "Validate group 1 moved to place 2"); Assert.IsTrue(busFlow.Activities[0] == activity3, "Validate group 2 Activities moved up"); Assert.IsTrue(busFlow.Activities[1] == activity4, "Validate group 2 Activities moved up"); Assert.IsTrue(busFlow.Activities[2] == activity5, "Validate group 2 Activities moved up"); Assert.IsTrue(busFlow.Activities[3] == activity1, "Validate group 1 Activities moved down"); Assert.IsTrue(busFlow.Activities[4] == activity2, "Validate group 1 Activities moved down"); }