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); }
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); }
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 ----------------------- }
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); } }
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))); }
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><Paris></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><greater than 7 mile(s):0></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))); } }
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))); }