Beispiel #1
0
        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);
            }
        }
Beispiel #3
0
 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));
        }
Beispiel #5
0
        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();
        }
Beispiel #6
0
        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); });
        }
Beispiel #7
0
        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"));
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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'."));
        }
Beispiel #10
0
        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));
        }
Beispiel #11
0
        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."));
        }
Beispiel #12
0
        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>"));
        }
Beispiel #13
0
        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));
        }
Beispiel #14
0
        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"));
        }
Beispiel #16
0
        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));
        }
Beispiel #17
0
 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");
 }