Exemplo n.º 1
0
        public async Task ShouldReloadAllStuffFromBlobCache()
        {
            var identity = Guid.NewGuid();

            _blobCache.GetAllObjects <ProviderModel>().Returns(Observable.Return(new[]
            {
                new ProviderModel
                {
                    Id    = identity,
                    Token = "12345",
                    Type  = typeof(LocalProvider).Name
                }
            }));

            var provider = new ProviderStorage(new Dictionary <string, Func <Guid, IProvider> >
            {
                [typeof(LocalProvider).Name] = id => new LocalProvider(id),
            }, _blobCache);

            await provider.Refresh();

            var providers = provider.Providers().AsAggregator();

            Assert.Equal(1, providers.Data.Count);
            Assert.Contains(providers.Data.Items, x => x is LocalProvider);
            Assert.DoesNotContain(providers.Data.Items, x => x is VkDocsProvider);
            Assert.DoesNotContain(providers.Data.Items, x => x is YandexDiskProvider);
            Assert.Equal(identity, providers.Data.Items.First().Id);
        }