Пример #1
0
        public void SideBySideExecuteShouldNotCreateReplacementIndexIfIndexToReplaceIsIdentical()
        {
            var path = NewDataPath();

            using (var store = GetDocumentStore(new Options
            {
                Path = path
            }))
            {
                var indexName = new TestIndex().IndexName;

                new TestIndex().Execute(store);

                using (var session = store.OpenSession())
                {
                    session.Store(new Person {
                        FirstName = "John", LastName = "Doe"
                    });
                    session.SaveChanges();
                }

                WaitForIndexing(store);
                store.Maintenance.Send(new StopIndexingOperation());

                new TestIndex().Execute(store);

                Assert.Null(store.Maintenance.Send(new GetIndexOperation(Constants.Documents.Indexing.SideBySideIndexNamePrefix + indexName)));
            }
        }
Пример #2
0
        public void CanWaitForIndex()
        {
            using (var documentStore = GetDocumentStore())
            {
                var index = new TestIndex();
                documentStore.ExecuteIndex(index);
                documentStore.Initialize();

                using (var session = documentStore.OpenSession())
                {
                    session.Store(new Entity
                    {
                        Id         = "Entity/1",
                        Test       = "A",
                        Properties = new List <PropertyClass>
                        {
                            new PropertyClass
                            {
                                Property = "Property1"
                            }
                        }
                    });
                    session.SaveChanges();
                }

                using (var session = documentStore.OpenSession())
                {
                    var results = session.Query <TestIndex.Result, TestIndex>()
                                  .Customize(c => c.WaitForNonStaleResults())
                                  .ProjectInto <TestIndex.Result>()
                                  .ToList();

                    var errors = documentStore.Maintenance.Send(new GetIndexErrorsOperation(new[] { index.IndexName }));

                    Assert.Equal(0, errors[0].Errors.Length);
                    Assert.Equal(1, results.Count);
                }
            }
        }
Пример #3
0
        public void CanWaitForIndex()
        {
            using (var documentStore = GetDocumentStore())
            {
                var index = new TestIndex();
                documentStore.ExecuteIndex(index);
                documentStore.Initialize();

                using (var session = documentStore.OpenSession())
                {
                    session.Store(new Entity
                    {
                        Id         = "Entity/1",
                        Test       = "A",
                        Properties = new List <PropertyClass>
                        {
                            new PropertyClass
                            {
                                Property = "Property1"
                            }
                        }
                    });
                    session.SaveChanges();
                }

                using (var session = documentStore.OpenSession())
                {
                    var results = session.Query <TestIndex.Result, TestIndex>()
                                  .Customize(c => c.WaitForNonStaleResults())
                                  .ProjectInto <TestIndex.Result>()
                                  .ToList();

                    var errors = Indexes.WaitForIndexingErrors(documentStore, errorsShouldExists: false);
                    Assert.Null(errors);
                    Assert.Equal(1, results.Count);
                }
            }
        }