public void Webservice_Test_WhenRequestShouldNotTimeout_ExpectNoMessage() { //------------Setup for test-------------------------- var serviceXml = XmlResource.Fetch("WebService"); var sourceXml = XmlResource.Fetch("WebSource"); var response = JsonResource.Fetch("empty"); var service = new WebService(serviceXml) { Source = new WebSource(sourceXml) }; foreach (var parameter in service.Method.Parameters) { parameter.Value = parameter.DefaultValue; } var webExecuteHitCount = 0; var resourceCatalog = new Mock <IResourceCatalog>(); var services = new WebServicesMock(resourceCatalog.Object, (WebSource source, WebRequestMethod method, string uri, string data, bool error, out ErrorResultTO errors, string[] headers) => { webExecuteHitCount++; errors = new ErrorResultTO(); return(response); }); //------------Execute Test--------------------------- var result = services.Test(service.ToString(), Guid.Empty, Guid.Empty); //------------Assert Results------------------------- Assert.AreEqual(1, webExecuteHitCount); Assert.AreEqual(string.Empty, result.RequestMessage); }
public void JSONUtils_ScrubJSON() { var fetch = JsonResource.Fetch("ForEachWorkFlow"); var value = JsonUtils.ScrubJson(fetch); Assert.AreEqual(fetch, value); }
public void JSONUtils_Format() { var fetch = JsonResource.Fetch("Test"); var formatted = JsonUtils.Format(fetch); var result = "[\r\n\t{\r\n\t\t\"ID\": \"00000000-0000-0000-0000-000000000000\",\r\n\t\t\"ParentID\": null,\r\n\t\t\"SourceResourceID\": \"037b7b8c-be29-4f2a-b648-6569051ca127\",\r\n\t\t\r\n\t}\r\n]"; Assert.AreEqual(result, formatted); }
public void ExecuteWf_GivenRecordSetsInputs_Should_AssignAllRecordSetItems() { //------------Setup for test------------------------- var resourceId = Guid.NewGuid(); const string Datalist = "<DataList><scalar1 ColumnIODirection=\"Input\"/><persistantscalar ColumnIODirection=\"Input\"/><rs><f1 ColumnIODirection=\"Input\"/><f2 ColumnIODirection=\"Input\"/></rs><recset><field1/><field2/></recset></DataList>"; var serviceAction = new ServiceAction { DataListSpecification = new StringBuilder(Datalist), Service = new DynamicService { ID = resourceId } }; var dsfObj = new Mock <IDSFDataObject>(); dsfObj.SetupProperty(o => o.ResourceID); const string TestName = "test2"; dsfObj.Setup(o => o.TestName).Returns(TestName); dsfObj.Setup(o => o.Environment).Returns(new ExecutionEnvironment()); dsfObj.Setup(o => o.Environment.Eval(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>(), false)) .Returns(CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(DataStorage.WarewolfAtom.NewDataString("Args"))); dsfObj.Setup(o => o.Environment.AllErrors).Returns(new HashSet <string>()); var fetch = JsonResource.Fetch("AssignWithRecSet"); var s = new Dev2JsonSerializer(); var testModelTO = s.Deserialize <ServiceTestModelTO>(fetch); var testCataLog = new Mock <ITestCatalog>(); testCataLog.Setup(cat => cat.SaveTest(It.IsAny <Guid>(), It.IsAny <IServiceTestModelTO>())).Verifiable(); testCataLog.Setup(cat => cat.FetchTest(resourceId, TestName)).Returns(testModelTO); var resourceCat = new Mock <IResourceCatalog>(); var activity = new Mock <IDev2Activity>(); resourceCat.Setup(catalog => catalog.Parse(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(activity.Object); var workSpace = new Mock <IWorkspace>(); var channel = new Mock <IEsbChannel>(); var esbExecuteRequest = new EsbExecuteRequest(); var serviceTestExecutionContainer = new ServiceTestExecutionContainerMock(serviceAction, dsfObj.Object, workSpace.Object, channel.Object, esbExecuteRequest, testCataLog.Object, resourceCat.Object); //---------------Assert Precondition---------------- Assert.IsNotNull(serviceTestExecutionContainer, "ServiceTestExecutionContainer is Null."); Assert.IsNull(serviceTestExecutionContainer.InstanceOutputDefinition); Assert.IsNull(serviceTestExecutionContainer.InstanceInputDefinition); //---------------Execute Test ---------------------- Thread.CurrentPrincipal = GlobalConstants.GenericPrincipal; Common.Utilities.PerformActionInsideImpersonatedContext(GlobalConstants.GenericPrincipal, () => { var execute = serviceTestExecutionContainer.Execute(out ErrorResultTO errors, 1); Assert.IsNotNull(execute, "serviceTestExecutionContainer execute results is Null."); }); //---------------Test Result ----------------------- dsfObj.Verify(o => o.Environment.Assign("[[Person(1).Name]]", "Marry", 0), Times.AtLeastOnce); }
public void GetTestRunResults_Given_ThereIsNoError_And_EnvironmentHasNoErrorSetsTest_ToPass() { //------------Setup for test------------------------- var resourceId = Guid.NewGuid(); const string Datalist = "<DataList><scalar1 ColumnIODirection=\"Input\"/><persistantscalar ColumnIODirection=\"Input\"/><rs><f1 ColumnIODirection=\"Input\"/><f2 ColumnIODirection=\"Input\"/></rs><recset><field1/><field2/></recset></DataList>"; var serviceAction = new ServiceAction { DataListSpecification = new StringBuilder(Datalist), Service = new DynamicService { ID = resourceId } }; var dsfObj = new Mock <IDSFDataObject>(); dsfObj.SetupProperty(o => o.ResourceID); const string TestName = "test1"; dsfObj.Setup(o => o.TestName).Returns(TestName); dsfObj.Setup(o => o.StopExecution).Returns(true); dsfObj.Setup(o => o.Environment).Returns(new ExecutionEnvironment()); dsfObj.Setup(o => o.Environment.Eval(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>(), false)) .Returns(CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(DataStorage.WarewolfAtom.NewDataString("Args"))); dsfObj.Setup(o => o.Environment.AllErrors).Returns(new HashSet <string>()); dsfObj.Setup(o => o.IsDebugMode()).Returns(true); dsfObj.Setup(o => o.Environment.HasErrors()).Returns(true); dsfObj.Setup(o => o.Environment.FetchErrors()).Returns("Failed: The user running the test is not authorized to execute resource ."); var fetch = JsonResource.Fetch("UnAuthorizedHelloWorld"); var s = new Dev2JsonSerializer(); var testModelTO = s.Deserialize <ServiceTestModelTO>(fetch); var cataLog = new Mock <ITestCatalog>(); cataLog.Setup(cat => cat.SaveTest(It.IsAny <Guid>(), It.IsAny <IServiceTestModelTO>())).Verifiable(); cataLog.Setup(cat => cat.FetchTest(resourceId, TestName)).Returns(testModelTO); var resourceCat = new Mock <IResourceCatalog>(); var activity = new Mock <IDev2Activity>(); resourceCat.Setup(catalog => catalog.Parse(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(activity.Object); var workSpace = new Mock <IWorkspace>(); var channel = new Mock <IEsbChannel>(); var esbExecuteRequest = new EsbExecuteRequest(); var serviceTestExecutionContainer = new ServiceTestExecutionContainer(serviceAction, dsfObj.Object, workSpace.Object, channel.Object, esbExecuteRequest); var testObj = new PrivateObject(serviceTestExecutionContainer); var output = new Mock <IServiceTestOutput>(); output.Setup(testOutput => testOutput.AssertOp).Returns("There is No Error"); //------------Execute Test--------------------------- var invoke = testObj.Invoke("GetTestRunResults", dsfObj.Object, output.Object, null); var testRunResults = invoke as IEnumerable <TestRunResult>; //------------Assert Results------------------------- var firstOrDefault = testRunResults?.FirstOrDefault(); Assert.IsTrue(firstOrDefault != null && firstOrDefault.RunTestResult == RunResult.TestPassed); }
public void ComPluginServices_Test_WhenTestingPluginReturningJsonString_ExpectValidPaths() { var pluginServices = new ComPluginServices(); var serviceDef = JsonResource.Fetch("ComPrimitivePluginReturningJsonString"); //------------Execute Test--------------------------- try { pluginServices.Test(serviceDef, out string serializedResult); } catch (Exception e) { Assert.AreEqual("[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified", e.InnerException.Message); } }
public void ComPluginServices_Test_WhenTestingPluginReturningJsonString_ExpectValidPaths() { var pluginServices = new ComPluginServices(); var serviceDef = JsonResource.Fetch("ComPrimitivePluginReturningJsonString"); //------------Execute Test--------------------------- try { string serializedResult; pluginServices.Test(serviceDef, out serializedResult); } catch (Exception e) { //Calls the execution correctly; // ReSharper disable once PossibleNullReferenceException Assert.AreEqual("[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified", e.InnerException.Message); } }
public void Webservice_Test_WhenJsonPathNotSet_ExpectNoShapedData() { //------------Setup for test-------------------------- var serviceXml = XmlResource.Fetch("WebService"); var sourceXml = XmlResource.Fetch("WebSource"); var response = JsonResource.Fetch("cryptsy_all_markets"); var service = new WebService(serviceXml) { Source = new WebSource(sourceXml) }; var services = new WebServicesMock(); service.RequestResponse = response; //------------Execute Test--------------------------- var result = services.ApplyPath(service.ToString(), Guid.Empty, Guid.Empty); //------------Assert Results------------------------- Assert.AreEqual(null, result.JsonPathResult); }
public void PluginServices_Test_WhenTestingPluginReturningJsonString_ExpectValidPaths() { //------------Setup for test-------------------------- var path = UnpackDLL("PrimativesTestDLL"); if (string.IsNullOrEmpty(path)) { Assert.Fail("Failed to unpack required DLL [ PrimativesTestDLL ] "); } var pluginServices = new PluginServices(); var serviceDef = JsonResource.Fetch("PrimitivePluginReturningJsonString"); //------------Execute Test--------------------------- var result = pluginServices.Test(serviceDef, out string serializedResult); ////------------Assert Results------------------------- Assert.AreEqual(1, result[0].Fields.Count); StringAssert.Contains(result[0].Fields[0].Alias, "message"); StringAssert.Contains(result[0].Fields[0].Name, "message"); StringAssert.Contains(result[0].Fields[0].Path.ActualPath, "message"); StringAssert.Contains(result[0].Fields[0].Path.SampleData, "Howzit__COMMA__"); }
public void JSONUtils_ScrubJSON_Clean() { var fetch = JsonResource.Fetch("ForEachWorkFlow"); Assert.AreEqual(fetch, JsonUtils.ScrubJson("\"" + fetch + "\"")); }
public void Execute_GivenArgs_ShouldPassThrough_ReturnsExecutedResults() { //---------------Set up test pack------------------- var resourceId = Guid.NewGuid(); const string Datalist = "<DataList><scalar1 ColumnIODirection=\"Input\"/><persistantscalar ColumnIODirection=\"Input\"/><rs><f1 ColumnIODirection=\"Input\"/><f2 ColumnIODirection=\"Input\"/></rs><recset><field1/><field2/></recset></DataList>"; var serviceAction = new ServiceAction() { DataListSpecification = new StringBuilder(Datalist), Service = new DynamicService() { ID = resourceId } }; var dsfObj = new Mock <IDSFDataObject>(); dsfObj.SetupProperty(o => o.ResourceID); const string TestName = "test1"; dsfObj.Setup(o => o.TestName).Returns(TestName); dsfObj.Setup(o => o.Environment).Returns(new ExecutionEnvironment()); dsfObj.Setup(o => o.Environment.Eval(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>(), false)) .Returns(CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(DataStorage.WarewolfAtom.NewDataString("Args"))); dsfObj.Setup(o => o.Environment.AllErrors).Returns(new HashSet <string>()); var fetch = JsonResource.Fetch("Sequence"); var s = new Dev2JsonSerializer(); var testModelTO = s.Deserialize <ServiceTestModelTO>(fetch); var cataLog = new Mock <ITestCatalog>(); cataLog.Setup(cat => cat.SaveTest(It.IsAny <Guid>(), It.IsAny <IServiceTestModelTO>())).Verifiable(); cataLog.Setup(cat => cat.FetchTest(resourceId, TestName)).Returns(testModelTO); var resourceCat = new Mock <IResourceCatalog>(); var activity = new Mock <IDev2Activity>(); resourceCat.Setup(catalog => catalog.Parse(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <string>())).Returns(activity.Object); var workSpace = new Mock <IWorkspace>(); var channel = new Mock <IEsbChannel>(); var esbExecuteRequest = new EsbExecuteRequest(); var serviceTestExecutionContainer = new ServiceTestExecutionContainerMock(serviceAction, dsfObj.Object, workSpace.Object, channel.Object, esbExecuteRequest, cataLog.Object, resourceCat.Object); //---------------Assert Precondition---------------- Assert.IsNotNull(serviceTestExecutionContainer, "ServiceTestExecutionContainer is Null."); Assert.IsNull(serviceTestExecutionContainer.InstanceOutputDefinition); Assert.IsNull(serviceTestExecutionContainer.InstanceInputDefinition); //---------------Execute Test ---------------------- Thread.CurrentPrincipal = GlobalConstants.GenericPrincipal; Common.Utilities.PerformActionInsideImpersonatedContext(GlobalConstants.GenericPrincipal, () => { var execute = serviceTestExecutionContainer.Execute(out ErrorResultTO errors, 1); Assert.IsNotNull(execute, "serviceTestExecutionContainer execute results is Null."); }); //---------------Test Result ----------------------- try { var serviceTestModelTO = esbExecuteRequest.ExecuteResult.DeserializeToObject <ServiceTestModelTO>(new KnownTypesBinder() { KnownTypes = typeof(ServiceTestModelTO).Assembly.GetExportedTypes() .Union(typeof(TestRunResult).Assembly.GetExportedTypes()).ToList() }); Assert.IsNotNull(serviceTestModelTO, "Execute results Deserialize returned Null."); } catch (Exception) { var serviceTestModelTO = esbExecuteRequest.ExecuteResult.DeserializeToObject <TestRunResult>(new KnownTypesBinder() { KnownTypes = typeof(ServiceTestModelTO).Assembly.GetExportedTypes() .Union(typeof(TestRunResult).Assembly.GetExportedTypes()).ToList() }); Assert.IsNotNull(serviceTestModelTO, "Execute results Deserialize returned Null."); } }
public void UpdateTestWithStepValues_Sets_The_Correct_FailureMessage() { //------------Setup for test------------------------- var resourceId = Guid.NewGuid(); const string Datalist = "<DataList><scalar1 ColumnIODirection=\"Input\"/><persistantscalar ColumnIODirection=\"Input\"/><rs><f1 ColumnIODirection=\"Input\"/><f2 ColumnIODirection=\"Input\"/></rs><recset><field1/><field2/></recset></DataList>"; var serviceAction = new ServiceAction { DataListSpecification = new StringBuilder(Datalist), Service = new DynamicService { ID = resourceId } }; var dsfObj = new Mock <IDSFDataObject>(); dsfObj.SetupProperty(o => o.ResourceID); const string TestName = "test1"; dsfObj.Setup(o => o.TestName).Returns(TestName); dsfObj.Setup(o => o.StopExecution).Returns(true); dsfObj.Setup(o => o.Environment).Returns(new ExecutionEnvironment()); dsfObj.Setup(o => o.Environment.Eval(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>(), false)) .Returns(CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(DataStorage.WarewolfAtom.NewDataString("Args"))); dsfObj.Setup(o => o.Environment.AllErrors).Returns(new HashSet <string>()); dsfObj.Setup(o => o.IsDebugMode()).Returns(true); dsfObj.Setup(o => o.Environment.HasErrors()).Returns(true); dsfObj.Setup(o => o.Environment.FetchErrors()).Returns("Failed: The user running the test is not authorized to execute resource ."); var fetch = JsonResource.Fetch("UnAuthorizedHelloWorld"); var s = new Dev2JsonSerializer(); var testModelTO = s.Deserialize <ServiceTestModelTO>(fetch); var cataLog = new Mock <ITestCatalog>(); cataLog.Setup(cat => cat.SaveTest(It.IsAny <Guid>(), It.IsAny <IServiceTestModelTO>())).Verifiable(); cataLog.Setup(cat => cat.FetchTest(resourceId, TestName)).Returns(testModelTO); var resourceCat = new Mock <IResourceCatalog>(); var activity = new Mock <IDev2Activity>(); resourceCat.Setup(catalog => catalog.Parse(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(activity.Object); var workSpace = new Mock <IWorkspace>(); var channel = new Mock <IEsbChannel>(); var esbExecuteRequest = new EsbExecuteRequest(); var serviceTestExecutionContainer = new ServiceTestExecutionContainer(serviceAction, dsfObj.Object, workSpace.Object, channel.Object, esbExecuteRequest); var testObj = new PrivateType(serviceTestExecutionContainer.GetType()); var test = SetupServiceTestSteps(); testObj.InvokeStatic("UpdateTestWithStepValues", test.Object); //------------Execute Test--------------------------- var expectedMessage = @"Failed Step: Message: Test Failed because of some reasons Failed Output For Variable: Message: This test has failed Invalid Output for Variable: Message: This test is invalid Pending Output for Variable: Test Failed because of some reasons "; //------------Assert Results------------------------- test.VerifySet(to => { to.FailureMessage = expectedMessage.ToString(); }, Times.AtLeastOnce); }
public void Execute_GivenStopExecutionAndUnAuthorized_ShouldAddFailureMessage() { //---------------Set up test pack------------------- var resourceId = Guid.NewGuid(); const string Datalist = "<DataList><scalar1 ColumnIODirection=\"Input\"/><persistantscalar ColumnIODirection=\"Input\"/><rs><f1 ColumnIODirection=\"Input\"/><f2 ColumnIODirection=\"Input\"/></rs><recset><field1/><field2/></recset></DataList>"; var serviceAction = new ServiceAction() { DataListSpecification = new StringBuilder(Datalist), Service = new DynamicService() { ID = resourceId } }; var dsfObj = new Mock <IDSFDataObject>(); dsfObj.SetupProperty(o => o.ResourceID); const string TestName = "test1"; dsfObj.Setup(o => o.TestName).Returns(TestName); dsfObj.Setup(o => o.StopExecution).Returns(true); dsfObj.Setup(o => o.Environment).Returns(new ExecutionEnvironment()); dsfObj.Setup(o => o.Environment.Eval(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>(), false)) .Returns(CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(DataStorage.WarewolfAtom.NewDataString("Args"))); dsfObj.Setup(o => o.Environment.AllErrors).Returns(new HashSet <string>()); dsfObj.Setup(o => o.IsDebugMode()).Returns(true); dsfObj.Setup(o => o.Environment.HasErrors()).Returns(true); dsfObj.Setup(o => o.Environment.FetchErrors()).Returns("Failed: The user running the test is not authorized to execute resource ."); var fetch = JsonResource.Fetch("UnAuthorizedHelloWorld"); var s = new Dev2JsonSerializer(); var testModelTO = s.Deserialize <ServiceTestModelTO>(fetch); var cataLog = new Mock <ITestCatalog>(); cataLog.Setup(cat => cat.SaveTest(It.IsAny <Guid>(), It.IsAny <IServiceTestModelTO>())).Verifiable(); cataLog.Setup(cat => cat.FetchTest(resourceId, TestName)).Returns(testModelTO); var resourceCat = new Mock <IResourceCatalog>(); var activity = new Mock <IDev2Activity>(); resourceCat.Setup(catalog => catalog.Parse(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <string>())).Returns(activity.Object); var workSpace = new Mock <IWorkspace>(); var channel = new Mock <IEsbChannel>(); var esbExecuteRequest = new EsbExecuteRequest(); var serviceTestExecutionContainer = new ServiceTestExecutionContainerMock(serviceAction, dsfObj.Object, workSpace.Object, channel.Object, esbExecuteRequest, cataLog.Object, resourceCat.Object); //---------------Assert Precondition---------------- Assert.IsNotNull(serviceTestExecutionContainer, "ServiceTestExecutionContainer is Null."); Assert.IsNull(serviceTestExecutionContainer.InstanceOutputDefinition); Assert.IsNull(serviceTestExecutionContainer.InstanceInputDefinition); //---------------Execute Test ---------------------- Thread.CurrentPrincipal = null; var identity = new GenericIdentity("User"); var currentPrincipal = new GenericPrincipal(identity, new[] { "Role1", "Roll2" }); Thread.CurrentPrincipal = currentPrincipal; Common.Utilities.ServerUser = currentPrincipal; var execute = serviceTestExecutionContainer.Execute(out ErrorResultTO errors, 1); Assert.IsNotNull(execute, "serviceTestExecutionContainer execute results is Null."); //---------------Test Result ----------------------- try { var serviceTestModelTO = esbExecuteRequest.ExecuteResult.DeserializeToObject <ServiceTestModelTO>(new KnownTypesBinder() { KnownTypes = typeof(ServiceTestModelTO).Assembly.GetExportedTypes() .Union(typeof(TestRunResult).Assembly.GetExportedTypes()).ToList() }); Assert.IsNotNull(serviceTestModelTO, "Execute results Deserialize returned Null."); Assert.IsNotNull(serviceTestModelTO, "Execute results Deserialize returned Null."); dsfObj.Verify(o => o.IsDebugMode()); dsfObj.Verify(o => o.Environment.HasErrors()); dsfObj.Verify(o => o.Environment.FetchErrors()); cataLog.Verify(cat => cat.SaveTest(It.IsAny <Guid>(), It.IsAny <IServiceTestModelTO>()), Times.Never); cataLog.Verify(cat => cat.FetchTest(resourceId, TestName)); Assert.AreNotEqual("", serviceTestModelTO.FailureMessage); } catch (Exception) { var testRunResult = esbExecuteRequest.ExecuteResult.DeserializeToObject <TestRunResult>(new KnownTypesBinder() { KnownTypes = typeof(ServiceTestModelTO).Assembly.GetExportedTypes() .Union(typeof(TestRunResult).Assembly.GetExportedTypes()).ToList() }); Assert.IsNotNull(testRunResult, "Execute results Deserialize returned Null."); Assert.IsNotNull(testRunResult, "Execute results Deserialize returned Null."); dsfObj.Verify(o => o.IsDebugMode()); dsfObj.Verify(o => o.Environment.HasErrors()); dsfObj.Verify(o => o.Environment.FetchErrors()); cataLog.Verify(cat => cat.SaveTest(It.IsAny <Guid>(), It.IsAny <IServiceTestModelTO>()), Times.Never); cataLog.Verify(cat => cat.FetchTest(resourceId, TestName)); Assert.AreNotEqual("", testRunResult.Message); } }