public void PropertiesTest() { const string Title = "Test Title"; const string Description = "Test Description"; const string FileName = "TestReport.trdx"; const ReportVisibility Visibility = ReportVisibility.Detail; var report = new CustomReportDefinition( Title, Description, FileName, Visibility, new[] { new CustomReportSecurityConfiguration(100, 200), new CustomReportSecurityConfiguration(10, Constants.AllBusinessUnitsId), new CustomReportSecurityConfiguration(Constants.AllRolesId, 20) }); Assert.AreEqual(Title, report.Title); Assert.AreEqual(Description, report.Description); Assert.AreEqual(FileName, report.FileName); Assert.IsTrue(report.IsVisibleOnDetail); Assert.IsFalse(report.IsVisibleOnSearch); Assert.AreEqual(3, report.SecurityConfigurations.Count); Assert.IsTrue(report.SecurityConfigurations.Any(sc => sc.RoleId == 100 && sc.BusinessUnitId == 200)); Assert.IsTrue(report.SecurityConfigurations.Any(sc => sc.RoleId == 10 && sc.BusinessUnitId == Constants.AllBusinessUnitsId)); Assert.IsTrue(report.SecurityConfigurations.Any(sc => sc.RoleId == Constants.AllRolesId && sc.BusinessUnitId == 20)); }
public void VisibilityTest() { var searchReport = new CustomReportDefinition("test", "test", "test", ReportVisibility.Search, Enumerable.Empty<CustomReportSecurityConfiguration>()); var detailReport = new CustomReportDefinition("test", "test", "test", ReportVisibility.Detail, Enumerable.Empty<CustomReportSecurityConfiguration>()); var searchAndDetailReport = new CustomReportDefinition("test", "test", "test", ReportVisibility.Both, Enumerable.Empty<CustomReportSecurityConfiguration>()); Assert.IsTrue(searchReport.IsVisibleOnSearch); Assert.IsFalse(searchReport.IsVisibleOnDetail); Assert.IsFalse(detailReport.IsVisibleOnSearch); Assert.IsTrue(detailReport.IsVisibleOnDetail); Assert.IsTrue(searchAndDetailReport.IsVisibleOnSearch); Assert.IsTrue(searchAndDetailReport.IsVisibleOnDetail); }
public void UnauthenticatedUsersCannotViewReports() { var report = new CustomReportDefinition("test", "test", "test", ReportVisibility.Both, new[] { new CustomReportSecurityConfiguration(Constants.AllRolesId, Constants.AllBusinessUnitsId) }); var identity1 = Mock.Create<IMQ1Identity>(); Mock.Arrange(() => identity1.IsAuthenticated).Returns(false); Mock.Arrange(() => identity1.IsAdmin).Returns(false); var identity2 = Mock.Create<IMQ1Identity>(); Mock.Arrange(() => identity2.IsAuthenticated).Returns(true); Mock.Arrange(() => identity2.IsAdmin).Returns(false); Csla.ApplicationContext.User = new UnauthenticatedPrincipal(); Assert.IsFalse(report.CanView()); Csla.ApplicationContext.User = new GenericPrincipal(identity1, new string[] { }); Assert.IsFalse(report.CanView()); Csla.ApplicationContext.User = new GenericPrincipal(identity2, new string[] { }); Assert.IsTrue(report.CanView()); }
public void PermissionsTest() { var report = new CustomReportDefinition( "test", "test", "test", ReportVisibility.Both, new[] { new CustomReportSecurityConfiguration(Constants.AllRolesId, 1), new CustomReportSecurityConfiguration(2, Constants.AllBusinessUnitsId), new CustomReportSecurityConfiguration(5, 4) }); var identity1 = Mock.Create<IMQ1Identity>(); Mock.Arrange(() => identity1.IsAuthenticated).Returns(true); Mock.Arrange(() => identity1.IsAdmin).Returns(false); Mock.Arrange(() => identity1.RolesId).Returns(new List<int> { 10 }); Mock.Arrange(() => identity1.BusinessUnitId).Returns(1); var identity2 = Mock.Create<IMQ1Identity>(); Mock.Arrange(() => identity2.IsAuthenticated).Returns(true); Mock.Arrange(() => identity2.IsAdmin).Returns(false); Mock.Arrange(() => identity2.RolesId).Returns(new List<int> { 2 }); Mock.Arrange(() => identity2.BusinessUnitId).Returns(20); var identity3 = Mock.Create<IMQ1Identity>(); Mock.Arrange(() => identity3.IsAuthenticated).Returns(true); Mock.Arrange(() => identity3.IsAdmin).Returns(false); Mock.Arrange(() => identity3.RolesId).Returns(new List<int> { 3, 5 }); Mock.Arrange(() => identity3.BusinessUnitId).Returns(4); var identity4 = Mock.Create<IMQ1Identity>(); Mock.Arrange(() => identity4.IsAuthenticated).Returns(true); Mock.Arrange(() => identity4.IsAdmin).Returns(false); Mock.Arrange(() => identity4.RolesId).Returns(new List<int> { 10 }); Mock.Arrange(() => identity4.BusinessUnitId).Returns(10); Csla.ApplicationContext.User = new GenericPrincipal(identity1, new string[] { }); Assert.IsTrue(report.CanView()); Csla.ApplicationContext.User = new GenericPrincipal(identity2, new string[] { }); Assert.IsTrue(report.CanView()); Csla.ApplicationContext.User = new GenericPrincipal(identity3, new string[] { }); Assert.IsTrue(report.CanView()); Csla.ApplicationContext.User = new GenericPrincipal(identity4, new string[] { }); Assert.IsFalse(report.CanView()); }
public void AdminUserCanViewAllReports() { var report = new CustomReportDefinition("test", "test", "test", ReportVisibility.Both, new[] { new CustomReportSecurityConfiguration(1, 1) }); var identity = Mock.Create<IMQ1Identity>(); Mock.Arrange(() => identity.IsAuthenticated).Returns(true); Mock.Arrange(() => identity.IsAdmin).Returns(true); Mock.Arrange(() => identity.RolesId).Returns(new List<int> { 10 }); Mock.Arrange(() => identity.BusinessUnitId).Returns(10); Csla.ApplicationContext.User = new GenericPrincipal(identity, new string[] { }); Assert.IsTrue(report.CanView()); }