public TextIndexerBenchmark()
        {
            var factory = new IndexManager(new FileIndexStorage(), A.Fake <ISemanticLog>());

            sut = new TextIndexerGrain(factory);
            sut.ActivateAsync(schemaId).Wait();
        }
Пример #2
0
        public TextIndexerGrainTests()
        {
            context = new SearchContext
            {
                Languages = new HashSet <string> {
                    "de", "en"
                }
            };

            sut = new TextIndexerGrain(assetStore);
            sut.ActivateAsync(schemaId).Wait();
        }
        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();
            }
        }
        private async Task TestSearchAsync(TextIndexerGrain grain, List <Guid>?expected, string text, Scope target = Scope.Draft)
        {
            context.Scope = target;

            var result = await grain.SearchAsync(text, context);

            if (expected != null)
            {
                Assert.Equal(expected, result);
            }
            else
            {
                Assert.Empty(result);
            }
        }
        private async Task AddInvariantContent(TextIndexerGrain grain, string text1, string text2, bool onlyDraft = false)
        {
            var content1 = new Dictionary <string, string>
            {
                ["iv"] = text1
            };

            var content2 = new Dictionary <string, string>
            {
                ["iv"] = text2
            };

            await grain.IndexAsync(new Update { Id = ids1[0], Text = content1, OnlyDraft = onlyDraft });

            await grain.IndexAsync(new Update { Id = ids2[0], Text = content2, OnlyDraft = onlyDraft });
        }
        private async Task AddLocalizedContent(TextIndexerGrain grain)
        {
            var germanText = new Dictionary <string, string>
            {
                ["de"] = "Stadt und Umgebung and whatever"
            };

            var englishText = new Dictionary <string, string>
            {
                ["en"] = "City and Surroundings und sonstiges"
            };

            await grain.IndexAsync(new Update { Id = ids1[0], Text = germanText, OnlyDraft = true });

            await grain.IndexAsync(new Update { Id = ids2[0], Text = englishText, OnlyDraft = true });
        }
Пример #7
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();
            }
        }
        private async Task CopyAsync(TextIndexerGrain grain, bool fromDraft)
        {
            await grain.CopyAsync(ids1[0], fromDraft);

            await grain.CopyAsync(ids2[0], fromDraft);
        }
 private async Task DeleteAsync(TextIndexerGrain grain, Guid id)
 {
     await grain.DeleteAsync(id);
 }