public void TestLoadStorePermissionsConfiguration() { // Setup var doc = new XmlDocument(); doc.LoadXml(StorePermissionsConfiguration); var alice = new MockUserIdentity("alice", new string[] { "public" }); var bob = new MockUserIdentity("bob", new string[] { "admin" }); var charles = new MockUserIdentity("charles", new string[] { "admin", "public" }); var anon = new MockUserIdentity(null, new string[0]); // Execute var h = new BrightstarServiceConfigurationSectionHandler(); var config = h.Create(null, null, doc.DocumentElement) as BrightstarServiceConfiguration; // Assert Assert.That(config, Is.Not.Null); Assert.That(config.StorePermissionsProvider, Is.Not.Null); Assert.That(config.StorePermissionsProvider.GetStorePermissions(alice, "foo"), Is.EqualTo(StorePermissions.All)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(bob, "foo"), Is.EqualTo(StorePermissions.All)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(charles, "foo"), Is.EqualTo(StorePermissions.All)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(anon, "foo"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(alice, "bar"), Is.EqualTo(StorePermissions.Read|StorePermissions.Export)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(bob, "bar"), Is.EqualTo(StorePermissions.All)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(charles, "bar"), Is.EqualTo(StorePermissions.Read)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(anon, "bar"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(alice, "bletch"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(bob, "bletch"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(charles, "bletch"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(anon, "bletch"), Is.EqualTo(StorePermissions.None)); }
public void TestLoadStorePermissionsConfiguration() { // Setup var doc = new XmlDocument(); doc.LoadXml(StorePermissionsConfiguration); var alice = new MockUserIdentity("alice", new string[] { "public" }); var bob = new MockUserIdentity("bob", new string[] { "admin" }); var charles = new MockUserIdentity("charles", new string[] { "admin", "public" }); var anon = new MockUserIdentity(null, new string[0]); // Execute var h = new BrightstarServiceConfigurationSectionHandler(); var config = h.Create(null, null, doc.DocumentElement) as BrightstarServiceConfiguration; // Assert Assert.That(config, Is.Not.Null); Assert.That(config.StorePermissionsProvider, Is.Not.Null); Assert.That(config.StorePermissionsProvider.GetStorePermissions(alice, "foo"), Is.EqualTo(StorePermissions.All)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(bob, "foo"), Is.EqualTo(StorePermissions.All)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(charles, "foo"), Is.EqualTo(StorePermissions.All)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(anon, "foo"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(alice, "bar"), Is.EqualTo(StorePermissions.Read | StorePermissions.Export)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(bob, "bar"), Is.EqualTo(StorePermissions.All)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(charles, "bar"), Is.EqualTo(StorePermissions.Read)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(anon, "bar"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(alice, "bletch"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(bob, "bletch"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(charles, "bletch"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(anon, "bletch"), Is.EqualTo(StorePermissions.None)); }
private static void ProcessPermissionsElement(XmlElement permissionsElement, IDictionary <string, SystemPermissions> permissonsDict) { SystemPermissions permissions; if (permissionsElement.HasAttribute(NameAttr) && permissionsElement.HasAttribute(PermissionsAttr) && BrightstarServiceConfigurationSectionHandler.TryGetSystemPermissionsAttributeValue(permissionsElement, PermissionsAttr, out permissions)) { permissonsDict[permissionsElement.GetAttribute(NameAttr)] = permissions; } }
public void TestFallbackDefaults() { var xml = new XmlDocument(); xml.LoadXml(FallbackDefaultsConfiguration); var handler = new BrightstarServiceConfigurationSectionHandler(); var config = handler.Create(null, null, xml.DocumentElement) as BrightstarServiceConfiguration; var mockUser = new Mock<IUserIdentity>(); Assert.That(config, Is.Not.Null); Assert.That(config.ConnectionString, Is.Not.Null); Assert.That(config.ConnectionString, Is.EqualTo("type=embedded;storesDirectory=c:\\brightstar\\")); Assert.That(config.StorePermissionsProvider, Is.Not.Null); Assert.That(config.StorePermissionsProvider, Is.InstanceOf<FallbackStorePermissionsProvider>()); Assert.That(config.StorePermissionsProvider.GetStorePermissions(null, "foo"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(mockUser.Object, "foo"), Is.EqualTo(StorePermissions.Read|StorePermissions.Export)); Assert.That(config.SystemPermissionsProvider, Is.Not.Null); Assert.That(config.SystemPermissionsProvider, Is.InstanceOf<FallbackSystemPermissionsProvider>()); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(null), Is.EqualTo(SystemPermissions.None)); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(mockUser.Object), Is.EqualTo(SystemPermissions.ListStores)); }
public void TestLoadSystemPermissionsConfiguration() { // Setup var doc = new XmlDocument(); doc.LoadXml(SystemPermissionsConfiguration); var alice = new MockUserIdentity("alice", new string[] {"public"}); var bob = new MockUserIdentity("bob", new string[] {"admin"}); var charles = new MockUserIdentity("charles", new string[] {"admin", "public"}); var anon = new MockUserIdentity(null, new string[0]); // Execute var h = new BrightstarServiceConfigurationSectionHandler(); var config = h.Create(null, null, doc.DocumentElement) as BrightstarServiceConfiguration; // Assert Assert.That(config, Is.Not.Null); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(alice), Is.EqualTo(SystemPermissions.None)); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(bob), Is.EqualTo(SystemPermissions.All)); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(charles), Is.EqualTo(SystemPermissions.All)); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(anon), Is.EqualTo(SystemPermissions.None)); }
public void TestFallbackDefaults() { var xml = new XmlDocument(); xml.LoadXml(FallbackDefaultsConfiguration); var handler = new BrightstarServiceConfigurationSectionHandler(); var config = handler.Create(null, null, xml.DocumentElement) as BrightstarServiceConfiguration; var mockUser = new Mock <IUserIdentity>(); Assert.That(config, Is.Not.Null); Assert.That(config.ConnectionString, Is.Not.Null); Assert.That(config.ConnectionString, Is.EqualTo("type=embedded;storesDirectory=c:\\brightstar\\")); Assert.That(config.StorePermissionsProvider, Is.Not.Null); Assert.That(config.StorePermissionsProvider, Is.InstanceOf <FallbackStorePermissionsProvider>()); Assert.That(config.StorePermissionsProvider.GetStorePermissions(null, "foo"), Is.EqualTo(StorePermissions.None)); Assert.That(config.StorePermissionsProvider.GetStorePermissions(mockUser.Object, "foo"), Is.EqualTo(StorePermissions.Read | StorePermissions.Export)); Assert.That(config.SystemPermissionsProvider, Is.Not.Null); Assert.That(config.SystemPermissionsProvider, Is.InstanceOf <FallbackSystemPermissionsProvider>()); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(null), Is.EqualTo(SystemPermissions.None)); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(mockUser.Object), Is.EqualTo(SystemPermissions.ListStores)); }
public void TestLoadSystemPermissionsConfiguration() { // Setup var doc = new XmlDocument(); doc.LoadXml(SystemPermissionsConfiguration); var alice = new MockUserIdentity("alice", new string[] { "public" }); var bob = new MockUserIdentity("bob", new string[] { "admin" }); var charles = new MockUserIdentity("charles", new string[] { "admin", "public" }); var anon = new MockUserIdentity(null, new string[0]); // Execute var h = new BrightstarServiceConfigurationSectionHandler(); var config = h.Create(null, null, doc.DocumentElement) as BrightstarServiceConfiguration; // Assert Assert.That(config, Is.Not.Null); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(alice), Is.EqualTo(SystemPermissions.None)); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(bob), Is.EqualTo(SystemPermissions.All)); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(charles), Is.EqualTo(SystemPermissions.All)); Assert.That(config.SystemPermissionsProvider.GetPermissionsForUser(anon), Is.EqualTo(SystemPermissions.None)); }