public async Task Should_index_many_documents()
        {
            var text = new Dictionary <string, string>
            {
                ["iv"] = "Hallo Welt"
            };

            var ids = new Guid[10000];

            for (var i = 0; i < ids.Length; i++)
            {
                ids[i] = Guid.NewGuid();
            }

            var watch = ValueStopwatch.StartNew();

            foreach (var id in ids)
            {
                await sut.IndexAsync(new Update { Text = text, Id = id });
            }

            sut.OnDeactivateAsync().Wait();

            var elapsed = watch.Stop();

            Assert.InRange(elapsed, 0, 1);
        }
        private async Task ExecuteAsync(Guid id, Func <TextIndexerGrain, Task> action)
        {
            var sut = new TextIndexerGrain(new IndexManager(Storage, A.Fake <ISemanticLog>()));

            try
            {
                await sut.ActivateAsync(id);

                await action(sut);
            }
            finally
            {
                await sut.OnDeactivateAsync();
            }
        }
Пример #3
0
        public async Task Should_read_index_and_retrieve()
        {
            await AddInvariantContent("Hello", "World", false);

            await sut.DeactivateAsync(true);

            var other = new TextIndexerGrain(assetStore);

            try
            {
                await other.ActivateAsync(schemaId);

                await TestSearchAsync(ids1, "Hello", grain : other);
                await TestSearchAsync(ids2, "World", grain : other);
            }
            finally
            {
                await other.OnDeactivateAsync();
            }
        }
Пример #4
0
 public void Dispose()
 {
     sut.OnDeactivateAsync().Wait();
 }