상속: Warewolf.Sql.Workflows
 public void RunWorkflowForXmlImplWithEmptyRootNameExpectedDoesNotChangeRootName()
 {
     var expectedXml = new XElement("MyRoot");
     var workflows = new WorkflowsMock { ReturnXml = expectedXml.ToString() };
     var result = workflows.RunWorkflowForXmlImpl(TestServerUri, string.Empty);
     Assert.AreEqual(expectedXml.Name, result.Name);
 }
예제 #2
0
        public void RunWorkflowForSqlImplWithServerUriAndRecordsetNameExpectedReturnsRecordsetAsDataTable()
        {
            var employees = _workflowResultXml.Elements("Employees").ToList();

            var workflows = new WorkflowsMock {
                ReturnXml = _workflowResultXml.ToString()
            };
            var result = workflows.RunWorkflowForSqlImpl(CreateSqlCtxMock(), TestServerUri, "Employees");

            Assert.IsNotNull(result);
            Assert.AreEqual(employees.Count, result.Rows.Count);

            // Verify that the DataTable was generated correctly
            foreach (var employee in employees)
            {
                var filter = new StringBuilder();
                foreach (var field in employee.Elements())
                {
                    filter.AppendFormat(" AND {0}='{1}'", field.Name.LocalName, field.Value);
                }
                filter.Remove(0, 5);
                var rows = result.Select(filter.ToString());
                Assert.AreEqual(1, rows.Length);
            }
        }
 public void RunWorkflowForXmlImplWithRootNameExpectedDoesChangeRootName()
 {
     const string ExpectedRootName = "NewRoot";
     var expectedXml = new XElement("MyRoot");
     var workflows = new WorkflowsMock { ReturnXml = expectedXml.ToString() };
     var result = workflows.RunWorkflowForXmlImpl(TestServerUri, ExpectedRootName);
     Assert.AreEqual(ExpectedRootName, result.Name);
 }
예제 #4
0
        public void RunWorkflowForXmlImplWithEmptyRootNameExpectedDoesNotChangeRootName()
        {
            var expectedXml = new XElement("MyRoot");
            var workflows   = new WorkflowsMock {
                ReturnXml = expectedXml.ToString()
            };
            var result = workflows.RunWorkflowForXmlImpl(TestServerUri, string.Empty);

            Assert.AreEqual(expectedXml.Name, result.Name);
        }
예제 #5
0
        public void RunWorkflowForXmlImplWithValidParametersExpectedReturnsXml()
        {
            var expectedXml = _workflowResultXml.ToString(SaveOptions.DisableFormatting);
            var workflows   = new WorkflowsMock {
                ReturnXml = expectedXml
            };
            var result    = workflows.RunWorkflowForXmlImpl(TestServerUri);
            var actualXml = result.ToString(SaveOptions.DisableFormatting);

            Assert.AreEqual(expectedXml, actualXml);
        }
예제 #6
0
        public void RunWorkflowForXmlImplWithRootNameExpectedDoesChangeRootName()
        {
            const string ExpectedRootName = "NewRoot";
            var          expectedXml      = new XElement("MyRoot");
            var          workflows        = new WorkflowsMock {
                ReturnXml = expectedXml.ToString()
            };
            var result = workflows.RunWorkflowForXmlImpl(TestServerUri, ExpectedRootName);

            Assert.AreEqual(ExpectedRootName, result.Name);
        }
예제 #7
0
        public void RunWorkflowForSqlImplWithValidArgsExpectedInvokesSqlCtx()
        {
            var employees    = _workflowResultXml.Elements("Employees").ToList();
            var sendRowCount = 0;

            var ctx = new Mock <ISqlCtx>();

            ctx.Setup(c => c.SendStart(It.IsAny <DataTable>())).Verifiable();
            ctx.Setup(c => c.SendEnd()).Verifiable();
            ctx.Setup(c => c.SendRow(It.IsAny <SqlDataRecord>(), It.IsAny <object[]>())).Callback(() => sendRowCount++);

            var workflows = new WorkflowsMock {
                ReturnXml = _workflowResultXml.ToString()
            };

            workflows.RunWorkflowForSqlImpl(ctx.Object, TestServerUri, "Employees");

            ctx.VerifyAll();
            Assert.AreEqual(employees.Count, sendRowCount);
        }
예제 #8
0
        public void RunWorkflowForSqlImplWithServerUriAndNullRecordsetNameExpectedReturnsScalarsAsSingleRowInDataTable()
        {
            var workflows = new WorkflowsMock {
                ReturnXml = _workflowResultXml.ToString()
            };
            var result = workflows.RunWorkflowForSqlImpl(CreateSqlCtxMock(), TestServerUri, null);

            Assert.IsNotNull(result);

            var filter = new StringBuilder();

            foreach (var field in _workflowResultXml.Elements().Where(e => !e.HasElements))
            {
                filter.AppendFormat(" AND {0}='{1}'", field.Name.LocalName, field.Value);
            }
            filter.Remove(0, 5);
            var rows = result.Select(filter.ToString());

            Assert.AreEqual(1, rows.Length);
        }
 public void RunWorkflowForXmlImplWithValidParametersExpectedReturnsXml()
 {
     var expectedXml = _workflowResultXml.ToString(SaveOptions.DisableFormatting);
     var workflows = new WorkflowsMock { ReturnXml = expectedXml };
     var result = workflows.RunWorkflowForXmlImpl(TestServerUri);
     var actualXml = result.ToString(SaveOptions.DisableFormatting);
     Assert.AreEqual(expectedXml, actualXml);
 }
        public void RunWorkflowForSqlImplWithValidArgsExpectedInvokesSqlCtx()
        {
            var employees = _workflowResultXml.Elements("Employees").ToList();
            var sendRowCount = 0;

            var ctx = new Mock<ISqlCtx>();
            ctx.Setup(c => c.SendStart(It.IsAny<DataTable>())).Verifiable();
            ctx.Setup(c => c.SendEnd()).Verifiable();
            ctx.Setup(c => c.SendRow(It.IsAny<SqlDataRecord>(), It.IsAny<object[]>())).Callback(() => sendRowCount++);

            var workflows = new WorkflowsMock { ReturnXml = _workflowResultXml.ToString() };
            workflows.RunWorkflowForSqlImpl(ctx.Object, TestServerUri, "Employees");

            ctx.VerifyAll();
            Assert.AreEqual(employees.Count, sendRowCount);
        }
        public void RunWorkflowForSqlImplWithServerUriAndNullRecordsetNameExpectedReturnsRecordsetsAsRowsInDataTable()
        {
            var workflows = new WorkflowsMock { ReturnXml = _workflowResultXml.ToString() };
            var result = workflows.RunWorkflowForSqlImpl(CreateSqlCtxMock(), TestServerUri, null);
            Assert.IsNotNull(result);

            foreach(var node in _workflowResultXml.Elements().Where(e => e.HasElements))
            {
                var filter = new StringBuilder();
                foreach(var field in node.Elements())
                {
                    filter.AppendFormat(" AND {0}{1}='{2}'", node.Name.LocalName, field.Name.LocalName, field.Value);
                }
                filter.Remove(0, 5);
                var rows = result.Select(filter.ToString());
                Assert.AreEqual(1, rows.Length);
            }
        }
        public void RunWorkflowForSqlImplWithServerUriAndRecordsetNameExpectedReturnsRecordsetAsDataTable()
        {
            var employees = _workflowResultXml.Elements("Employees").ToList();

            var workflows = new WorkflowsMock { ReturnXml = _workflowResultXml.ToString() };
            var result = workflows.RunWorkflowForSqlImpl(CreateSqlCtxMock(), TestServerUri, "Employees");
            Assert.IsNotNull(result);
            Assert.AreEqual(employees.Count, result.Rows.Count);

            // Verify that the DataTable was generated correctly
            foreach(var employee in employees)
            {
                var filter = new StringBuilder();
                foreach(var field in employee.Elements())
                {
                    filter.AppendFormat(" AND {0}='{1}'", field.Name.LocalName, field.Value);
                }
                filter.Remove(0, 5);
                var rows = result.Select(filter.ToString());
                Assert.AreEqual(1, rows.Length);
            }
        }