public void NoPermissions() { var ide = new IdentityDao { Id = "test", Name = "Test", }; string permissionExplanation = "Tengo:\r\n" + $" - Ningún permiso\r\n"; var query = $"¿Debería ser root?\r\n" + " No"; PrintTestTriedStarted(permissionExplanation + query); Assert.False(ide.IsRoot(), permissionExplanation + query); query = $"¿Debería poder '{nameof(Read)}' alguna cosa?\r\n" + " No"; PrintTestTriedStarted(permissionExplanation + query); Assert.False(ide.Can(Read).Something(), permissionExplanation + query); query = $"¿Debería poder {nameof(Edit)} en {nameof(Discriminators.Location.City.SanFrancisco)}?\r\n" + " No"; PrintTestTriedStarted(permissionExplanation + query); Assert.False(ide.Can(Edit).Instance(Discriminators.Location.City.SanFrancisco), permissionExplanation + query); }
public void RootPermission() { var ide = new IdentityDao { Id = "test", Name = "Test", Permissions = new[] { new PermissionDao { Value = true, Function = Admin.Id.ToString(), } }.ToList() }; string permissionExplanation = "Tengo:\r\n" + $" - Permiso ROOT\r\n"; var query = $"¿Debería ser root?\r\n" + " Si"; PrintTestTriedStarted(permissionExplanation + query); Assert.True(ide.IsRoot(), permissionExplanation + query); query = $"¿Debería poder '{nameof(Admin)}' cualquier cosa?\r\n" + " Si"; PrintTestTriedStarted(permissionExplanation + query); Assert.True(ide.Can(Admin).Anything(), permissionExplanation + query); query = $"¿Debería poder '{nameof(Admin)}' alguna cosa?\r\n" + " Si"; PrintTestTriedStarted(permissionExplanation + query); Assert.True(ide.Can(Admin).Something(), permissionExplanation + query); query = $"¿Debería poder '{nameof(Edit)}' en '{nameof(File.Document.Word.Word1)}'?\r\n" + " Si"; PrintTestTriedStarted(permissionExplanation + query); Assert.True(ide.Can(Edit).Instance(File.Document.Word.Word1), permissionExplanation + query); query = $"¿Debería poder '{nameof(Edit)}' las '{nameof(CityDao)}'?\r\n" + " Si"; PrintTestTriedStarted(permissionExplanation + query); Assert.True(ide.Can(Edit).Type <CityDao>(), permissionExplanation + query); }
public void CannotByType() { var ide = new IdentityDao { Id = "test", Name = "Test", Permissions = new[] { new PermissionDao { Value = true, Function = Edit.Id.ToString(), Scopes = new[] { new ScopeDao { Discriminator = Discriminators.Location.City.SanFrancisco, Propagation = ScopePropagation.ToMe } } }, new PermissionDao { Value = false, Function = Edit.Id.ToString(), Scopes = new[] { new ScopeDao { Discriminator = Discriminators.Location.State.California, Propagation = ScopePropagation.ToMe | ScopePropagation.ToInclusions } } } }.ToList() }; string permissionExplanation = "Tengo:\r\n" + $" - Concedido el permiso para {nameof(Edit)} en {nameof(Discriminators.Location.City.SanFrancisco)}\r\n" + $" - Denegado el permiso para {nameof(Edit)} en {nameof(Discriminators.Location.State.California)} y sus hijos\r\n"; var query = $"¿Debería ser root?\r\n" + " No"; PrintTestTriedStarted(permissionExplanation + query); Assert.False(ide.IsRoot(), permissionExplanation + query); query = $"¿Debería poder {nameof(Edit)} en {nameof(Discriminators.Location.City.SanFrancisco)}?\r\n" + " No"; PrintTestTriedStarted(permissionExplanation + query); Assert.False(ide.Can(Edit).Instance(Discriminators.Location.City.SanFrancisco), permissionExplanation + query); }
public void NoPermissions() { var ide = new IdentityDao { Id = "test", Name = "Test", }; Assert.False(ide.IsRoot(), "Tengo:\r\n" + $" - Ningún permiso\r\n" + $"¿Debería ser root?\r\n" + " No"); Assert.False(ide.Can(Read).Something(), "Tengo:\r\n" + $" - Ningún permiso\r\n" + $"¿Debería poder '{nameof(Read)}' alguna cosa?\r\n" + " No"); Assert.False(ide.Can(Edit).Instance(Discriminator.Location.City.SanFrancisco) , "Tengo:\r\n" + $" - Ningun permiso\r\n" + $"¿Debería poder {nameof(Edit)} en {nameof(Discriminator.Location.City.SanFrancisco)}?\r\n" + " No"); }