public MyAppElasticConfiguration(IQueue<WorkItemData> workItemQueue, ICacheClient cacheClient, IMessageBus messageBus, ILoggerFactory loggerFactory) : base(workItemQueue, cacheClient, messageBus, loggerFactory) {
     AddIndex(Identities = new IdentityIndex(this));
     AddIndex(Employees = new EmployeeIndex(this));
     AddIndex(MonthlyEmployees = new MonthlyEmployeeIndex(this, 1));
     AddIndex(DailyLogEvents = new DailyLogEventIndex(this));
     AddIndex(MonthlyLogEvents = new MonthlyLogEventIndex(this));
     AddIndex(ParentChild = new ParentChildIndex(this));
 }
Ejemplo n.º 2
0
 public MyAppElasticConfiguration(IQueue <WorkItemData> workItemQueue, ICacheClient cacheClient, IMessageBus messageBus, ILoggerFactory loggerFactory) : base(workItemQueue, cacheClient, messageBus, loggerFactory)
 {
     AddIndex(Identities       = new IdentityIndex(this));
     AddIndex(Employees        = new EmployeeIndex(this));
     AddIndex(MonthlyEmployees = new MonthlyEmployeeIndex(this, 1));
     AddIndex(DailyLogEvents   = new DailyLogEventIndex(this));
     AddIndex(MonthlyLogEvents = new MonthlyLogEventIndex(this));
     AddIndex(ParentChild      = new ParentChildIndex(this));
 }
        public async Task CanReindexSameIndexAsync()
        {
            var index = new EmployeeIndex(_configuration);
            await index.DeleteAsync();

            using (new DisposableAction(() => index.DeleteAsync().GetAwaiter().GetResult())) {
                await index.ConfigureAsync();

                Assert.True((await _client.Indices.ExistsAsync(index.Name)).Exists);

                IEmployeeRepository repository = new EmployeeRepository(_configuration);
                var employee = await repository.AddAsync(EmployeeGenerator.Default, o => o.ImmediateConsistency());

                Assert.NotNull(employee?.Id);

                var countResponse = await _client.CountAsync <Employee>();

                _logger.LogRequest(countResponse);
                Assert.True(countResponse.IsValid);
                Assert.Equal(1, countResponse.Count);

                var mappingResponse = await _client.Indices.GetMappingAsync <Employee>();

                _logger.LogRequest(mappingResponse);
                Assert.True(mappingResponse.IsValid);
                Assert.NotNull(mappingResponse.GetMappingFor(index.Name));

                var newIndex = new EmployeeIndexWithYearsEmployed(_configuration);
                await newIndex.ReindexAsync();

                countResponse = await _client.CountAsync <Employee>();

                _logger.LogRequest(countResponse);
                Assert.True(countResponse.IsValid);
                Assert.Equal(1, countResponse.Count);

                string version1Mappings = ToJson(mappingResponse.GetMappingFor <Employee>());
                mappingResponse = await _client.Indices.GetMappingAsync <Employee>();

                _logger.LogRequest(mappingResponse);
                Assert.True(mappingResponse.IsValid);
                Assert.NotNull(mappingResponse.GetMappingFor <Employee>());
                Assert.NotEqual(version1Mappings, ToJson(mappingResponse.GetMappingFor <Employee>()));
            }
        }
        public async Task CanCreateAndDeleteIndex()
        {
            var index = new EmployeeIndex(_configuration);

            await index.ConfigureAsync();

            var existsResponse = await _client.Indices.ExistsAsync(index.Name);

            _logger.LogRequest(existsResponse);
            Assert.True(existsResponse.ApiCall.Success);
            Assert.True(existsResponse.Exists);

            await index.DeleteAsync();

            existsResponse = await _client.Indices.ExistsAsync(index.Name);

            _logger.LogRequest(existsResponse);
            Assert.True(existsResponse.ApiCall.Success);
            Assert.False(existsResponse.Exists);
        }