public SecurableItemsModuleTests() { _existingClients = new List <Client> { new Client { Id = FabricSampleAppClientId, Name = "Sample Fabric Client Application", TopLevelSecurableItem = new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, Name = FabricSampleAppClientId, ClientOwner = FabricSampleAppClientId, SecurableItems = new List <SecurableItem> { new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, ClientOwner = FabricSampleAppClientId, Name = "inner-securable-1" }, new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, ClientOwner = FabricSampleAppClientId, Name = "inner-securable-2" } } } }, new Client { Id = DosClientId, Name = "DOS Metadata Service", TopLevelSecurableItem = new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, Name = DosClientId, ClientOwner = DosClientId, SecurableItems = new List <SecurableItem> { new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, ClientOwner = "dos-metadata-service", Name = "dos-top-level-app-sec-item" }, } } } }; var dosSecurableItems = new List <SecurableItem> { new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.DosGrain, ClientOwner = DosClientId, Name = "datamarts" } }; _mockClientStore = new Mock <IClientStore>() .SetupGetClient(_existingClients) .SetupAddClient(); var secItems = _existingClients .Select(c => c.TopLevelSecurableItem) .Union(_existingClients.SelectMany(c => c.TopLevelSecurableItem.SecurableItems)) .Union(dosSecurableItems); _mockSecurableItemStore = new Mock <ISecurableItemStore>() .SetupGetSecurableItem(secItems.ToList()); _mockLogger = new Mock <ILogger>(); MockGrainStore.SetupMock(new List <Grain> { new Grain { Id = Guid.NewGuid(), Name = Domain.Defaults.Authorization.AppGrain }, new Grain { Id = Guid.NewGuid(), Name = Domain.Defaults.Authorization.DosGrain, RequiredWriteScopes = new List <string> { "fabric/authorization.dos.write" }, IsShared = true } }); }
public GrainModuleTests(ITestOutputHelper output) { this.output = output; _existingClients = new List <Client> { new Client { Id = FabricSampleAppClientId, Name = "Sample Fabric Client Application", TopLevelSecurableItem = new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, Name = FabricSampleAppClientId, ClientOwner = FabricSampleAppClientId, SecurableItems = new List <SecurableItem> { new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, ClientOwner = FabricSampleAppClientId, Name = "inner-securable-1" }, new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, ClientOwner = FabricSampleAppClientId, Name = "inner-securable-2" } } } }, new Client { Id = DosClientId, Name = "DOS Metadata Service", TopLevelSecurableItem = new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, Name = DosClientId, ClientOwner = DosClientId, SecurableItems = new List <SecurableItem> { new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.AppGrain, ClientOwner = "dos-metadata-service", Name = "dos-top-level-app-sec-item" }, } } } }; var dosSecurableItems = new List <SecurableItem> { new SecurableItem { Id = Guid.NewGuid(), Grain = Domain.Defaults.Authorization.DosGrain, ClientOwner = DosClientId, Name = "datamarts" }, new SecurableItem { Name = "level_three_a", Grain = Domain.Defaults.Authorization.DosGrain, IsDeleted = true, SecurableItems = new List <SecurableItem> { new SecurableItem { Name = "level_two", IsDeleted = true, SecurableItems = new List <SecurableItem> { new SecurableItem { Name = "level_three_a", IsDeleted = true } } } } } }; _mockClientStore = new Mock <IClientStore>() .SetupGetClient(_existingClients) .SetupAddClient(); MockGrainStore.SetupGetAllGrain(GetGrainWithDeepGraph()); var secItems = _existingClients .Select(c => c.TopLevelSecurableItem) .Union(_existingClients.SelectMany(c => c.TopLevelSecurableItem.SecurableItems)) .Union(dosSecurableItems); MockSecurableItemStore.SetupGetSecurableItem(secItems.ToList()); _mockLogger = new Mock <ILogger>(); }