protected IExecutable InstantiateSystemUnderTest(ExecutionXml executionXml) { var factory = new ExecutionFactory(); var instance = factory.Instantiate(executionXml.BaseItem as IExecutableArgs); return(instance); }
protected virtual IDbCommand InstantiateSystemUnderTest(ExecutionXml executionXml) { var commandBuilder = new CommandBuilder(); var connectionString = executionXml.Item.GetConnectionString(); var commandText = (executionXml.Item as QueryableXml).GetQuery(); IEnumerable <IQueryParameter> parameters = null; IEnumerable <IQueryTemplateVariable> variables = null; int timeout = 0; if (executionXml.BaseItem is QueryXml) { parameters = ((QueryXml)executionXml.BaseItem).GetParameters(); variables = ((QueryXml)executionXml.BaseItem).GetVariables(); timeout = ((QueryXml)executionXml.BaseItem).Timeout; } if (executionXml.BaseItem is ReportXml) { parameters = ((ReportXml)executionXml.BaseItem).GetParameters(); } var cmd = commandBuilder.Build(connectionString, commandText, parameters, variables, timeout); if (executionXml.BaseItem is ReportXml) { cmd.CommandType = ((ReportXml)executionXml.BaseItem).GetCommandType(); } return(cmd); }
public void Instantiate_QueryExists_ArgumentException() { var sutXml = new ExecutionXml(); var ctrXml = new ExistsXml(); var testCaseFactory = new TestCaseFactory(); Assert.Throws <ArgumentException>(delegate { testCaseFactory.Instantiate(sutXml, ctrXml); }); }
protected override void BaseSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml) { if (!(sutXml is ExecutionXml)) { throw new ArgumentException("System-under-test must be a 'ExecutionXml'"); } SystemUnderTestXml = (ExecutionXml)sutXml; }
public void IsHandling_QueryExists_False() { var sutXml = new ExecutionXml(); var ctrXml = new ExistsXml(); var testCaseFactory = new TestCaseFactory(); var actual = testCaseFactory.IsHandling(sutXml.GetType(), ctrXml.GetType()); Assert.That(actual, Is.False); }
public void IsHandling_QueryRowCount_True() { var sutXml = new ExecutionXml(); var ctrXml = new RowCountXml(); var testCaseFactory = new TestCaseFactory(); var actual = testCaseFactory.IsHandling(sutXml.GetType(), ctrXml.GetType()); Assert.That(actual, Is.True); }
public void IsHandling_QuerySyntacticallyCorrect_True() { var sutXml = new ExecutionXml(); var ctrXml = new SyntacticallyCorrectXml(); var testCaseFactory = new TestCaseFactory(); var actual = testCaseFactory.IsHandling(sutXml.GetType(), ctrXml.GetType()); Assert.That(actual, Is.True); }
public void IsHandling_ExecutionMatchPattern_True() { var sutXml = new ExecutionXml(); var ctrXml = new MatchPatternXml(); var testCaseFactory = new TestCaseFactory(); var actual = testCaseFactory.IsHandling(sutXml.GetType(), ctrXml.GetType()); Assert.That(actual, Is.True); }
protected virtual IQuery GetQuery(ExecutionXml executionXml) { var builder = new QueryResolverArgsBuilder(ServiceLocator); builder.Setup(executionXml.Item, executionXml.Settings, Variables); builder.Build(); var factory = ServiceLocator.GetQueryResolverFactory(); var resolver = factory.Instantiate(builder.GetArgs()); var query = resolver.Execute(); return(query); }
public void GetQuery_FilenameNotSpecified_RetrieveContentOfInlineQuery() { //Instantiate a System Under Test var systemUnderTest = new ExecutionXml() { Item = new QueryXml() { InlineQuery = "SELECT * FROM Product" } }; Assert.That(((QueryXml)systemUnderTest.Item).GetQuery(), Is.EqualTo("SELECT * FROM Product")); Assert.That(((QueryXml)systemUnderTest.Item).InlineQuery, Is.Not.Null.And.Not.Empty.And.ContainsSubstring("SELECT")); Assert.That(((QueryXml)systemUnderTest.Item).File, Is.Null); }
protected override IDbCommand InstantiateSystemUnderTest(ExecutionXml xml) { if (xml.Item is QueryableXml) { var commandText = (xml.Item as QueryableXml).GetQuery(); var connectionString = xml.Item.GetConnectionString(); var parameters = (xml.Item as QueryableXml).GetParameters(); var variables = (xml.Item as QueryableXml).GetVariables(); var commandBuilder = new CommandBuilder(); var cmd = commandBuilder.Build(connectionString, commandText, parameters, variables); return(cmd); } throw new ArgumentException(); }
protected virtual IResultSetService InstantiateSystemUnderTest(ExecutionXml executionXml) { var queryArgsBuilder = new QueryResolverArgsBuilder(ServiceLocator); queryArgsBuilder.Setup(executionXml.Item, executionXml.Settings, Variables); queryArgsBuilder.Build(); var factory = ServiceLocator.GetResultSetResolverFactory(); var resolver = factory.Instantiate(new QueryResultSetResolverArgs(queryArgsBuilder.GetArgs())); var builder = new ResultSetServiceBuilder(); builder.Setup(resolver); var service = builder.GetService(); return(service); }
public void GetQuery_FilenameSpecified_RetrieveContentWithEuroSymbol() { //create a text file on disk var filename = DiskOnFile.CreatePhysicalFile("QueryFile€.mdx", "NBi.Testing.Unit.Xml.Resources.QueryFileEuro.mdx"); //Instantiate a Test Case and specify to find the sql in the file created above var testCase = new ExecutionXml() { Item = new QueryXml() { File = filename } }; // A Stream is needed to read the text file from the assembly. string expectedContent = "select [measure].[price €/Kg] on 0;"; Assert.AreEqual(expectedContent, ((QueryableXml)testCase.Item).GetQuery()); }
protected virtual IResultSetService InstantiateSystemUnderTest(ExecutionXml executionXml) { var commandFactory = new CommandProvider(); var argsBuilder = new QueryResolverArgsBuilder(ServiceLocator); var connectionString = executionXml.Item.GetConnectionString(); var statement = (executionXml.Item as QueryableXml).GetQuery(); IEnumerable <IQueryParameter> parameters = null; IEnumerable <IQueryTemplateVariable> templateVariables = null; int timeout = 0; var commandType = CommandType.Text; if (executionXml.BaseItem is QueryXml) { parameters = argsBuilder.BuildParameters(((QueryXml)executionXml.BaseItem).GetParameters()); templateVariables = ((QueryXml)executionXml.BaseItem).GetTemplateVariables(); timeout = ((QueryXml)executionXml.BaseItem).Timeout; } if (executionXml.BaseItem is ReportXml) { parameters = argsBuilder.BuildParameters(((ReportXml)executionXml.BaseItem).GetParameters()); } if (executionXml.BaseItem is ReportXml) { commandType = ((ReportXml)executionXml.BaseItem).GetCommandType(); } var queryArgs = new QueryResolverArgs(statement, connectionString, parameters, templateVariables, new TimeSpan(0, 0, timeout), commandType); var args = new QueryResultSetResolverArgs(queryArgs); var factory = ServiceLocator.GetResultSetResolverFactory(); var resolver = factory.Instantiate(args); var builder = new ResultSetServiceBuilder(); builder.Setup(resolver); var service = builder.GetService(); return(service); }
protected virtual IResultSetService InstantiateSystemUnderTest(ExecutionXml executionXml) { var commandBuilder = new CommandBuilder(); var connectionString = executionXml.Item.GetConnectionString(); var commandText = (executionXml.Item as QueryableXml).GetQuery(); IEnumerable <IQueryParameter> parameters = null; IEnumerable <IQueryTemplateVariable> variables = null; int timeout = 0; if (executionXml.BaseItem is QueryXml) { var paramBuilder = new QueryResolverArgsBuilder(); parameters = paramBuilder.BuildParameters(((QueryXml)executionXml.BaseItem).GetParameters()); variables = ((QueryXml)executionXml.BaseItem).GetVariables(); timeout = ((QueryXml)executionXml.BaseItem).Timeout; } if (executionXml.BaseItem is ReportXml) { var paramBuilder = new QueryResolverArgsBuilder(); parameters = paramBuilder.BuildParameters(((ReportXml)executionXml.BaseItem).GetParameters()); } var cmd = commandBuilder.Build(connectionString, commandText, parameters, variables, timeout); if (executionXml.BaseItem is ReportXml) { cmd.CommandType = ((ReportXml)executionXml.BaseItem).GetCommandType(); } var args = new QueryResultSetResolverArgs(new DbCommandQueryResolverArgs(cmd)); var factory = new ResultSetResolverFactory(); var resolver = factory.Instantiate(args); var builder = new ResultSetServiceBuilder(); builder.Setup(resolver); var service = builder.GetService(); return(service); }
public void Instantiate_ExecutionMatchPattern_TestCase() { var sutXml = new ExecutionXml(); var ctrXml = new MatchPatternXml(); var builderMockFactory = new Mock <ITestCaseBuilder>(); builderMockFactory.Setup(b => b.Setup(sutXml, ctrXml)); builderMockFactory.Setup(b => b.Build()); builderMockFactory.Setup(b => b.GetSystemUnderTest()).Returns(new SqlCommand()); builderMockFactory.Setup(b => b.GetConstraint()).Returns(new NBi.NUnit.Query.MatchPatternConstraint()); var builder = builderMockFactory.Object; var testCaseFactory = new TestCaseFactory(); testCaseFactory.Register(typeof(ExecutionXml), typeof(MatchPatternXml), builder); var tc = testCaseFactory.Instantiate(sutXml, ctrXml); Assert.That(tc, Is.Not.Null); builderMockFactory.VerifyAll(); }
public void Instantiate_QueryRowCount_TestCase() { var sutXml = new ExecutionXml(); var ctrXml = new RowCountXml(); var builderMockFactory = new Mock <ITestCaseBuilder>(); builderMockFactory.Setup(b => b.Setup(sutXml, ctrXml, TestConfiguration.Default, It.IsAny <Dictionary <string, ITestVariable> >())); builderMockFactory.Setup(b => b.Build()); builderMockFactory.Setup(b => b.GetSystemUnderTest()).Returns(new SqlCommand()); builderMockFactory.Setup(b => b.GetConstraint()).Returns(new RowCountConstraint(null)); var builder = builderMockFactory.Object; var testCaseFactory = new TestCaseFactory(); testCaseFactory.Register(typeof(ExecutionXml), typeof(RowCountXml), builder); var tc = testCaseFactory.Instantiate(sutXml, ctrXml); Assert.That(tc, Is.Not.Null); builderMockFactory.VerifyAll(); }
public void Instantiate_ExecutionEqualToOld_TestCase() { var sutXml = new ExecutionXml(); var ctrXml = new EqualToOldXml(); var builderMockFactory = new Mock <ITestCaseBuilder>(); builderMockFactory.Setup(b => b.Setup(sutXml, ctrXml, NBi.Core.Configuration.Configuration.Default, It.IsAny <Dictionary <string, ITestVariable> >(), It.IsAny <ServiceLocator>())); builderMockFactory.Setup(b => b.Build()); builderMockFactory.Setup(b => b.GetSystemUnderTest()).Returns(new RelationalCommand(new SqlCommand(), null, null)); builderMockFactory.Setup(b => b.GetConstraint()).Returns(new IsConstraint("x")); var builder = builderMockFactory.Object; var testCaseFactory = new TestCaseFactory(); testCaseFactory.Register(typeof(ExecutionXml), typeof(EqualToOldXml), builder); var tc = testCaseFactory.Instantiate(sutXml, ctrXml); Assert.That(tc, Is.Not.Null); builderMockFactory.VerifyAll(); }
public void Instantiate_QuerySyntacticallyCorrect_TestCase() { var sutXml = new ExecutionXml(); var ctrXml = new SyntacticallyCorrectXml(); var builderMockFactory = new Mock <ITestCaseBuilder>(); builderMockFactory.Setup(b => b.Setup(sutXml, ctrXml, TestConfiguration.Default)); builderMockFactory.Setup(b => b.Build()); builderMockFactory.Setup(b => b.GetSystemUnderTest()).Returns(new SqlCommand()); builderMockFactory.Setup(b => b.GetConstraint()).Returns(new SyntacticallyCorrectConstraint()); var builder = builderMockFactory.Object; var testCaseFactory = new TestCaseFactory(); testCaseFactory.Register(typeof(ExecutionXml), typeof(SyntacticallyCorrectXml), builder); var tc = testCaseFactory.Instantiate(sutXml, ctrXml); Assert.That(tc, Is.Not.Null); builderMockFactory.VerifyAll(); }
protected virtual IQuery GetQuery(ExecutionXml executionXml) { var commandFactory = ServiceLocator.GetCommandFactory(); var connectionString = executionXml.Item.GetConnectionString(); var commandText = (executionXml.Item as QueryableXml).GetQuery(); IEnumerable <IQueryParameter> parameters = null; IEnumerable <IQueryTemplateVariable> variables = null; var commandType = CommandType.Text; int timeout = 0; if (executionXml.BaseItem is QueryXml) { var builder = new QueryResolverArgsBuilder(ServiceLocator); parameters = builder.BuildParameters(((QueryXml)executionXml.BaseItem).GetParameters()); variables = ((QueryXml)executionXml.BaseItem).GetVariables(); timeout = ((QueryXml)executionXml.BaseItem).Timeout; } if (executionXml.BaseItem is ReportXml) { var builder = new QueryResolverArgsBuilder(ServiceLocator); parameters = builder.BuildParameters(((ReportXml)executionXml.BaseItem).GetParameters()); } if (executionXml.BaseItem is ReportXml) { commandType = ((ReportXml)executionXml.BaseItem).GetCommandType(); } var queryArgs = new QueryResolverArgs(commandText, connectionString, parameters, variables, new TimeSpan(0, 0, timeout), commandType); var factory = ServiceLocator.GetQueryResolverFactory(); var resolver = factory.Instantiate(queryArgs); var query = resolver.Execute(); return(query); }
public void GetQuery_FilenameSpecified_RetrieveContentOfFile() { //create a text file on disk var filename = DiskOnFile.CreatePhysicalFile("QueryFile.sql", "NBi.Testing.Unit.Xml.Resources.QueryFile.sql"); //Instantiate a Test Case and specify to find the sql in the file created above var testCase = new ExecutionXml() { Item = new QueryXml() { File = filename } }; // A Stream is needed to read the text file from the assembly. string expectedContent; using (Stream stream = Assembly.GetExecutingAssembly() .GetManifestResourceStream("NBi.Testing.Unit.Xml.Resources.QueryFile.sql")) using (StreamReader reader = new StreamReader(stream)) expectedContent = reader.ReadToEnd(); Assert.AreEqual(expectedContent, (testCase.Item as QueryableXml).GetQuery()); }
public void GetQuery_FileNameSpecified_RetrieveContentOfFile() { //Create the queryfile to read var filename = "Select all products.sql"; DiskOnFile.CreatePhysicalFile(filename, "NBi.Testing.Unit.Xml.Resources.SelectAllProducts.sql"); var systemUnderTest = new ExecutionXml() { Item = new QueryXml() { File = filename, Settings = new NBi.Xml.Settings.SettingsXml() { BasePath = DiskOnFile.GetDirectoryPath() } } }; // Check the properties of the object. Assert.That(((QueryXml)systemUnderTest.Item).File, Is.Not.Null.And.Not.Empty); Assert.That(((QueryXml)systemUnderTest.Item).InlineQuery, Is.Null); Assert.That(((QueryXml)systemUnderTest.Item).GetQuery(), Is.Not.Null.And.Not.Empty.And.ContainsSubstring("SELECT")); }
protected virtual IDbCommand InstantiateSystemUnderTest(ExecutionXml executionXml) { var cmd = GetCommand(executionXml); return(cmd); }
protected virtual IQuery InstantiateSystemUnderTest(ExecutionXml executionXml) { var query = GetQuery(executionXml); return(query); }