Exemple #1
0
        public void WarewolfListIterator_FetchNextValue_WithIndex_HasValues_ShouldReturnValues()
        {
            //------------Setup for test--------------------------
            var env = new ExecutionEnvironment();

            env.Assign("[[rec().a]]", "Test", 0);
            env.Assign("[[rec().a]]", "Test2", 0);
            env.Assign("[[rec().a]]", "Test4", 0);
            env.Assign("[[rec().a]]", "Test5", 0);
            env.CommitAssign();
            //------------Execute Test---------------------------
            string value;

            using (var warewolfListIterator = new WarewolfListIterator())
            {
                var warewolfIterator = new WarewolfIterator(env.Eval("[[rec(3).a]]", 0));
                warewolfListIterator.AddVariableToIterateOn(warewolfIterator);
                value = warewolfListIterator.FetchNextValue(warewolfIterator);
                //------------Assert Results-------------------------
                Assert.AreEqual("Test4", value);
                //------------Execute Test---------------------------
                value = warewolfListIterator.FetchNextValue(warewolfIterator);
            }
            //------------Assert Results-------------------------
            Assert.AreEqual("Test4", value);
        }
Exemple #2
0
        public void WarewolfListIterator_Object_GetValue_DateTime_Success()
        {
            //------------Setup for test--------------------------
            var env      = new ExecutionEnvironment();
            var expected = DateTime.Now;

            env.Assign("[[a]]", expected.ToString(), 0);

            var v = env.Eval("[[a]]", 0);

            var iter = new WarewolfIterator(v);

            using (var warewolfListIterator = new WarewolfListIterator())
            {
                warewolfListIterator.AddVariableToIterateOn(iter);

                var listIterator = warewolfListIterator;
                listIterator.Types = new List <Type> {
                    typeof(DateTime)
                };
                //------------Execute Test---------------------------
                var val = listIterator.GetValue(0);
                listIterator.Close();
                //------------Assert Results-------------------------
                Assert.AreEqual(expected.ToString(), val.ToString());
            }
        }
        public void AssignJArray_MultipleJValues_EvalStarCorreclty()
        {
            //------------Setup for test--------------------------

            var environment = new ExecutionEnvironment();
            var jObject     = "{\"PolicyNo\":\"A0003\",\"DateId\":32,\"SomeVal\":\"Bob\"}";
            var values      = new List <IAssignValue>()
            {
                new AssignValue("[[@Person(*)]]", jObject),
                new AssignValue("[[@Person(*)]]", jObject),
                new AssignValue("[[@Person(*)]]", jObject),
                new AssignValue("[[@Person(*)]]", jObject),
            };

            //------------Execute Test---------------------------
            environment.AssignJson(values, 0);
            //------------Assert Results-------------------------

            var data = GetFromEnv(environment);
            var warewolfEvalResult       = environment.Eval("[[@Person(*)]]", 0);
            var isWarewolfAtomListresult = warewolfEvalResult.IsWarewolfAtomListresult;
            var isWarewolfAtomresult     = warewolfEvalResult.IsWarewolfAtomResult;

            Assert.IsFalse(isWarewolfAtomListresult);
            Assert.IsTrue(isWarewolfAtomresult);
            var container = data.JsonObjects["Person"];
            var obj       = container as JArray;

            Assert.IsNotNull(obj);
        }
        public void AssignJArray_MultipleJValues_EvalIndexThreeCorreclty()
        {
            //------------Setup for test--------------------------

            var environment = new ExecutionEnvironment();
            var values      = new List <IAssignValue>()
            {
                new AssignValue("[[@Person()]]", "{\"PolicyNo\":\"A0001\",\"DateId\":32,\"SomeVal\":\"Bob\"}"),
                new AssignValue("[[@Person()]]", "{\"PolicyNo\":\"A0002\",\"DateId\":32,\"SomeVal\":\"Bob\"}"),
                new AssignValue("[[@Person()]]", "{\"PolicyNo\":\"A0003\",\"DateId\":32,\"SomeVal\":\"Bob\"}"),
                new AssignValue("[[@Person()]]", "{\"PolicyNo\":\"A0004\",\"DateId\":32,\"SomeVal\":\"Bob\"}"),
            };

            //------------Execute Test---------------------------
            environment.AssignJson(values, 0);
            //------------Assert Results-------------------------

            var warewolfEvalResult       = environment.Eval("[[@Person(3)]]", 0);
            var isWarewolfAtomListresult = warewolfEvalResult.IsWarewolfAtomListresult;
            var isWarewolfAtomresult     = warewolfEvalResult.IsWarewolfAtomResult;

            Assert.IsFalse(isWarewolfAtomListresult);
            Assert.IsTrue(isWarewolfAtomresult);
            var evalResultToString = ExecutionEnvironment.WarewolfEvalResultToString(warewolfEvalResult);
            var contains           = evalResultToString.Contains("A0003");

            Assert.IsTrue(contains);
        }
Exemple #5
0
        public void PushResponseIntoEnvironment_GivenResponseAndIsJosn_ShouldAssignJsonObjects()
        {
            //---------------Set up test pack-------------------

            const string response = "{\"Location\": \"Paris\",\"Time\": \"May 29, 2013 - 09:00 AM EDT / 2013.05.29 1300 UTC\"," +
                                    "\"Wind\": \"from the NW (320 degrees) at 10 MPH (9 KT) (direction variable):0\"," +
                                    "\"Visibility\": \"greater than 7 mile(s):0\"," +
                                    "\"Temperature\": \"59 F (15 C)\"," +
                                    "\"DewPoint\": \"41 F (5 C)\"," +
                                    "\"RelativeHumidity\": \"51%\"," +
                                    "\"Pressure\": \"29.65 in. Hg (1004 hPa)\"," +
                                    "\"Status\": \"Success\"" +
                                    "}";
            var environment = new ExecutionEnvironment();

            var responseManager = new ResponseManager()
            {
                IsObject   = true,
                ObjectName = "[[@weather]]"
            };
            var dataObjectMock = new Mock <IDSFDataObject>();

            dataObjectMock.Setup(o => o.Environment).Returns(environment);
            dataObjectMock.Setup(o => o.EsbChannel).Returns(new Mock <IEsbChannel>().Object);

            //---------------Assert Precondition----------------
            Assert.IsNotNull(responseManager);
            //---------------Execute Test ----------------------
            try
            {
                responseManager.PushResponseIntoEnvironment(response, 0, dataObjectMock.Object);
                var evalRes = environment.Eval("[[@weather]]", 0);
                Assert.IsNotNull(evalRes);
                var stringResult = CommonFunctions.evalResultToString(evalRes);
                Assert.AreEqual(response.Replace(" ", ""), stringResult.Replace(Environment.NewLine, "").Replace(" ", ""));
                var propRes = environment.Eval("[[@weather.RelativeHumidity]]", 0);
                Assert.IsNotNull(propRes);
            }
            catch (Exception e)
            {
                Assert.Fail(e.Message);
            }
            //---------------Test Result -----------------------
        }
        public void DsfWebPostActivity_Execute_WithValidWebResponse_ShouldSetVariables()
        {
            //------------Setup for test--------------------------
            const string response = "{\"Location\": \"Paris\",\"Time\": \"May 29, 2013 - 09:00 AM EDT / 2013.05.29 1300 UTC\"," +
                                    "\"Wind\": \"from the NW (320 degrees) at 10 MPH (9 KT) (direction variable):0\"," +
                                    "\"Visibility\": \"greater than 7 mile(s):0\"," +
                                    "\"Temperature\": \"59 F (15 C)\"," +
                                    "\"DewPoint\": \"41 F (5 C)\"," +
                                    "\"RelativeHumidity\": \"51%\"," +
                                    "\"Pressure\": \"29.65 in. Hg (1004 hPa)\"," +
                                    "\"Status\": \"Success\"" +
                                    "}";
            var environment = new ExecutionEnvironment();

            environment.Assign("[[City]]", "PMB", 0);
            environment.Assign("[[CountryName]]", "South Africa", 0);
            var dsfWebPostActivity = new TestDsfWebPostActivity();

            dsfWebPostActivity.ResourceCatalog = new Mock <IResourceCatalog>().Object;
            var serviceInputs = new List <IServiceInput> {
                new ServiceInput("CityName", "[[City]]"), new ServiceInput("Country", "[[CountryName]]")
            };
            var serviceOutputs = new List <IServiceOutputMapping> {
                new ServiceOutputMapping("Location", "[[weather().Location]]", "weather"), new ServiceOutputMapping("Time", "[[weather().Time]]", "weather"), new ServiceOutputMapping("Wind", "[[weather().Wind]]", "weather"), new ServiceOutputMapping("Visibility", "[[Visibility]]", "")
            };

            dsfWebPostActivity.Inputs  = serviceInputs;
            dsfWebPostActivity.Outputs = serviceOutputs;
            var serviceXml = XmlResource.Fetch("WebService");
            var service    = new WebService(serviceXml)
            {
                RequestResponse = response
            };

            dsfWebPostActivity.OutputDescription = service.GetOutputDescription();
            dsfWebPostActivity.ResponseFromWeb   = response;
            var dataObjectMock = new Mock <IDSFDataObject>();

            dataObjectMock.Setup(o => o.Environment).Returns(environment);
            dataObjectMock.Setup(o => o.EsbChannel).Returns(new Mock <IEsbChannel>().Object);
            dsfWebPostActivity.ResourceID = InArgument <Guid> .FromValue(Guid.Empty);

            dsfWebPostActivity.QueryString = "";
            dsfWebPostActivity.PostData    = "";
            dsfWebPostActivity.SourceId    = Guid.Empty;
            dsfWebPostActivity.Headers     = new List <INameValue>();
            //------------Execute Test---------------------------
            dsfWebPostActivity.Execute(dataObjectMock.Object, 0);
            //------------Assert Results-------------------------
            Assert.IsNotNull(dsfWebPostActivity.OutputDescription);
            Assert.AreEqual("greater than 7 mile(s):0", ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[Visibility]]", 0)));
            Assert.AreEqual("Paris", ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[weather().Location]]", 0)));
            Assert.AreEqual("May 29, 2013 - 09:00 AM EDT / 2013.05.29 1300 UTC", ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[weather().Time]]", 0)));
            Assert.AreEqual("from the NW (320 degrees) at 10 MPH (9 KT) (direction variable):0", ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[weather().Wind]]", 0)));
        }
        public void WarewolfListIterator_FetchNextValue_NoValuesToIterateOn_ReturnsException()
        {
            //------------Setup for test--------------------------
            var env = new ExecutionEnvironment();
            var warewolfListIterator = new WarewolfListIterator();
            var warewolfIterator     = new WarewolfIterator(env.Eval("[[rec().a]]"));
            //------------Execute Test---------------------------
            var value = warewolfListIterator.FetchNextValue(warewolfIterator);

            //------------Assert Results-------------------------
            Assert.IsNull(value);
        }
        public void PushResponseIntoEnvironment_GivenScalaResponseAndIsJosn_ShouldAssignJsonObjects()
        {
            //---------------Set up test pack-------------------

            const string response    = "Hello There";
            var          environment = new ExecutionEnvironment();

            var responseManager = new ResponseManager()
            {
                IsObject   = true,
                ObjectName = "[[@weather.Greeting]]"
            };
            var dataObjectMock = new Mock <IDSFDataObject>();

            dataObjectMock.Setup(o => o.Environment).Returns(environment);
            dataObjectMock.Setup(o => o.EsbChannel).Returns(new Mock <IEsbChannel>().Object);

            //---------------Assert Precondition----------------
            Assert.IsNotNull(responseManager);
            //---------------Execute Test ----------------------
            try
            {
                responseManager.PushResponseIntoEnvironment(response, 0, dataObjectMock.Object);
                var evalRes = environment.Eval("[[@weather.Greeting]]", 0);
                Assert.IsNotNull(evalRes);
                var stringResult = CommonFunctions.evalResultToString(evalRes);
                Assert.AreEqual(response.Replace(" ", ""), stringResult.Replace(Environment.NewLine, "").Replace(" ", ""));
                var propRes = environment.Eval("[[@weather.Greeting]]", 0);
                Assert.IsNotNull(propRes);
            }
            catch (Exception e)
            {
                Assert.Fail(e.Message);
            }
            //---------------Test Result -----------------------
        }
Exemple #9
0
        public void WebGetActivity_ExecutionImpl_IsResponseBase64_True_And_IsObject_False_Html_WebGetResponse_ExpectHtmlBase64String()
        {
            //-----------------------Arrange-------------------------
            const string htmlData    = @"<!DOCTYPE html>\r\n<html lang=\""en\"">\r\n  <head>\r\n   <title>Img Align Attribute<\\/title>\r\n <\\/head>\r\n<body>\r\n  <p>This is an example. <img src=\""image.png\"" alt=\""Image\"" align=\""middle\""> More text right here\r\n  <img src=\""image.png\"" alt=\""Image\"" width=\""100\""\\/>\r\n  <\\/body>\r\n<\\/html>";
            var          htmlBytes   = htmlData.Base64StringToByteArray();
            string       response    = htmlBytes.ToBase64String();
            var          environment = new ExecutionEnvironment();

            var mockEsbChannel    = new Mock <IEsbChannel>();
            var mockDSFDataObject = new Mock <IDSFDataObject>();

            var errorResultTO = new ErrorResultTO();

            using (var service = new WebService(XmlResource.Fetch("WebService"))
            {
                RequestResponse = response
            })
            {
                mockDSFDataObject.Setup(o => o.Environment).Returns(environment);
                mockDSFDataObject.Setup(o => o.EsbChannel).Returns(new Mock <IEsbChannel>().Object);

                var dsfWebGetActivity = new TestWebGetActivity
                {
                    OutputDescription = service.GetOutputDescription(),
                    ResourceID        = InArgument <Guid> .FromValue(Guid.Empty),
                    QueryString       = "test Query",
                    Headers           = new List <INameValue>(),
                    ResponseFromWeb   = response,
                    IsResponseBase64  = true,
                    Outputs           = new List <IServiceOutputMapping>
                    {
                        new ServiceOutputMapping {
                            MappedTo = "[[response]]"
                        }
                    },
                };
                //-----------------------Act-----------------------------
                dsfWebGetActivity.TestExecutionImpl(mockEsbChannel.Object, mockDSFDataObject.Object, "Test Inputs", "Test Outputs", out errorResultTO, 0);
                //-----------------------Assert--------------------------
                var actualResponseWWJson = environment.Eval("[[response]]", 0) as CommonFunctions.WarewolfEvalResult.WarewolfAtomResult;
                var actualResponse       = (actualResponseWWJson.Item as DataStorage.WarewolfAtom.DataString).Item;

                Assert.IsFalse(errorResultTO.HasErrors());
                Assert.AreEqual(response, actualResponse);
            }
        }
Exemple #10
0
        public void WarewolfListIterator_GetMax_ShouldReturn1()
        {
            var env = new ExecutionEnvironment();

            env.Assign("[[rec().a]]", "1", 0);
            env.Assign("[[rec().a]]", "2", 0);
            env.Assign("[[rec().a]]", "3", 0);
            env.Assign("[[rec().a]]", "4", 0);
            env.CommitAssign();

            using (var warewolfListIterator = new WarewolfListIterator())
            {
                var warewolfIterator = new WarewolfIterator(env.Eval("[[rec().a]]", 0));
                warewolfListIterator.AddVariableToIterateOn(warewolfIterator);

                var max = warewolfListIterator.GetMax();
                Assert.AreEqual(1, max);
            }
        }
        public void WarewolfListIterator_FetchNextValue_WithIndex_HasMoreData_ShouldReturnTrue_WhenCounterSmallerThanLargestIndex()
        {
            //------------Setup for test--------------------------
            var env = new ExecutionEnvironment();

            env.Assign("[[rec().a]]", "Test");
            env.Assign("[[rec().a]]", "Test2");
            env.Assign("[[rec().a]]", "Test4");
            env.Assign("[[rec().a]]", "Test5");
            env.CommitAssign();
            var warewolfListIterator = new WarewolfListIterator();
            var warewolfIterator     = new WarewolfIterator(env.Eval("[[rec().a]]"));

            warewolfListIterator.AddVariableToIterateOn(warewolfIterator);
            //------------Execute Test---------------------------
            var hasMoreData = warewolfListIterator.HasMoreData();

            //------------Assert Results-------------------------
            Assert.IsTrue(hasMoreData);
        }
        public void WarewolfListIterator_FetchNextValue_WithScalar_HasValues_ShouldReturnValues()
        {
            //------------Setup for test--------------------------
            var env = new ExecutionEnvironment();

            env.Assign("[[a]]", "Test");
            env.CommitAssign();
            var warewolfListIterator = new WarewolfListIterator();
            var warewolfIterator     = new WarewolfIterator(env.Eval("[[a]]"));

            warewolfListIterator.AddVariableToIterateOn(warewolfIterator);
            //------------Execute Test---------------------------
            var value = warewolfListIterator.FetchNextValue(warewolfIterator);

            //------------Assert Results-------------------------
            Assert.AreEqual("Test", value);
            //------------Execute Test---------------------------
            value = warewolfListIterator.FetchNextValue(warewolfIterator);
            //------------Assert Results-------------------------
            Assert.AreEqual("Test", value);
        }
        public void DsfWebGetRequestWithTimeoutActivity_Execute_WithHeaders()
        {
            //------------Setup for test--------------------------
            const string response          = "[\"value1\",\"value2\"]";
            var          dsfWebGetActivity = new DsfWebGetRequestActivity
            {
                Url     = "[[URL]]",
                Result  = "[[Response]]",
                Headers = "Authorization: Basic 321654987"
            };
            var environment = new ExecutionEnvironment();

            var dataObjectMock = new Mock <IDSFDataObject>();

            environment.Assign("[[URL]]", $"http://{_containerOps.Container.IP}:{_containerOps.Container.Port}/api/values", 0);

            dataObjectMock.Setup(o => o.Environment).Returns(environment);
            dataObjectMock.Setup(o => o.IsDebugMode()).Returns(true);
            dataObjectMock.Setup(o => o.EsbChannel).Returns(new MockEsb());
            //------------Execute Test---------------------------
            dsfWebGetActivity.Execute(dataObjectMock.Object, 0);
            //------------Assert Results-------------------------
            Assert.AreEqual(response, ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[Response]]", 0)));
        }
        public void DsfWebPostActivity_Execute_ErrorResponse_ShouldSetVariables()
        {
            //------------Setup for test--------------------------
            const string response    = "{\"Message\":\"Error\"}";
            var          environment = new ExecutionEnvironment();

            var dsfWebPostActivity = new TestDsfWebPostActivity();

            dsfWebPostActivity.ResourceID = InArgument <Guid> .FromValue(Guid.Empty);

            var mockResourceCatalog = new Mock <IResourceCatalog>();
            var webSource           = new WebSource();

            webSource.Address            = "http://TFSBLD.premier.local:9910/api/";
            webSource.AuthenticationType = AuthenticationType.Anonymous;
            mockResourceCatalog.Setup(resCat => resCat.GetResource <WebSource>(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(webSource);
            dsfWebPostActivity.ResourceCatalog = mockResourceCatalog.Object;

            var serviceOutputs = new List <IServiceOutputMapping> {
                new ServiceOutputMapping("Message", "[[Message]]", "")
            };

            dsfWebPostActivity.Outputs = serviceOutputs;

            var serviceXml = XmlResource.Fetch("WebService");
            var service    = new WebService(serviceXml)
            {
                RequestResponse = response
            };

            dsfWebPostActivity.OutputDescription = service.GetOutputDescription();
            dsfWebPostActivity.ResponseFromWeb   = response;
            dsfWebPostActivity.QueryString       = "Error";
            dsfWebPostActivity.SourceId          = Guid.Empty;
            dsfWebPostActivity.Headers           = new List <INameValue>();


            var dataObjectMock = new Mock <IDSFDataObject>();

            dataObjectMock.Setup(o => o.Environment).Returns(environment);
            dataObjectMock.Setup(o => o.EsbChannel).Returns(new Mock <IEsbChannel>().Object);
            dsfWebPostActivity.SourceId          = Guid.Empty;
            dsfWebPostActivity.Headers           = new List <INameValue>();
            dsfWebPostActivity.OutputDescription = new OutputDescription();
            dsfWebPostActivity.OutputDescription.DataSourceShapes.Add(new DataSourceShape()
            {
                Paths = new List <IPath>()
                {
                    new StringPath()
                    {
                        ActualPath = "[[Response]]", OutputExpression = "[[Response]]"
                    }
                }
            });

            //------------Execute Test---------------------------
            dsfWebPostActivity.Execute(dataObjectMock.Object, 0);
            //------------Assert Results-------------------------
            Assert.AreEqual(response, ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[Message]]", 0)));
        }
 public void GivenInvalidIndex_ExecutionEnvironmentEval_ShouldThrowIndexOutOfRangeException()
 {
     Assert.IsNotNull(_environment);
     _environment.Eval(OutOfBoundExpression, 0, true);
 }
        public void DsfWebDeleteActivity_Delete_WithTextResponseValidResponseReturned()
        {
            //------------Setup for test--------------------------
            const string response = "{\"Location\": \"Paris\",\"Time\": \"May 29, 2013 - 09:00 AM EDT / 2013.05.29 1300 UTC\"," +
                                    "\"Wind\": \"from the NW (320 degrees) at 10 MPH (9 KT) (direction variable):0\"," +
                                    "\"Visibility\": \"greater than 7 mile(s):0\"," +
                                    "\"Temperature\": \"59 F (15 C)\"," +
                                    "\"DewPoint\": \"41 F (5 C)\"," +
                                    "\"RelativeHumidity\": \"51%\"," +
                                    "\"Pressure\": \"29.65 in. Hg (1004 hPa)\"," +
                                    "\"Status\": \"Success\"" +
                                    "}";
            var environment = new ExecutionEnvironment();

            environment.Assign("[[City]]", "PMB", 0);
            environment.Assign("[[CountryName]]", "South Africa", 0);
            var dsfWebDeleteActivity = CreateTestDeleteActivity();
            var serviceInputs        = new List <IServiceInput> {
                new ServiceInput("CityName", "[[City]]"), new ServiceInput("Country", "[[CountryName]]")
            };
            var serviceOutputs = new List <IServiceOutputMapping> {
                new ServiceOutputMapping("Response", "[[Response]]", "")
            };

            dsfWebDeleteActivity.Inputs  = serviceInputs;
            dsfWebDeleteActivity.Outputs = serviceOutputs;
            var serviceXml = XmlResource.Fetch("WebService");

            // ReSharper disable once ObjectCreationAsStatement
            new WebService(serviceXml)
            {
                RequestResponse = response
            };
            dsfWebDeleteActivity.OutputDescription = new OutputDescription();
            dsfWebDeleteActivity.ResourceCatalog   = new Mock <IResourceCatalog>().Object;
            dsfWebDeleteActivity.OutputDescription.DataSourceShapes.Add(new DataSourceShape {
                Paths = new List <IPath>()
                {
                    new StringPath()
                    {
                        ActualPath = "[[Response]]", OutputExpression = "[[Response]]"
                    }
                }
            });
            dsfWebDeleteActivity.ResponseFromWeb = response;
            var dataObjectMock = new Mock <IDSFDataObject>();

            dataObjectMock.Setup(o => o.Environment).Returns(environment);
            dataObjectMock.Setup(o => o.EsbChannel).Returns(new Mock <IEsbChannel>().Object);
            dsfWebDeleteActivity.ResourceID = InArgument <Guid> .FromValue(Guid.Empty);

            dsfWebDeleteActivity.QueryString = "";
            //dsfWebPostActivity.PostData = "";
            dsfWebDeleteActivity.SourceId = Guid.Empty;
            dsfWebDeleteActivity.Headers  = new List <INameValue>();
            //------------Execute Test---------------------------
            dsfWebDeleteActivity.Execute(dataObjectMock.Object, 0);
            //------------Assert Results-------------------------
            Assert.IsNotNull(dsfWebDeleteActivity.OutputDescription);
            Assert.AreEqual(response, ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[Response]]", 0)));
        }
        public void WebGetRequestExecuteWithHeaders()
        {
            const string response          = "[\"value1\",\"value2\"]";
            var          dsfWebGetActivity = new DsfWebGetRequestActivity
            {
                Url     = "[[URL]]",
                Result  = "[[Response]]",
                Headers = "Authorization: Basic 321654987"
            };
            var environment = new ExecutionEnvironment();

            environment.Assign("[[URL]]", "http://rsaklfsvrtfsbld:9910/api/values", 0);
            var dataObjectMock = new Mock <IDSFDataObject>();

            dataObjectMock.Setup(o => o.Environment).Returns(environment);
            dataObjectMock.Setup(o => o.IsDebugMode()).Returns(true);
            dataObjectMock.Setup(o => o.EsbChannel).Returns(new MockEsb());
            //------------Execute Test---------------------------
            dsfWebGetActivity.Execute(dataObjectMock.Object, 0);
            //------------Assert Results-------------------------
            Assert.AreEqual(response, ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[Response]]", 0)));
        }
Exemple #18
0
        public void WebPutActivity_ExecutionImpl_ResponseManager_PushResponseIntoEnvironment_GivenJsonResponse_MappedToRecodSet_ShouldSucess()
        {
            //-----------------------Arrange-------------------------
            const string json                  = "{\"Messanger\":\"jSon response from the request\"}";
            var          response              = Convert.ToBase64String(json.ToBytesArray());
            const string mappingFrom           = "mapFrom";
            const string recordSet             = "recset";
            const string mapTo                 = "mapTo";
            const string variableNameMappingTo = "[[recset().mapTo]]";

            var environment = new ExecutionEnvironment();

            var mockEsbChannel           = new Mock <IEsbChannel>();
            var mockDSFDataObject        = new Mock <IDSFDataObject>();
            var mockExecutionEnvironment = new Mock <IExecutionEnvironment>();

            var errorResultTO = new ErrorResultTO();

            using (var service = new WebService(XmlResource.Fetch("WebService"))
            {
                RequestResponse = response
            })
            {
                mockDSFDataObject.Setup(o => o.Environment).Returns(environment);
                mockDSFDataObject.Setup(o => o.EsbChannel).Returns(new Mock <IEsbChannel>().Object);

                var dsfWebGetActivity = new TestWebPutActivity
                {
                    OutputDescription = service.GetOutputDescription(),
                    ResourceID        = InArgument <Guid> .FromValue(Guid.Empty),
                    QueryString       = "test Query",
                    Headers           = new List <INameValue>(),
                    ResponseFromWeb   = response,
                    IsObject          = false,
                    Outputs           = new List <IServiceOutputMapping>
                    {
                        {
                            new ServiceOutputMapping
                            {
                                MappedFrom    = mappingFrom,
                                MappedTo      = mapTo,
                                RecordSetName = recordSet
                            }
                        }
                    }
                };
                //-----------------------Act-----------------------------
                dsfWebGetActivity.TestExecutionImpl(mockEsbChannel.Object, mockDSFDataObject.Object, "Test Inputs", "Test Outputs", out errorResultTO, 0);
                //-----------------------Assert--------------------------
                Assert.IsFalse(errorResultTO.HasErrors());

                //assert first DataSourceShapes
                var resourceManager   = dsfWebGetActivity.ResponseManager;
                var outputDescription = resourceManager.OutputDescription;
                var dataShapes        = outputDescription.DataSourceShapes;
                var paths             = dataShapes.First().Paths;
                Assert.IsNotNull(outputDescription);
                Assert.AreEqual("Messanger", paths.First().ActualPath);
                Assert.AreEqual("Messanger", paths.First().DisplayPath);
                Assert.AreEqual(variableNameMappingTo, paths.First().OutputExpression);
                Assert.AreEqual("jSon response from the request", paths.First().SampleData);

                //assert execution environment
                var envirVariable = environment.Eval(variableNameMappingTo, 0);
                var resultItem    = (envirVariable as CommonFunctions.WarewolfEvalResult.WarewolfAtomListresult).Item;
                Assert.IsNotNull(envirVariable);
                if (resultItem.First() is DataStorage.WarewolfAtom.DataString firstItem)
                {
                    Assert.AreEqual("jSon response from the request", firstItem.Item);
                }
                else
                {
                    Assert.Fail("expected jSon response from the request");
                }
            }
        }
        public void DsfWebPutActivity_Execute_WithValidXmlEscaped_ShouldSetVariables()
        {
            //------------Setup for test--------------------------
            const string response = "<CurrentWeather>" +
                                    "<Location>&lt;Paris&gt;</Location>" +
                                    "<Time>May 29, 2013 - 09:00 AM EDT / 2013.05.29 1300 UTC</Time>" +
                                    "<Wind>from the NW (320 degrees) at 10 MPH (9 KT) (direction variable):0</Wind>" +
                                    "<Visibility>&lt;greater than 7 mile(s):0&gt;</Visibility>" +
                                    "<Temperature> 59 F (15 C)</Temperature>" +
                                    "<DewPoint> 41 F (5 C)</DewPoint>" +
                                    "<RelativeHumidity> 51%</RelativeHumidity>" +
                                    "<Pressure> 29.65 in. Hg (1004 hPa)</Pressure>" +
                                    "<Status>Success</Status>" +
                                    "</CurrentWeather>";
            var environment = new ExecutionEnvironment();

            environment.Assign("[[City]]", "PMB", 0);
            environment.Assign("[[CountryName]]", "South Africa", 0);
            var DsfWebPutActivity = new TestDsfWebPutActivity
            {
                ResourceCatalog = new Mock <IResourceCatalog>().Object
            };
            var serviceInputs = new List <IServiceInput> {
                new ServiceInput("CityName", "[[City]]"), new ServiceInput("Country", "[[CountryName]]")
            };
            var serviceOutputs = new List <IServiceOutputMapping> {
                new ServiceOutputMapping("Location", "[[weather().Location]]", "weather"), new ServiceOutputMapping("Time", "[[weather().Time]]", "weather"), new ServiceOutputMapping("Wind", "[[weather().Wind]]", "weather"), new ServiceOutputMapping("Visibility", "[[Visibility]]", "")
            };

            DsfWebPutActivity.Inputs  = serviceInputs;
            DsfWebPutActivity.Outputs = serviceOutputs;
            var serviceXml = XmlResource.Fetch("WebService");

            using (var service = new WebService(serviceXml)
            {
                RequestResponse = response
            })
            {
                DsfWebPutActivity.OutputDescription = service.GetOutputDescription();
                DsfWebPutActivity.ResponseFromWeb   = response;
                var dataObjectMock = new Mock <IDSFDataObject>();
                dataObjectMock.Setup(o => o.Environment).Returns(environment);
                dataObjectMock.Setup(o => o.EsbChannel).Returns(new Mock <IEsbChannel>().Object);
                DsfWebPutActivity.ResourceID = InArgument <Guid> .FromValue(Guid.Empty);

                DsfWebPutActivity.QueryString = "";
                DsfWebPutActivity.PutData     = "";
                DsfWebPutActivity.SourceId    = Guid.Empty;
                DsfWebPutActivity.Headers     = new List <INameValue>();
                //------------Execute Test---------------------------
                DsfWebPutActivity.Execute(dataObjectMock.Object, 0);
                //------------Assert Results-------------------------
                Assert.IsNotNull(DsfWebPutActivity.OutputDescription);
                Assert.AreEqual("<greater than 7 mile(s):0>", ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[Visibility]]", 0)));
                Assert.AreEqual("<Paris>", ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[weather().Location]]", 0)));
                Assert.AreEqual("May 29, 2013 - 09:00 AM EDT / 2013.05.29 1300 UTC", ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[weather().Time]]", 0)));
                Assert.AreEqual("from the NW (320 degrees) at 10 MPH (9 KT) (direction variable):0", ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[weather().Wind]]", 0)));
            }
        }
Exemple #20
0
        public void WebGetActivity_Execute_ErrorResponse_ShouldSetVariables()
        {
            //------------Setup for test--------------------------
            const string response    = "{\"Message\":\"Error\"}";
            var          environment = new ExecutionEnvironment();

            var dsfWebGetActivity = new TestWebGetActivity
            {
                ResourceCatalog = new Mock <IResourceCatalog>().Object
            };

            var serviceOutputs = new List <IServiceOutputMapping> {
                new ServiceOutputMapping("Message", "[[Message]]", "")
            };

            dsfWebGetActivity.Outputs = serviceOutputs;

            var serviceXml = XmlResource.Fetch("WebService");
            var service    = new WebService(serviceXml)
            {
                RequestResponse = response
            };

            dsfWebGetActivity.OutputDescription = service.GetOutputDescription();
            dsfWebGetActivity.ResponseFromWeb   = response;
            dsfWebGetActivity.ResourceID        = InArgument <Guid> .FromValue(Guid.Empty);

            dsfWebGetActivity.QueryString = "Error";

            var dataObjectMock = new Mock <IDSFDataObject>();

            dataObjectMock.Setup(o => o.Environment).Returns(environment);
            dataObjectMock.Setup(o => o.EsbChannel).Returns(new Mock <IEsbChannel>().Object);

            dsfWebGetActivity.SourceId          = Guid.Empty;
            dsfWebGetActivity.Headers           = new List <INameValue>();
            dsfWebGetActivity.OutputDescription = new OutputDescription();
            dsfWebGetActivity.OutputDescription.DataSourceShapes.Add(new DataSourceShape()
            {
                Paths = new List <IPath>()
                {
                    new StringPath()
                    {
                        ActualPath = "[[Response]]", OutputExpression = "[[Response]]"
                    }
                }
            });

            //------------Execute Test---------------------------
            dsfWebGetActivity.Execute(dataObjectMock.Object, 0);
            //------------Assert Results-------------------------
            Assert.AreEqual(response, ExecutionEnvironment.WarewolfEvalResultToString(environment.Eval("[[Message]]", 0)));
        }