public void SetUp() { var rs = GetReportingService(); if (rs.GetItemType("/SharedDatasetFolder") == "Folder") { rs.DeleteItem("/SharedDatasetFolder"); } rs.CreateFolder("SharedDatasetFolder", "/", null); SharedDatasetPath = FileOnDisk.CreatePhysicalFile("Employee_Sales_Summary.rdl", "RsPackage.Testing.Resources.Employee_Sales_Summary.rdl"); SharedDatasetPaths = new string[4]; SharedDatasetPaths[0] = FileOnDisk.CreatePhysicalFile("EmployeeSalesDetail.rsd", "RsPackage.Testing.Resources.EmployeeSalesDetail.rsd"); SharedDatasetPaths[1] = FileOnDisk.CreatePhysicalFile("EmployeeSalesYearOverYear.rsd", "RsPackage.Testing.Resources.EmployeeSalesYearOverYear.rsd"); SharedDatasetPaths[2] = FileOnDisk.CreatePhysicalFile("EmpSalesMonth.rsd", "RsPackage.Testing.Resources.EmpSalesMonth.rsd"); SharedDatasetPaths[3] = FileOnDisk.CreatePhysicalFile("SalesEmployees.rsd", "RsPackage.Testing.Resources.SalesEmployees.rsd"); if (rs.GetItemType("/Data Sources") != "Folder") { rs.CreateFolder("Data Sources", "/", null); } if (rs.GetItemType("/Data Sources/AdventureWorks") != "DataSource") { var ds = new DataSourceDefinition() { ConnectString = "Data Source=localhost;Initial Catalog=msdb;Integreted Security=SSPI", Extension = "SQL" }; rs.CreateDataSource("AdventureWorks", "/Data Sources", false, ds, null); } }
public void SetUp() { var rs = GetReportingService(); if (rs.GetItemType("/ReportFolder") == "Folder") { rs.DeleteItem("/ReportFolder"); } rs.CreateFolder("ReportFolder", "/", null); ProductCatalogPath = FileOnDisk.CreatePhysicalFile("ProductCatalog.rdl", "RsPackage.Testing.Resources.Product Catalog.rdl"); EmployeeSalesSummaryPath = FileOnDisk.CreatePhysicalFile("Employee_Sales_Summary.rdl", "RsPackage.Testing.Resources.Employee_Sales_Summary.rdl"); if (rs.GetItemType("/Data Sources") != "Folder") { rs.CreateFolder("Data Sources", "/", null); } if (rs.GetItemType("/Data Sources/AdventureWorks") != "DataSource") { var ds = new DataSourceDefinition() { ConnectString = "Data Source=localhost;Initial Catalog=msdb;Integreted Security=SSPI", Extension = "SQL" }; rs.CreateDataSource("AdventureWorks", "/Data Sources", false, ds, null); } }
public void Setup() { includedFilename = FileOnDisk.CreatePhysicalFile("TestSuiteIncludedTestSuite.xml", $"{GetType().Assembly.GetName().Name}.Resources.TestSuiteIncludedTestSuite.xml"); Console.WriteLine("Included file created at '{0}'", includedFilename); filename = FileOnDisk.CreatePhysicalFile("TestSuiteWithIncludeTestSuite.nbits", $"{GetType().Assembly.GetName().Name}.Resources.TestSuiteWithIncludeTestSuite.xml"); Console.WriteLine("Main file created at '{0}'", filename); }
public void Execute_Batch_TablesAreCreated() { //Create table CleanTemporaryTable("TablexxxOne", ConnectionStringReader.GetLocalSqlClient()); CleanTemporaryTable("TablexxxTwo", ConnectionStringReader.GetLocalSqlClient()); //Build the fullpath for the file to read var fileName = FileOnDisk.CreatePhysicalFile(BATCH_FILE, $"{GetType().Namespace}.Resources.{BATCH_FILE}"); //Apply the test var runner = new BatchRunnerSmo(fileName, ConnectionStringReader.GetLocalSqlClient()); runner.Execute(); var countTable = 0; using (var conn = new SqlConnection(ConnectionStringReader.GetLocalSqlClient())) { using (var cmd = new SqlCommand()) { cmd.Connection = conn; conn.Open(); cmd.CommandText = "select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = 'dbo' and TABLE_NAME like 'Tablexxx%'"; countTable = (int)cmd.ExecuteScalar(); } } Assert.That(countTable, Is.EqualTo(2)); }
protected void CreateSharedDataSet(string filename) { string file = @"\Temp\" + filename + ".rsd"; var resource = "NBi.Testing.Core.Report.Resources." + filename + ".rsd"; var physicalFilename = FileOnDisk.CreatePhysicalFile(file, resource); ReportFileDirectory = Path.GetDirectoryName(physicalFilename) + Path.DirectorySeparatorChar.ToString(); }
public void Load_InvalidMultipleFile_ThrowException() { var filename = FileOnDisk.CreatePhysicalFile("TestSuiteInvalidSyntaxMultiple.xml", $"{GetType().Assembly.GetName().Name}.Resources.XmlManagerInvalidSyntaxMultiple.xml"); var manager = new XmlManager(); Assert.Throws <ArgumentException>(delegate { manager.Load(filename); }); }
public void Load_InvalidFormat_ThrowException() { var filename = FileOnDisk.CreatePhysicalFile("InvalidFormat.nbits", $"{GetType().Assembly.GetName().Name}.Resources.XmlManagerInvalidFormat.xml"); var manager = new XmlManager(); var ex = Assert.Throws <ArgumentException>(delegate { manager.Load(filename); }); Assert.That(ex.Message, Does.Contain("At line 14")); }
public void Load_InvalidFile_ExceptionHasCorrectInformation() { var filename = FileOnDisk.CreatePhysicalFile("TestSuiteInvalidSyntax.xml", $"{GetType().Assembly.GetName().Name}.Resources.XmlManagerInvalidSyntax.xml"); var manager = new XmlManager(); var exception = Assert.Throws <ArgumentException>(delegate { manager.Load(filename); }); Assert.That(exception.Message, Does.Contain("1 error has been found during the validation of the test-suite")); Assert.That(exception.Message, Does.Contain("\tAt line 4: The element 'test' in namespace 'http://NBi/TestSuite' has invalid child element 'syntacticallyCorrect' in namespace 'http://NBi/TestSuite'.")); }
public void Load_ValidFile_Success() { var filename = FileOnDisk.CreatePhysicalFile("TestSuite.xml", $"{GetType().Assembly.GetName().Name}.Resources.XmlManagerSample.xml"); var manager = new XmlManager(); manager.Load(filename); Assert.That(manager.TestSuite, Is.Not.Null); }
public void Load_ValidFileImplicitLanguage_LanguageSetToCSharp() { var filename = FileOnDisk.CreatePhysicalFile("TestContentIsCorrect.xml", $"{GetType().Assembly.GetName().Name}.Resources.TestSuiteWithVariablesTestSuite.xml"); var manager = new XmlManager(); manager.Load(filename); Assert.That(manager.TestSuite.Variables[1].Script.Language, Is.EqualTo(LanguageType.CSharp)); }
public void Load_ValidFile_TestContentIsCorrect() { var filename = FileOnDisk.CreatePhysicalFile("TestContentIsCorrect.xml", $"{GetType().Assembly.GetName().Name}.Resources.XmlManagerSample.xml"); var manager = new XmlManager(); manager.Load(filename); Assert.That(manager.TestSuite.Tests[0].Content, Is.Not.Null); Assert.That(manager.TestSuite.Tests[0].Content, Does.EndWith("</test>")); }
public void Load_InvalidMultipleFile_ExceptionHasCorrectInformation() { var filename = FileOnDisk.CreatePhysicalFile("TestSuiteInvalidSyntaxMultiple.xml", $"{GetType().Assembly.GetName().Name}.Resources.XmlManagerInvalidSyntaxMultiple.xml"); var manager = new XmlManager(); var exception = Assert.Throws <ArgumentException>(delegate { manager.Load(filename); }); Assert.That(exception.Message, Does.Contain("2 errors have been found during the validation of the test-suite")); Assert.That(exception.Message, Does.Contain("At line 6: The element 'execution' in namespace 'http://NBi/TestSuite' has invalid child element 'sql' in namespace 'http://NBi/TestSuite'.")); Assert.That(exception.Message, Does.Contain("At line 11: The 'name' attribute is not declared.")); }
public void Execute_ExistingType_GetTypeForStaticUsage() { //Build the SUT var am = new AssemblyManager(); //Call the method to test var actual = am.GetStatic(FileOnDisk.GetDirectoryPath() + "NBi.Testing.Core.dll", "NBi.Testing.Core.Assemblies.Resource.StaticKlass"); //Assertion Assert.That(actual.FullName, Is.EqualTo("NBi.Testing.Core.Assemblies.Resource.StaticKlass")); }
public void Load_ValidFile_Success() { var filename = FileOnDisk.CreatePhysicalFile("TestSuite.xml", $"{GetType().Assembly.GetName().Name}.Resources.TestSuiteWithVariablesTestSuite.xml"); var manager = new XmlManager(); manager.Load(filename); Assert.That(manager.TestSuite, Is.Not.Null); Assert.That(manager.TestSuite.Tests, Has.Count.EqualTo(1)); }
public void TearDownTest() { if (Directory.Exists(FileOnDisk.GetDirectoryPath() + @"\Queries")) { Directory.Delete(FileOnDisk.GetDirectoryPath() + @"\Queries", true); } if (Directory.Exists(FileOnDisk.GetDirectoryPath() + @"\Expect")) { Directory.Delete(FileOnDisk.GetDirectoryPath() + @"\Expect", true); } }
public void GetInstance_ExistingTypeConstructoreWithZeroParam_InstantiatedAndNotNull() { //Build the SUT var am = new AssemblyManager(); //Call the method to test var actual = am.GetInstance(FileOnDisk.GetDirectoryPath() + "NBi.Testing.Core.dll", "NBi.Testing.Core.Assemblies.Resource.Klass", null); //Assertion Assert.IsInstanceOf <NBi.Testing.Core.Assemblies.Resource.Klass>(actual); Assert.That(actual, Is.Not.Null); }
public void Load_ValidFile_VariablesLoaded() { var filename = FileOnDisk.CreatePhysicalFile("TestContentIsCorrect.xml", $"{GetType().Assembly.GetName().Name}.Resources.TestSuiteWithVariablesTestSuite.xml"); var manager = new XmlManager(); manager.Load(filename); Assert.That(manager.TestSuite.Variables, Has.Count.EqualTo(2)); Assert.That(manager.TestSuite.Variables[0].Name, Is.EqualTo("year")); Assert.That(manager.TestSuite.Variables[0].Script.Language, Is.EqualTo(LanguageType.CSharp)); Assert.That(manager.TestSuite.Variables[0].Script.Code, Is.EqualTo("DateTime.Now.Year")); }
public void ToReportingService_IntegratedSecurity() { var filename = FileOnDisk.CreatePhysicalFile("AdventureWorks_Integrated.rds", "RsPackage.Testing.Resources.AdventureWorks.rds"); var visualStudioDoc = new XmlDocument(); visualStudioDoc.Load(filename); var transformer = new DataSourceTransformer(); var reportingServiceDoc = transformer.ToReportingService(visualStudioDoc); Assert.That(reportingServiceDoc.FirstChild.NodeType, Is.EqualTo(XmlNodeType.XmlDeclaration)); Assert.That(reportingServiceDoc.ChildNodes.Count, Is.EqualTo(2)); Assert.That(reportingServiceDoc.LastChild.NodeType, Is.EqualTo(XmlNodeType.Element)); Assert.That(reportingServiceDoc.LastChild.ChildNodes.Count, Is.EqualTo(4)); Assert.That(reportingServiceDoc.LastChild.ChildNodes[0].Name, Is.EqualTo("Extension")); Assert.That(reportingServiceDoc.LastChild.ChildNodes[0].InnerText, Is.EqualTo("SQL")); Assert.That(reportingServiceDoc.LastChild.ChildNodes[1].Name, Is.EqualTo("ConnectString")); Assert.That(reportingServiceDoc.LastChild.ChildNodes[2].Name, Is.EqualTo("CredentialRetrieval")); Assert.That(reportingServiceDoc.LastChild.ChildNodes[2].InnerText, Is.EqualTo("Integrated")); Assert.That(reportingServiceDoc.LastChild.ChildNodes[3].Name, Is.EqualTo("Enabled")); Assert.That(reportingServiceDoc.LastChild.ChildNodes[3].InnerText, Is.EqualTo("True")); }
public void Load_ValidFileInSubFolder_TwoTestsLoaded() { //Delete the eventually existing file if (File.Exists(filename)) { File.Delete(filename); } if (File.Exists(includedFilename)) { File.Delete(includedFilename); } //Recreate them in a subdirectory includedFilename = FileOnDisk.CreatePhysicalFile(@"Dtd\TestSuiteIncludedTestSuite.xml", $"{GetType().Assembly.GetName().Name}.Resources.TestSuiteIncludedTestSuite.xml"); Console.WriteLine("Included file created at '{0}'", includedFilename); filename = FileOnDisk.CreatePhysicalFile(@"Dtd\TestSuiteWithIncludeTestSuite.nbits", $"{GetType().Assembly.GetName().Name}.Resources.TestSuiteWithIncludeTestSuite.xml"); Console.WriteLine("Main file created at '{0}'", filename); var manager = new XmlManager(); manager.Load(filename, true); Assert.That(manager.TestSuite.Tests, Has.Count.EqualTo(2)); }
private IDecorationCommandArgs GetCommandArgsMock(Type type) { switch (type) { case Type x when x == typeof(IBatchRunCommandArgs): return(Mock.Of <IBatchRunCommandArgs>(m => m.ConnectionString == ConnectionStringReader.GetSqlClient())); case Type x when x == typeof(ILoadCommandArgs): return(Mock.Of <ILoadCommandArgs>(m => m.ConnectionString == ConnectionStringReader.GetSqlClient())); case Type x when x == typeof(IResetCommandArgs): return(Mock.Of <IResetCommandArgs>(m => m.ConnectionString == ConnectionStringReader.GetSqlClient())); case Type x when x == typeof(IEtlRunCommandArgs): return(Mock.Of <IEtlRunCommandArgs>()); case Type x when x == typeof(IConnectionWaitCommandArgs): return(Mock.Of <IConnectionWaitCommandArgs>()); case Type x when x == typeof(IDeleteCommandArgs): return(Mock.Of <IDeleteCommandArgs>()); case Type x when x == typeof(IDeletePatternCommandArgs): return(Mock.Of <IDeletePatternCommandArgs>()); case Type x when x == typeof(IDeleteExtensionCommandArgs): return(Mock.Of <IDeleteExtensionCommandArgs>()); case Type x when x == typeof(ICopyCommandArgs): return(Mock.Of <ICopyCommandArgs>()); case Type x when x == typeof(ICopyPatternCommandArgs): return(Mock.Of <ICopyPatternCommandArgs>()); case Type x when x == typeof(ICopyExtensionCommandArgs): return(Mock.Of <ICopyExtensionCommandArgs>()); case Type x when x == typeof(IKillCommandArgs): return(Mock.Of <IKillCommandArgs>()); case Type x when x == typeof(IRunCommandArgs): return(Mock.Of <IRunCommandArgs>()); case Type x when x == typeof(IStartCommandArgs): return(Mock.Of <IStartCommandArgs>()); case Type x when x == typeof(IStopCommandArgs): return(Mock.Of <IStopCommandArgs>()); case Type x when x == typeof(IWaitCommandArgs): return(Mock.Of <IWaitCommandArgs>()); case Type x when x == typeof(IParallelCommandArgs): return(Mock.Of <IParallelCommandArgs>()); case Type x when x == typeof(ISequentialCommandArgs): return(Mock.Of <ISequentialCommandArgs>()); case Type x when x == typeof(ICustomCommandArgs): return(Mock.Of <ICustomCommandArgs> ( y => y.AssemblyPath == new LiteralScalarResolver <string>($@"{FileOnDisk.GetDirectoryPath()}\NBi.Testing.Core.dll") && y.TypeName == new LiteralScalarResolver <string>("NBi.Testing.Core.Resources.CustomCommand") )); default: throw new ArgumentOutOfRangeException(); } }
public void Setup() { testSuite = FileOnDisk.CreatePhysicalFile("TestSuiteForExternalSettings.nbits", $"{GetType().Assembly.GetName().Name}.Resources.TestSuiteForExternalSettings.xml"); settings = FileOnDisk.CreatePhysicalFile("SettingsExternal.nbiset", $"{GetType().Assembly.GetName().Name}.Resources.SettingsExternal.xml"); }
private IDecorationConditionArgs GetConditionArgsMock(Type type) { switch (type) { case Type x when x == typeof(IRunningConditionArgs): return(Mock.Of <IRunningConditionArgs>()); case Type x when x == typeof(FolderExistsConditionArgs): return(new FolderExistsConditionArgs(string.Empty, null, null, null)); case Type x when x == typeof(FileExistsConditionArgs): return(new FileExistsConditionArgs(string.Empty, null, null, null)); case Type x when x == typeof(ICustomConditionArgs): return(Mock.Of <ICustomConditionArgs> ( y => y.AssemblyPath == new LiteralScalarResolver <string>($@"{FileOnDisk.GetDirectoryPath()}\NBi.Testing.Core.dll") && y.TypeName == new LiteralScalarResolver <string>("NBi.Testing.Core.Resources.CustomConditionTrue") )); default: throw new ArgumentOutOfRangeException(); } }