public void ReportServerWriter_NullRepository() { MockLogger logger = new MockLogger(); ArgumentNullException ex = Assert.Throws <ArgumentNullException>( delegate { ReportServerWriter writer = new ReportServerWriter(null, logger); }); Assert.That(ex.Message, Is.EqualTo("Value cannot be null.\r\nParameter name: repository")); }
public void TestFixtureTearDown() { writer = null; }
public void TestFixtureSetUp() { SetupReportItems(); // Setup IReportServerRepository mock var reportServerRepositoryMock = new Mock <IReportServerRepository>(); // Setup IReportServerRepository.WriteReport Mocks reportServerRepositoryMock.Setup(r => r.WriteReport(null, It.IsAny <ReportItem>(), It.IsAny <bool>())) .Throws(new ArgumentException("reportPath")); reportServerRepositoryMock.Setup(r => r.WriteReport("", It.IsAny <ReportItem>(), It.IsAny <bool>())) .Throws(new ArgumentException("reportPath")); reportServerRepositoryMock.Setup(r => r.WriteReport(It.IsAny <string>(), null, It.IsAny <bool>())) .Throws(new ArgumentException("reportItem")); reportServerRepositoryMock.Setup(r => r.WriteReport(TesterUtility.GetParentPath(reportItem_NullDefinition), reportItem_NullDefinition, It.IsAny <bool>())) .Throws(new InvalidReportDefinitionException(reportItem_NullDefinition.Path)); reportServerRepositoryMock.Setup(r => r.WriteReport(TesterUtility.GetParentPath(reportItem_CompanySales), reportItem_CompanySales, It.IsAny <bool>())) .Returns(() => null); reportServerRepositoryMock.Setup(r => r.WriteReport(TesterUtility.GetParentPath(reportItem_SalesOrderDetail), reportItem_SalesOrderDetail, It.IsAny <bool>())) .Returns(() => null); reportServerRepositoryMock.Setup(r => r.WriteReport(TesterUtility.GetParentPath(reportItem_StoreContacts), reportItem_StoreContacts, It.IsAny <bool>())) .Returns(() => null); reportServerRepositoryMock.Setup(r => r.WriteReport(TesterUtility.GetParentPath(reportItem_Error), reportItem_Error, It.IsAny <bool>())) .Returns(() => new string[] { string.Format("Error writing report '{0}': Error!", reportItem_Error.Path) }); reportServerRepositoryMock.Setup(r => r.WriteReport(TesterUtility.GetParentPath(reportItem_AlreadyExists), reportItem_AlreadyExists, true)) .Returns(() => null); // Setup IReportServerRepository.ItemExists Mocks reportServerRepositoryMock.Setup(r => r.ItemExists(reportItem_AlreadyExists.Path, "Report")) .Returns(() => true); // Setup IReportServerRepository.ValidatePath Mocks reportServerRepositoryMock.Setup(r => r.ValidatePath(reportItem_CompanySales.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(reportItem_SalesOrderDetail.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(reportItem_StoreContacts.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(reportItem_AlreadyExists.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(reportItem_NullDefinition.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(reportItem_Error.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(null)) .Returns(() => false); reportServerRepositoryMock.Setup(r => r.ValidatePath("")) .Returns(() => false); reportServerRepositoryMock.Setup(r => r.ValidatePath(reportItem_InvalidPath.Path)) .Returns(() => false); reportServerRepositoryMock.Setup(r => r.ValidatePath(It.Is <string>(s => Regex.IsMatch(s ?? "", "[:?;@&=+$,\\*><|.\"]+") == true))) .Returns(() => false); // Setup IReportServerRepository.ValidateItemPath Mocks reportServerRepositoryMock.Setup(r => r.ValidateItemPath(reportItem_CompanySales.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidateItemPath(reportItem_SalesOrderDetail.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidateItemPath(reportItem_StoreContacts.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidateItemPath(reportItem_AlreadyExists.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidateItemPath(reportItem_NullDefinition.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidateItemPath(reportItem_Error.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidateItemPath(null)) .Returns(() => false); reportServerRepositoryMock.Setup(r => r.ValidateItemPath("")) .Returns(() => false); reportServerRepositoryMock.Setup(r => r.ValidateItemPath(reportItem_InvalidPath.Path)) .Returns(() => false); reportServerRepositoryMock.Setup(r => r.ValidateItemPath(It.Is <string>(s => Regex.IsMatch(s ?? "", "[:?;@&=+$,\\*><|.\"]+") == true))) .Returns(() => false); MockLogger logger = new MockLogger(); writer = new ReportServerWriter(reportServerRepositoryMock.Object, logger); }
public void TestFixtureSetUp() { rootFolderItem = new FolderItem() { Name = "SSRSMigrate_AW_Tests", Path = "/SSRSMigrate_AW_Tests", }; reportsFolderItem = new FolderItem() { Name = "Reports", Path = "/SSRSMigrate_AW_Tests/Reports", }; reportsSubFolderItem = new FolderItem() { Name = "Sub Folder", Path = "/SSRSMigrate_AW_Tests/Reports/Sub Folder", }; rootSubFolderItem = new FolderItem() { Name = "Data Sources", Path = "/SSRSMigrate_AW_Tests/Data Sources", }; alreadyExistsFolderItem = new FolderItem() { Name = "Already Exists", Path = "/SSRSMigrate_AW_Tests/Already Exists" }; invalidPathFolderItem = new FolderItem() { Name = "SSRSMigrate_AW_Tests.Tests", Path = "/SSRSMigrate_AW.Tests", }; errorFolderItem = new FolderItem() { Name = "ERROR", Path = "/SSRSMigrate_AW_Tests/ERROR" }; folderItems = new List <FolderItem>() { rootFolderItem, reportsFolderItem, reportsSubFolderItem, rootSubFolderItem, }; // Setup IReportServerRepository Mock reportServerRepositoryMock = new Mock <IReportServerRepository>(); // IReportServerRepository.CreateFolder Mocks reportServerRepositoryMock.Setup(r => r.CreateFolder(null, It.IsAny <string>())) .Throws(new ArgumentException("name")); reportServerRepositoryMock.Setup(r => r.CreateFolder("", It.IsAny <string>())) .Throws(new ArgumentException("name")); reportServerRepositoryMock.Setup(r => r.CreateFolder(It.IsAny <string>(), null)) .Throws(new ArgumentException("parentPath")); reportServerRepositoryMock.Setup(r => r.CreateFolder(It.IsAny <string>(), "")) .Throws(new ArgumentException("parentPath")); reportServerRepositoryMock.Setup(r => r.CreateFolder(rootFolderItem.Name, TesterUtility.GetParentPath(rootFolderItem))) .Returns(() => null); reportServerRepositoryMock.Setup(r => r.CreateFolder(reportsFolderItem.Name, TesterUtility.GetParentPath(reportsFolderItem))) .Returns(() => null); reportServerRepositoryMock.Setup(r => r.CreateFolder(reportsSubFolderItem.Name, TesterUtility.GetParentPath(reportsSubFolderItem))) .Returns(() => null); reportServerRepositoryMock.Setup(r => r.CreateFolder(rootSubFolderItem.Name, TesterUtility.GetParentPath(rootSubFolderItem))) .Returns(() => null); reportServerRepositoryMock.Setup(r => r.CreateFolder(alreadyExistsFolderItem.Name, TesterUtility.GetParentPath(alreadyExistsFolderItem))) .Returns(() => null); reportServerRepositoryMock.Setup(r => r.CreateFolder(errorFolderItem.Name, TesterUtility.GetParentPath(errorFolderItem))) .Returns(() => string.Format("Error writing folder '{0}': Error!", errorFolderItem.Path)); reportServerRepositoryMock.Setup(r => r.ItemExists(alreadyExistsFolderItem.Path, "Folder")) .Returns(() => true); // IReportServerRepository.ValidatePath Mocks reportServerRepositoryMock.Setup(r => r.ValidatePath(rootFolderItem.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(rootSubFolderItem.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(reportsFolderItem.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(reportsSubFolderItem.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(rootSubFolderItem.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(alreadyExistsFolderItem.Path)) .Returns(() => true); // Validate errorFolderItem.Path so we can mock the error returned by IReportServerRepository.CreateFolder reportServerRepositoryMock.Setup(r => r.ValidatePath(errorFolderItem.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(null)) .Returns(() => false); reportServerRepositoryMock.Setup(r => r.ValidatePath("")) .Returns(() => false); reportServerRepositoryMock.Setup(r => r.ValidatePath(It.Is <string>(s => Regex.IsMatch(s ?? "", "[:?;@&=+$,\\*><|.\"]+") == true))) .Returns(() => false); MockLogger logger = new MockLogger(); writer = new ReportServerWriter(reportServerRepositoryMock.Object, logger); }
public void TestFixtureSetUp() { dataSourceItem = new DataSourceItem() { CreatedBy = "DOMAIN\\user", CreationDate = DateTime.Parse("7/23/2014 8:28:43 AM"), Description = null, ID = Guid.NewGuid().ToString(), ModifiedBy = "DOMAIN\\user", ModifiedDate = DateTime.Parse("7/23/2014 8:28:43 AM"), Size = 414, VirtualPath = null, Name = "AWDataSource", Path = "/SSRSMigrate_AW_Tests/Data Sources/AWDataSource", ConnectString = "Data Source=(local)\\SQL2008;Initial Catalog=AdventureWorks2008", CredentialsRetrieval = "Integrated", Enabled = true, EnabledSpecified = true, Extension = "SQL", ImpersonateUser = false, ImpersonateUserSpecified = true, OriginalConnectStringExpressionBased = false, Password = null, Prompt = "Enter a user name and password to access the data source:", UseOriginalConnectString = false, UserName = null, WindowsCredentials = false }; dataSourceTwoItem = new DataSourceItem() { CreatedBy = "DOMAIN\\user", CreationDate = DateTime.Parse("7/23/2014 8:29:25 AM"), Description = null, ID = Guid.NewGuid().ToString(), ModifiedBy = "DOMAIN\\user", ModifiedDate = DateTime.Parse("7/23/2014 8:29:25 AM"), Size = 414, VirtualPath = null, Name = "Test Data Source", Path = "/SSRSMigrate_AW_Tests/Data Sources/Test Data Source", ConnectString = "Data Source=(local)\\SQL2008;Initial Catalog=AdventureWorks2008", CredentialsRetrieval = "Integrated", Enabled = true, EnabledSpecified = true, Extension = "SQL", ImpersonateUser = false, ImpersonateUserSpecified = true, OriginalConnectStringExpressionBased = false, Password = null, Prompt = "Enter a user name and password to access the data source:", UseOriginalConnectString = false, UserName = null, WindowsCredentials = false }; alreadyExistsDataSourceItem = new DataSourceItem() { CreatedBy = "DOMAIN\\user", CreationDate = DateTime.Parse("7/23/2014 8:29:25 AM"), Description = null, ID = Guid.NewGuid().ToString(), ModifiedBy = "DOMAIN\\user", ModifiedDate = DateTime.Parse("7/23/2014 8:29:25 AM"), Size = 414, VirtualPath = null, Name = "Already Exists Data Source", Path = "/SSRSMigrate_AW_Tests/Data Sources/Already Exists Data Source", ConnectString = "Data Source=(local)\\SQL2008;Initial Catalog=AdventureWorks2008", CredentialsRetrieval = "Integrated", Enabled = true, EnabledSpecified = true, Extension = "SQL", ImpersonateUser = false, ImpersonateUserSpecified = true, OriginalConnectStringExpressionBased = false, Password = null, Prompt = "Enter a user name and password to access the data source:", UseOriginalConnectString = false, UserName = null, WindowsCredentials = false }; invalidDataSourcePathItem = new DataSourceItem() { CreatedBy = "DOMAIN\\user", CreationDate = DateTime.Parse("7/23/2014 8:29:25 AM"), Description = null, ID = Guid.NewGuid().ToString(), ModifiedBy = "DOMAIN\\user", ModifiedDate = DateTime.Parse("7/23/2014 8:29:25 AM"), Size = 414, VirtualPath = null, Name = "Test.Data Source", Path = "/SSRSMigrate_AW_Tests/Data Sources/Test.Data Source", ConnectString = "Data Source=(local)\\SQL2008;Initial Catalog=AdventureWorks2008", CredentialsRetrieval = "Integrated", Enabled = true, EnabledSpecified = true, Extension = "SQL", ImpersonateUser = false, ImpersonateUserSpecified = true, OriginalConnectStringExpressionBased = false, Password = null, Prompt = "Enter a user name and password to access the data source:", UseOriginalConnectString = false, UserName = null, WindowsCredentials = false }; errorDataSourceItem = new DataSourceItem() { CreatedBy = "DOMAIN\\user", CreationDate = DateTime.Parse("7/23/2014 8:28:43 AM"), Description = null, ID = Guid.NewGuid().ToString(), ModifiedBy = "DOMAIN\\user", ModifiedDate = DateTime.Parse("7/23/2014 8:28:43 AM"), Size = 414, VirtualPath = null, Name = "ErrorDataSource", Path = "/SSRSMigrate_AW_Tests/Data Sources/ErrorDataSource", ConnectString = "Data Source=(local)\\SQL2008;Initial Catalog=AdventureWorks2008", CredentialsRetrieval = "Integrated", Enabled = true, EnabledSpecified = true, Extension = "SQL", ImpersonateUser = false, ImpersonateUserSpecified = true, OriginalConnectStringExpressionBased = false, Password = null, Prompt = "Enter a user name and password to access the data source:", UseOriginalConnectString = false, UserName = null, WindowsCredentials = false }; dataSourceItems = new List <DataSourceItem>() { dataSourceItem, dataSourceTwoItem }; // Setup IReportServerRepository mock var reportServerRepositoryMock = new Mock <IReportServerRepository>(); // Setup IReportServerRepository.WriteDataSource reportServerRepositoryMock.Setup(r => r.WriteDataSource(null, It.IsAny <DataSourceItem>(), It.IsAny <bool>())) .Throws(new ArgumentException("dataSourcePath")); reportServerRepositoryMock.Setup(r => r.WriteDataSource("", It.IsAny <DataSourceItem>(), It.IsAny <bool>())) .Throws(new ArgumentException("dataSourcePath")); reportServerRepositoryMock.Setup(r => r.WriteDataSource(It.IsAny <string>(), null, It.IsAny <bool>())) .Throws(new ArgumentException("dataSource")); reportServerRepositoryMock.Setup(r => r.WriteDataSource(TesterUtility.GetParentPath(dataSourceItem), dataSourceItem, It.IsAny <bool>())) .Returns(() => null); reportServerRepositoryMock.Setup(r => r.WriteDataSource(TesterUtility.GetParentPath(dataSourceTwoItem), dataSourceTwoItem, It.IsAny <bool>())) .Returns(() => null); reportServerRepositoryMock.Setup(r => r.WriteDataSource(TesterUtility.GetParentPath(errorDataSourceItem), errorDataSourceItem, It.IsAny <bool>())) .Returns(() => string.Format("Error writing data source '{0}': Error!", errorDataSourceItem.Path)); reportServerRepositoryMock.Setup(r => r.WriteDataSource(TesterUtility.GetParentPath(alreadyExistsDataSourceItem), alreadyExistsDataSourceItem, true)) .Returns(() => null); // Setup IReportServerRepository.ItemExists Mocks reportServerRepositoryMock.Setup(r => r.ItemExists(alreadyExistsDataSourceItem.Path, "DataSource")) .Returns(() => true); // Setup IReportServerRepository.ValidatePath Mocks reportServerRepositoryMock.Setup(r => r.ValidatePath(dataSourceItem.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(dataSourceTwoItem.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(alreadyExistsDataSourceItem.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath("/SSRSMigrate_AW_Tests")) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(errorDataSourceItem.Path)) .Returns(() => true); reportServerRepositoryMock.Setup(r => r.ValidatePath(null)) .Returns(() => false); reportServerRepositoryMock.Setup(r => r.ValidatePath("")) .Returns(() => false); reportServerRepositoryMock.Setup(r => r.ValidatePath(It.Is <string>(s => Regex.IsMatch(s ?? "", "[:?;@&=+$,\\*><|.\"]+") == true))) .Returns(() => false); MockLogger logger = new MockLogger(); writer = new ReportServerWriter(reportServerRepositoryMock.Object, logger); }