Esempio n. 1
0
 private void CalculateARC(ActReturnValue ARC)
 {
     // We do only  simple calculation not including BF or proj env params so it will work
     ARC.ExpectedCalculated = ARC.Expected;
     GingerRunner.ReplaceActualPlaceHolder(ARC);
     GingerRunner.CalculateARCStatus(ARC);
 }
        public void CleanUpActivityShouldExecuteWhenNonMandatoryActivityFails()
        {
            BusinessFlow businessFlow = CreateBusinessFlow();

            ActReturnValue returnValue = new ActReturnValue();

            returnValue.Active    = true;
            returnValue.mExpected = "2";
            returnValue.Operator  = Amdocs.Ginger.Common.Expressions.eOperator.Equals;


            businessFlow.Activities[1].Acts[0].ActReturnValues.Add(returnValue);

            mGR.Executor.BusinessFlows.Add(businessFlow);

            Context context1 = new Context();

            context1.BusinessFlow = businessFlow;
            context1.Activity     = businessFlow.Activities[0];

            mGR.Executor.CurrentBusinessFlow = businessFlow;
            mGR.Executor.CurrentBusinessFlow.CurrentActivity = businessFlow.Activities[0];
            mGR.Executor.Context = context1;

            //Act
            mGR.Executor.RunBusinessFlow(businessFlow);

            Assert.AreEqual(eRunStatus.Failed, businessFlow.RunStatus, "Business Flow Status");
            Assert.AreEqual(eRunStatus.Passed, businessFlow.Activities[0].Status, "Activity 1 Status");
            Assert.AreEqual(eRunStatus.Failed, businessFlow.Activities[1].Status, "Not mandatory Activity 2 Status should be failed");
            Assert.AreEqual(eRunStatus.Passed, businessFlow.Activities[2].Status, "Activity 3 Status");
            Assert.AreEqual(eRunStatus.Passed, businessFlow.Activities[3].Status, "Clean Up Activity should execute");
        }
Esempio n. 3
0
        public void DifferenVarsUsedInSeveralPlaces()
        {
            //Arrange
            Activity a1 = new Activity()
            {
                ActivityName = "a1"
            };
            ActDummy act1 = new ActDummy();

            ActReturnValue actReturnValue = new ActReturnValue()
            {
                Param = "out1", StoreToValue = "v1"
            };

            act1.ReturnValues.Add(actReturnValue);
            FlowControl flowControl = new FlowControl()
            {
                Condition = "{Var Name=v2}=123"
            };

            act1.FlowControls.Add(flowControl);
            a1.Acts.Add(act1);

            //Act
            List <string> usedVars = new List <string>();

            VariableBase.GetListOfUsedVariables(a1, ref usedVars);

            //Assert
            Assert.AreEqual(2, usedVars.Count, "usedVars.Count");
            Assert.IsTrue(usedVars.Contains("v1"), "usedVars.Contains 'v1'");
            Assert.IsTrue(usedVars.Contains("v2"), "usedVars.Contains 'v2'");
        }
Esempio n. 4
0
 private void AddActReturnValue(ActReturnValue ARV)
 {
     WriteLine("if (!actual.Equels(" + VE(ARV.Expected) + "))");
     OpenBrackets();
     WriteLine(Missing + "  Mark step as failed - throw");
     CloseBrackets();
 }
Esempio n. 5
0
        public void UsedVarInActionOutoutStoreToVar()
        {
            //Arrange
            Activity a1 = new Activity()
            {
                ActivityName = "a1"
            };
            ActDummy       act1           = new ActDummy();
            ActReturnValue actReturnValue = new ActReturnValue()
            {
                Param = "out1", StoreToValue = "v1"
            };

            act1.ReturnValues.Add(actReturnValue);
            a1.Acts.Add(act1);

            //Act
            List <string> usedVars = new List <string>();

            VariableBase.GetListOfUsedVariables(a1, ref usedVars);

            //Assert
            Assert.AreEqual(1, usedVars.Count, "usedVars.Count");
            Assert.AreEqual("v1", usedVars[0], "usedVars[0]=v1");
        }
        public void TestActionLog_InputAndReturnValues()
        {
            //Arrange
            string fileName = TestResources.GetTempFile("ActionLog\\ActionLogTest_4.log");

            GingerRunnerLogger gingerRunnerLogger = new GingerRunnerLogger(fileName);
            ActDummy actDummy = new ActDummy();

            // set all the values in the action
            ActInputValue actInputValue = new ActInputValue();
            actInputValue.ItemName = "TestInput";
            actInputValue.Value = INP_VAL_EXPECTED;
            actDummy.InputValues.Add(actInputValue);

            ActReturnValue actReturnValue = new ActReturnValue();
            actReturnValue.ItemName = "TestReturn";
            actReturnValue.Expected = RET_VAL_EXPECTED;
            actReturnValue.Actual = RET_VAL_EXPECTED;
            actDummy.ReturnValues.Add(actReturnValue);

            actDummy.ActionLogConfig = new ActionLogConfig();
            actDummy.ActionLogConfig.LogInputVariables = true;
            actDummy.ActionLogConfig.LogOutputVariables = true;

            actDummy.EnableActionLogConfig = true;

            //Act
            gingerRunnerLogger.LogAction(actDummy);

            //Assert
            Assert.IsTrue(IsFileContains(fileName, INP_VAL_EXPECTED));
            Assert.IsTrue(IsFileContains(fileName, RET_VAL_EXPECTED));
        }
Esempio n. 7
0
        public void ValidateOutPutValidationPostFixeValues()
        {
            ABF.FixItHandler.Invoke(ABF, null);
            var ReturnValues = ABF.ReturnValues;

            ActReturnValue ARV1 = ReturnValues.Where(x => x.Param.Equals("Value1")).FirstOrDefault();

            Assert.AreEqual(Amdocs.Ginger.Common.Expressions.eOperator.Equals, ARV1.Operator);


            ActReturnValue ARV2 = ReturnValues.Where(x => x.Param.Equals("Value2")).FirstOrDefault();

            Assert.AreEqual(Amdocs.Ginger.Common.Expressions.eOperator.Legacy, ARV2.Operator);

            ActReturnValue ARV3 = ReturnValues.Where(x => x.Param.Equals("Value3")).FirstOrDefault();

            Assert.AreEqual(Amdocs.Ginger.Common.Expressions.eOperator.Legacy, ARV3.Operator);

            ActReturnValue ARV4 = ReturnValues.Where(x => x.Param.Equals("Value4")).FirstOrDefault();

            Assert.AreEqual(Amdocs.Ginger.Common.Expressions.eOperator.Legacy, ARV4.Operator);

            ActReturnValue ARV5 = ReturnValues.Where(x => x.Param.Equals("Value5")).FirstOrDefault();

            Assert.AreEqual(Amdocs.Ginger.Common.Expressions.eOperator.Equals, ARV5.Operator);
        }
        public void TestActionLog_ReturnValues()
        {
            //Arrange
            string fileName = TestResources.GetTempFile("ActionLog\\ActionLogTest_3.log");

            GingerRunnerLogger gingerRunnerLogger = new GingerRunnerLogger(fileName);
            ActDummy actDummy = new ActDummy();

            // set all the return values in the action
            ActReturnValue actReturnValue = new ActReturnValue();
            actReturnValue.ItemName = "TestReturn";
            actReturnValue.Expected = RET_VAL_EXPECTED;
            actReturnValue.Actual = RET_VAL_EXPECTED;
            actDummy.ReturnValues.Add(actReturnValue);

            actDummy.ActionLogConfig = new ActionLogConfig();
            actDummy.ActionLogConfig.LogOutputVariables = true;

            actDummy.EnableActionLogConfig = true;

            //Act
            gingerRunnerLogger.LogAction(actDummy);

            //Assert
            Assert.AreEqual(FindTextOccurrencesInFile(fileName, RET_VAL_EXPECTED), 2);
        }
Esempio n. 9
0
        public override void Execute()
        {
            mJavaApplicationProcessID = -1;

            //calculate the arguments
            if (!CalculateArguments())
            {
                return;
            }

            //validate the arguments
            if (!ValidateArguments())
            {
                return;
            }

            if (mLaunchJavaApplication)
            {
                if (!PerformLaunchJavaApplication())
                {
                    return;
                }
            }

            if (mLaunchWithAgent)
            {
                //For Parallel execution, we want attach to be synchronized.
                //So for windows with same title, correct process id will be calculated
                lock (syncLock)
                {
                    mProcessIDForAttach = -1;
                    if (!PerformAttachGingerAgent())
                    {
                        return;
                    }

                    if (mPort_Calc.Equals(Fields.DynamicPortPlaceHolder) &&
                        portValueAutoResetEvent != null)
                    {
                        portValueAutoResetEvent.WaitOne(TimeSpan.FromSeconds(10));
                    }
                    AddOrUpdateReturnParamActual("Port", mPort_Calc);
                }
            }


            //Changing the existing param namefrom "Actual" to "Process ID", it Param "Actual" exist, to support Return params configured on old version
            ActReturnValue ARC = (from arc in ReturnValues where arc.Param == "Actual" select arc).FirstOrDefault();

            if (ARC != null)
            {
                ARC.Param           = "Process ID";
                ARC.ParamCalculated = "Process ID";
            }

            AddOrUpdateReturnParamActual("Process ID", "" + mProcessIDForAttach);
        }
Esempio n. 10
0
        private void GenerateResponse(SwaggerOperation operation, ApplicationAPIModel basicModal)
        {
            if (operation.Responses.Count > 0 && operation.Responses.Keys.Where(x => x.StartsWith("2")).Count() > 0)
            {
                //handling only the first sucess response code need to be improved
                //as discussed, for now handling response for only success
                string          sucesskey = operation.Responses.Keys.Where(x => x.StartsWith("2")).ElementAt(0);
                SwaggerResponse response  = null;
                operation.Responses.TryGetValue(sucesskey, out response);

                if (response != null && response.Schema == null)
                {
                    if (response.Reference != null && response.Reference is SwaggerResponse)
                    {
                        response = response.Reference;
                    }
                }

                if (response.Schema != null)
                {
                    var schemaObj = response.Schema;
                    if (response.Schema.HasReference && response.Schema.Reference != null)
                    {
                        schemaObj = response.Schema.Reference;
                    }
                    if (basicModal.ContentType == ApplicationAPIUtils.eContentType.XML)
                    {
                        ApplicationAPIModel JsonResponseModel = new ApplicationAPIModel();
                        var i = GenerateXMLBody(JsonResponseModel, schemaObj);

                        foreach (AppModelParameter currModel in GenerateJsonBody(JsonResponseModel, schemaObj))
                        {
                            ActReturnValue arv = new ActReturnValue();
                            arv.ItemName            = currModel.ItemName;
                            arv.Path                = currModel.XPath;
                            arv.DoNotConsiderAsTemp = true;
                            basicModal.ReturnValues.Add(arv);
                        }
                    }
                    else if (basicModal.ContentType == ApplicationAPIUtils.eContentType.JSon)
                    {
                        ApplicationAPIModel JsonResponseModel = new ApplicationAPIModel();
                        var i = GenerateJsonBody(JsonResponseModel, schemaObj);

                        foreach (AppModelParameter currModel in GenerateJsonBody(JsonResponseModel, schemaObj))
                        {
                            ActReturnValue arv = new ActReturnValue();
                            arv.ItemName            = currModel.ItemName;
                            arv.Path                = currModel.XPath;
                            arv.DoNotConsiderAsTemp = true;
                            basicModal.ReturnValues.Add(arv);
                        }
                    }
                }
            }
        }
Esempio n. 11
0
        public void SimulatedOutputWithVETest()
        {
            Activity Activity2 = new Activity();

            Activity2.Active       = true;
            Activity2.ActivityName = "Web API REST with VE";
            Activity2.CurrentAgent = wsAgent;
            mBF.Activities.Add(Activity2);

            ActWebAPIRest restAct = new ActWebAPIRest();

            restAct.AddOrUpdateInputParamValue(ActWebAPIBase.Fields.EndPointURL, "https://jsonplaceholder.typicode.com/posts/1");
            restAct.AddOrUpdateInputParamValue(ActWebAPIBase.Fields.CertificateTypeRadioButton, ApplicationAPIUtils.eCretificateType.AllSSL.ToString());
            restAct.AddOrUpdateInputParamValue(ActWebAPIRest.Fields.RequestType, ApplicationAPIUtils.eRequestType.GET.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 Simulated Output VE";
            restAct.SupportSimulation    = true;

            ActReturnValue simulateOutput = new ActReturnValue();

            simulateOutput.Active = true;
            simulateOutput.Param  = "TestSimulation";
            ValueExpression testVE = new ValueExpression(null, mBF);

            testVE.Value = "simulated VE";
            simulateOutput.SimulatedActual = testVE.Value;

            mBF.Activities[0].Acts.Add(restAct);


            mDriver.StartDriver();
            mGR.RunRunner();


            if (restAct.ReturnValues.Count > 0)
            {
                foreach (ActReturnValue val in restAct.ReturnValues)
                {
                    if ((val.SimulatedActual != null) && (val.Actual != val.SimulatedActual))
                    {
                        if (val.Actual.ToString() == "simulated VE")
                        {
                            Assert.AreEqual(val.Actual, "simulated VE");
                        }
                    }
                    if ((val.SimulatedActual != null) && (val.Actual == val.SimulatedActual))
                    {
                        Assert.Fail();
                    }
                }
            }
        }
Esempio n. 12
0
 public override void CalculateModelParameterExpectedValue(ActReturnValue actReturnValue)
 {
     if (actReturnValue.ExpectedCalculated.Contains("AppModelParam"))
     {
         List <AppModelParameter> usedParams = ActAppModelParameters.Where(x => actReturnValue.ExpectedCalculated.Contains(x.PlaceHolder)).ToList();
         foreach (AppModelParameter param in usedParams)
         {
             actReturnValue.ExpectedCalculated = actReturnValue.ExpectedCalculated.Replace(("{AppModelParam Name = " + param.PlaceHolder + "}"), param.ExecutionValue);
         }
     }
 }
        public UCStoreTo()
        {
            ActReturnValue actR = new ActReturnValue();

            InitializeComponent();
            mLabel = ActReturnValue.eStoreTo.Variable.ToString();
            GingerCore.General.FillComboItemsFromEnumType(cmbStoreTo, actR.StoreTo.GetType());
            if (WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <DataSourceBase>().Count == 0)
            {
                GingerCore.General.DisableComboItem(cmbStoreTo, ActReturnValue.eStoreTo.DataSource);
                DSConfig.IsEnabled = false;
            }
        }
Esempio n. 14
0
        Act IObsoleteAction.GetNewAction()
        {
            AutoMapper.MapperConfiguration mapConfigUIElement = new AutoMapper.MapperConfiguration(cfg => { cfg.CreateMap <Act, ActWebAPIRest>(); });
            ActWebAPIRest convertedActWebAPIRest = mapConfigUIElement.CreateMapper().Map <Act, ActWebAPIRest>(this);

            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.DoNotFailActionOnBadRespose, Convert.ToString(this.DoNotFailActionOnBadRespose));
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.UseLegacyJSONParsing, Convert.ToString(this.UseLegacyJSONParsing));
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.URLDomain, this.URLDomain.Value);
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.URLUser, this.URLUser.Value);
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.URLPass, this.URLPass.Value);
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.SecurityType, Convert.ToString(this.SecurityType));

            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIRest.Fields.RequestType, Convert.ToString(this.RequestType));
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIRest.Fields.ResponseContentType, Convert.ToString(this.ResponseContentType));
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIRest.Fields.CookieMode, Convert.ToString(this.CookieMode));
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIRest.Fields.ContentType, Convert.ToString(this.ContentType));
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIRest.Fields.ReqHttpVersion, Convert.ToString(this.ReqHttpVersion));

            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.AuthorizationType, ApplicationAPIUtils.eAuthType.NoAuthentication.ToString());

            if (this.UseTemplateFile)
            {
                //Note:Don't confuse with field names. Use Template file is binded to Free text radio button in old Rest Action.
                convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.RequestBodyTypeRadioButton, ApplicationAPIUtils.eRequestBodyType.FreeText.ToString());
                convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.RequestBody, this.RequestBody.Value);
            }
            else if (this.UseRequestBody)
            {
                convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.RequestBodyTypeRadioButton, ApplicationAPIUtils.eRequestBodyType.TemplateFile.ToString());
                convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.TemplateFileNameFileBrowser, this.TemplateFile.Value);
            }
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.CertificateTypeRadioButton, ApplicationAPIUtils.eCretificateType.AllSSL.ToString());
            convertedActWebAPIRest.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.NetworkCredentialsRadioButton, ApplicationAPIUtils.eNetworkCredentials.Default.ToString());

            convertedActWebAPIRest.DynamicElements = this.DynamicElements;
            convertedActWebAPIRest.HttpHeaders     = this.HttpHeaders;

            if (convertedActWebAPIRest.ReturnValues != null && convertedActWebAPIRest.ReturnValues.Count != 0)
            {
                //Old rest action add response as --> Respose
                //And new adds it as Response:
                // so we update it when converting from old action to new
                ActReturnValue ARC = convertedActWebAPIRest.ReturnValues.Where(x => x.Param == "Respose").FirstOrDefault();
                if (ARC != null)
                {
                    ARC.Param = "Response:";
                }
            }
            return(convertedActWebAPIRest);
        }
Esempio n. 15
0
        Act IObsoleteAction.GetNewAction()
        {
            AutoMapper.MapperConfiguration mapperConfiguration = new AutoMapper.MapperConfiguration(cfg => { cfg.CreateMap <Act, ActWebAPISoap>(); });
            ActWebAPISoap convertedActWebAPISoap = mapperConfiguration.CreateMapper().Map <Act, ActWebAPISoap>(this);

            convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.EndPointURL, this.URL.Value);

            convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.AuthorizationType, ApplicationAPIUtils.eAuthType.NoAuthentication.ToString());
            convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.SecurityType, ApplicationAPIUtils.eSercurityType.None.ToString());
            convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.CertificateTypeRadioButton, ApplicationAPIUtils.eCretificateType.AllSSL.ToString());

            if (!string.IsNullOrEmpty(this.URLDomain.Value) || (!string.IsNullOrEmpty(this.URLUser.Value) && !string.IsNullOrEmpty(this.URLPass.Value)))
            {
                convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.NetworkCredentialsRadioButton, ApplicationAPIUtils.eNetworkCredentials.Custom.ToString());
                convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.URLDomain, this.URLDomain.Value);
                convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.URLUser, this.URLUser.Value);
                convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.URLPass, this.URLPass.Value);
            }
            else
            {
                convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.NetworkCredentialsRadioButton, ApplicationAPIUtils.eNetworkCredentials.Default.ToString());
            }


            if (!string.IsNullOrEmpty(this.XMLfileName.ToString()))
            {
                convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.RequestBodyTypeRadioButton, ApplicationAPIUtils.eRequestBodyType.TemplateFile.ToString());
                convertedActWebAPISoap.AddOrUpdateInputParamValueAndCalculatedValue(ActWebAPIBase.Fields.TemplateFileNameFileBrowser, this.XMLfileName.Value);
            }

            if (convertedActWebAPISoap.ReturnValues != null && convertedActWebAPISoap.ReturnValues.Count != 0)
            {
                //Old web service action add response as --> FullReponseXML
                //And new adds it as Response:
                // so we update it when converting from old action to new
                ActReturnValue ARC = convertedActWebAPISoap.ReturnValues.Where(x => x.Param == "FullReponseXML").FirstOrDefault();
                if (ARC != null)
                {
                    ARC.Param = "Response:";
                    if (!string.IsNullOrEmpty(ARC.Expected))
                    {
                        ARC.Expected = XMLDocExtended.PrettyXml(ARC.Expected);
                    }
                }
            }
            convertedActWebAPISoap.DynamicElements = this.DynamicXMLElements;

            return(convertedActWebAPISoap);
        }
Esempio n. 16
0
        public void ExpectedActulWithOrNumbers()
        {
            //Arrange
            ActReturnValue ARC = new ActReturnValue();

            ARC.Actual   = "7";
            ARC.Expected = "{Actual}=3 or {Actual}=7";

            //Act
            CalculateARC(ARC);

            //Assert
            Assert.AreEqual(ARC.ExpectedCalculated, "'7=3 or 7=7' is True");
            Assert.AreEqual(ARC.Status, ActReturnValue.eStatus.Passed);
        }
 private static void DeleteOldReturnValuesInAction(Act act, ApplicationModelBase apiModel)
 {
     for (int index = 0; index < act.ReturnValues.Count; index++)
     {
         if (act.ReturnValues[index].AddedAutomatically == true)
         {
             ActReturnValue apiARV = apiModel.ReturnValues.Where(x => x.Guid == act.ReturnValues[index].Guid).FirstOrDefault();
             if (apiARV == null) //Output value deleted from API - delete it also from action
             {
                 act.ReturnValues.RemoveAt(index);
                 index--;
             }
         }
     }
 }
        private static void AddNewActReturnValue(Act act, ActReturnValue apiARV)
        {
            ActReturnValue newARV = new ActReturnValue();

            newARV.AddedAutomatically = true;
            newARV.Status             = ActReturnValue.eStatus.Pending;
            newARV.Guid            = apiARV.Guid;
            newARV.Active          = apiARV.Active;
            newARV.ItemName        = apiARV.ItemName;
            newARV.Path            = apiARV.Path;
            newARV.Expected        = apiARV.Expected;
            newARV.StoreTo         = apiARV.StoreTo;
            newARV.SimulatedActual = apiARV.SimulatedActual;
            act.ActReturnValues.Add(newARV);
        }
Esempio n. 19
0
 public static void ClassInitialize(TestContext testContext)
 {
     BF                                = new BusinessFlow("BF1");
     act                               = new ActDummy();
     ARC                               = new ActReturnValue();
     ARC.Param                         = "Test";
     ARC.Active                        = true;
     act.Active                        = true;
     act.AddNewReturnParams            = true;
     act.SupportSimulation             = true;
     mGingerRunner                     = new GingerRunner();
     mGingerRunner.RunInSimulationMode = true;
     BF.Activities[0].Acts.Add(act);
     mGingerRunner.BusinessFlows.Add(BF);
 }
Esempio n. 20
0
        public void CheckforStartingwithNot()
        {
            //Arrange
            ActReturnValue ARC = new ActReturnValue();

            ARC.Actual   = "Not Tough";
            ARC.Expected = "Not Tough";

            //Act
            CalculateARC(ARC);

            //Assert

            Assert.AreEqual(ARC.Status, ActReturnValue.eStatus.Passed);
        }
Esempio n. 21
0
        public void ExpectedActualGreaterThanNumber()
        {
            //Arrange
            ActReturnValue ARC = new ActReturnValue();

            ARC.Actual   = "5";
            ARC.Expected = "{Actual} > 0";

            //Act
            CalculateARC(ARC);

            //Assert
            Assert.AreEqual(ARC.ExpectedCalculated, "'5 > 0' is True");
            Assert.AreEqual(ARC.Status, ActReturnValue.eStatus.Passed);
        }
Esempio n. 22
0
        public void ExpectedActualLowerThanNumberIsFalse()
        {
            //Arrange
            ActReturnValue ARC = new ActReturnValue();

            ARC.Actual   = "11";
            ARC.Expected = "{Actual} < 10";

            //Act
            CalculateARC(ARC);

            //Assert
            Assert.AreEqual(ARC.ExpectedCalculated, "'11 < 10' is False");
            Assert.AreEqual(ARC.Status, ActReturnValue.eStatus.Failed);
        }
Esempio n. 23
0
        public void ExpectedActulContainsString()
        {
            //Arrange
            ActReturnValue ARC = new ActReturnValue();

            ARC.Actual   = "Hello World!";
            ARC.Expected = "InStr({Actual},\"Hello\")>0";

            //Act
            CalculateARC(ARC);

            //Assert
            Assert.AreEqual(ARC.ExpectedCalculated, "'InStr(\"Hello World!\",\"Hello\")>0' is True");
            Assert.AreEqual(ARC.Status, ActReturnValue.eStatus.Passed);
        }
Esempio n. 24
0
        public void ExpectedActulContainsStringIsFalse()
        {
            //Arrange
            ActReturnValue ARC = new ActReturnValue();

            ARC.Actual   = "ABCDE";
            ARC.Expected = "InStr({Actual},\"ZZZ\") > 0";

            //Act
            CalculateARC(ARC);

            //Assert
            Assert.AreEqual(ARC.ExpectedCalculated, "'InStr(\"ABCDE\",\"ZZZ\") > 0' is False");
            Assert.AreEqual(ARC.Status, ActReturnValue.eStatus.Failed);
        }
Esempio n. 25
0
        public void ExpectedIsSimpleString()
        {
            //Arrange
            ActReturnValue ARC = new ActReturnValue();

            ARC.Actual   = "ABC";
            ARC.Expected = "ABC";

            //Act
            CalculateARC(ARC);

            //Assert
            Assert.AreEqual(ARC.ExpectedCalculated, "ABC");
            Assert.AreEqual(ARC.Status, ActReturnValue.eStatus.Passed);
        }
        private static void UpdateAllReturnValuesInAction(Act act, ApplicationModelBase apiModel, ModelItemUsage usage)
        {
            ActReturnValue.eItemParts ePartToUpdate = (ActReturnValue.eItemParts)Enum.Parse(typeof(ActReturnValue.eItemParts), usage.SelectedItemPart);
            foreach (ActReturnValue apiARV in apiModel.ReturnValues)
            {
                ActReturnValue actARV = act.ActReturnValues.Where(x => x.Guid == apiARV.Guid).FirstOrDefault();
                if (actARV != null) //Exist already in the action - Update it
                {
                    actARV.Active = apiARV.Active;
                    actARV.Status = ActReturnValue.eStatus.Pending;

                    if (ePartToUpdate == ActReturnValue.eItemParts.ExpectedValue || ePartToUpdate == ActReturnValue.eItemParts.All)
                    {
                        actARV.Expected = apiARV.Expected;
                    }
                    if (ePartToUpdate == ActReturnValue.eItemParts.Parameter || ePartToUpdate == ActReturnValue.eItemParts.All)
                    {
                        actARV.ItemName = apiARV.ItemName;
                    }
                    if (ePartToUpdate == ActReturnValue.eItemParts.Path || ePartToUpdate == ActReturnValue.eItemParts.All)
                    {
                        actARV.Path = apiARV.Path;
                    }
                    if (ePartToUpdate == ActReturnValue.eItemParts.SimulatedActual || ePartToUpdate == ActReturnValue.eItemParts.All)
                    {
                        actARV.SimulatedActual = apiARV.SimulatedActual;
                    }
                    if (ePartToUpdate == ActReturnValue.eItemParts.StoreTo || ePartToUpdate == ActReturnValue.eItemParts.All)
                    {
                        if (!string.IsNullOrEmpty(apiARV.StoreToValue))
                        {
                            actARV.StoreTo      = ActReturnValue.eStoreTo.ApplicationModelParameter;
                            actARV.StoreToValue = apiARV.StoreToValue;
                        }
                    }

                    usage.Status = ModelItemUsage.eStatus.Updated;
                }
                else //Not exist in the action - add it
                {
                    if (!string.IsNullOrEmpty(apiARV.StoreToValue))
                    {
                        apiARV.StoreTo = ActReturnValue.eStoreTo.ApplicationModelParameter;
                    }
                    AddNewActReturnValue(act, apiARV);
                }
            }
        }
        public void TextFileReadTest()
        {
            //Arrange
            actReadTextFile.TextToWrite     = txt;
            actReadTextFile.TextFilePath    = TestResources.GetTestResourcesFile(@"TextFiles" + Path.DirectorySeparatorChar + "textFileOperations.txt");
            actReadTextFile.ValueExpression = new ValueExpression(actReadTextFile, "");

            //Act
            actReadTextFile.TextFileEncoding = ActReadTextFile.eTextFileEncodings.UTF8;
            File.WriteAllText(actReadTextFile.TextFilePath, txt);
            ExecuteActionOperation(actReadTextFile, ActReadTextFile.eTextFileActionMode.Read, true, true);
            ActReturnValue returnValue = (ActReturnValue)actReadTextFile.ActReturnValues.ListItems.Find(x => (x as ActReturnValue).ItemName.Equals("File Content"));

            //Assert
            Assert.AreEqual(returnValue.Actual, txt);
        }
Esempio n. 28
0
        public void ExpectedActulWithOrNumbersANDCond()
        {
            //Arrange
            ActReturnValue ARC = new ActReturnValue();

            ARC.Actual   = "5";
            ARC.Expected = "{Actual}=1 or {Actual}=5";

            //Act
            CalculateARC(ARC);

            string Exp = ARC.Expected.Replace("{Actual}", ARC.Actual);

            //Assert
            Assert.AreEqual(ARC.ExpectedCalculated, "'" + Exp + "' is True");
            Assert.AreEqual(ARC.Status, ActReturnValue.eStatus.Passed);
        }
Esempio n. 29
0
        public void SimulatedOutputTest()
        {
            Activity Activity3 = new Activity();

            Activity3.Active       = true;
            Activity3.ActivityName = "Web API REST Simulated Output";
            Activity3.CurrentAgent = wsAgent;
            mBF.Activities.Add(Activity3);


            ActWebAPIRest restAct = new ActWebAPIRest();

            restAct.AddOrUpdateInputParamValue(ActWebAPIBase.Fields.EndPointURL, "https://jsonplaceholder.typicode.com/posts/1");
            restAct.AddOrUpdateInputParamValue(ActWebAPIBase.Fields.CertificateTypeRadioButton, ApplicationAPIUtils.eCretificateType.AllSSL.ToString());
            restAct.AddOrUpdateInputParamValue(ActWebAPIRest.Fields.RequestType, ApplicationAPIUtils.eRequestType.GET.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 Simulated Output";
            restAct.SupportSimulation    = true;

            //Define dummy return value
            ActReturnValue simulateOutput = new ActReturnValue();

            simulateOutput.Active          = true;
            simulateOutput.Param           = "TestSimulation";
            simulateOutput.SimulatedActual = "simulated ok";
            simulateOutput.Expected        = "simulated ok";

            restAct.ReturnValues.Add(simulateOutput);

            mBF.Activities[0].Acts.Add(restAct);
            mGR.RunInSimulationMode = true;


            mGR.RunRunner();

            if (restAct.ReturnValues[0].SimulatedActual == restAct.ReturnValues[0].Actual)
            {
                Assert.AreEqual(restAct.ReturnValues[0].Actual, restAct.ReturnValues[0].ExpectedCalculated);
            }
        }
Esempio n. 30
0
        private void GenerateResponse(SwaggerOperation operation, ApplicationAPIModel basicModal)
        {
            if (operation.Responses.Count > 1 && operation.Responses.Keys.Where(x => x.StartsWith("2")).Count() > 0)
            {
                string          sucesskey = operation.Responses.Keys.Where(x => x.StartsWith("2")).ElementAt(0);
                SwaggerResponse response  = null;
                operation.Responses.TryGetValue(sucesskey, out response);
                if (response.Schema != null)
                {
                    if (basicModal.ContentType == ApplicationAPIUtils.eContentType.XML)
                    {
                        ApplicationAPIModel JsonResponseModel = new ApplicationAPIModel();
                        var i = GenerateXMLBody(JsonResponseModel, response.Schema);

                        foreach (AppModelParameter currModel in GenerateJsonBody(JsonResponseModel, response.Schema))
                        {
                            ActReturnValue arv = new ActReturnValue();
                            arv.ItemName            = currModel.ItemName;
                            arv.Path                = currModel.XPath;
                            arv.DoNotConsiderAsTemp = true;
                            basicModal.ReturnValues.Add(arv);
                        }
                    }
                    else if (basicModal.ContentType == ApplicationAPIUtils.eContentType.JSon)
                    {
                        ApplicationAPIModel JsonResponseModel = new ApplicationAPIModel();
                        var i = GenerateJsonBody(JsonResponseModel, response.Schema);

                        foreach (AppModelParameter currModel in GenerateJsonBody(JsonResponseModel, response.Schema))
                        {
                            ActReturnValue arv = new ActReturnValue();
                            arv.ItemName            = currModel.ItemName;
                            arv.Path                = currModel.XPath;
                            arv.DoNotConsiderAsTemp = true;
                            basicModal.ReturnValues.Add(arv);
                        }
                    }
                }
                else
                {
                }
            }
        }