public ReindexJobTask( Func <IScoped <IFhirOperationDataStore> > fhirOperationDataStoreFactory, Func <IScoped <IFhirDataStore> > fhirDataStoreFactory, IOptions <ReindexJobConfiguration> reindexJobConfiguration, Func <IScoped <ISearchService> > searchServiceFactory, ISupportedSearchParameterDefinitionManager supportedSearchParameterDefinitionManager, IReindexUtilities reindexUtilities, IFhirRequestContextAccessor fhirRequestContextAccessor, IReindexJobThrottleController throttleController, IModelInfoProvider modelInfoProvider, ILogger <ReindexJobTask> logger) { EnsureArg.IsNotNull(fhirOperationDataStoreFactory, nameof(fhirOperationDataStoreFactory)); EnsureArg.IsNotNull(fhirDataStoreFactory, nameof(fhirDataStoreFactory)); EnsureArg.IsNotNull(reindexJobConfiguration?.Value, nameof(reindexJobConfiguration)); EnsureArg.IsNotNull(searchServiceFactory, nameof(searchServiceFactory)); EnsureArg.IsNotNull(supportedSearchParameterDefinitionManager, nameof(supportedSearchParameterDefinitionManager)); EnsureArg.IsNotNull(reindexUtilities, nameof(reindexUtilities)); EnsureArg.IsNotNull(throttleController, nameof(throttleController)); EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider)); EnsureArg.IsNotNull(logger, nameof(logger)); _fhirOperationDataStoreFactory = fhirOperationDataStoreFactory; _fhirDataStoreFactory = fhirDataStoreFactory; _reindexJobConfiguration = reindexJobConfiguration.Value; _searchServiceFactory = searchServiceFactory; _supportedSearchParameterDefinitionManager = supportedSearchParameterDefinitionManager; _reindexUtilities = reindexUtilities; _contextAccessor = fhirRequestContextAccessor; _throttleController = throttleController; _modelInfoProvider = modelInfoProvider; _logger = logger; }
public ReindexJobWorkerBackgroundService(ReindexJobWorker reindexJobWorker, IOptions <ReindexJobConfiguration> reindexJobConfiguration) { EnsureArg.IsNotNull(reindexJobWorker, nameof(reindexJobWorker)); EnsureArg.IsNotNull(reindexJobConfiguration?.Value, nameof(reindexJobConfiguration)); _reindexJobWorker = reindexJobWorker; _reindexJobConfiguration = reindexJobConfiguration.Value; }
public async Task InitializeAsync() { _fhirOperationDataStore = _fixture.OperationDataStore; _fhirStorageTestHelper = _fixture.TestHelper; _scopedOperationDataStore = _fixture.OperationDataStore.CreateMockScope(); _scopedDataStore = _fixture.DataStore.CreateMockScope(); _searchParameterStatusDataStore = _fixture.SearchParameterStatusDataStore; _jobConfiguration = new ReindexJobConfiguration(); IOptions <ReindexJobConfiguration> optionsReindexConfig = Substitute.For <IOptions <ReindexJobConfiguration> >(); optionsReindexConfig.Value.Returns(_jobConfiguration); _searchParameterDefinitionManager = new SearchParameterDefinitionManager(ModelInfoProvider.Instance); await _searchParameterDefinitionManager.StartAsync(CancellationToken.None); _supportedSearchParameterDefinitionManager = new SupportedSearchParameterDefinitionManager(_searchParameterDefinitionManager); var fhirRequestContextAccessor = Substitute.For <IFhirRequestContextAccessor>(); _searchableSearchParameterDefinitionManager = new SearchableSearchParameterDefinitionManager(_searchParameterDefinitionManager, fhirRequestContextAccessor); ResourceWrapperFactory wrapperFactory = Mock.TypeWithArguments <ResourceWrapperFactory>( new RawResourceFactory(new FhirJsonSerializer()), _searchIndexer, _searchableSearchParameterDefinitionManager, Deserializers.ResourceDeserializer); _searchParameterStatusManager = new SearchParameterStatusManager( _searchParameterStatusDataStore, _searchParameterDefinitionManager, _searchParameterSupportResolver, _mediator); _createReindexRequestHandler = new CreateReindexRequestHandler( _fhirOperationDataStore, DisabledFhirAuthorizationService.Instance, optionsReindexConfig, _searchParameterDefinitionManager); _reindexUtilities = new ReindexUtilities( () => _scopedDataStore, _searchIndexer, Deserializers.ResourceDeserializer, _supportedSearchParameterDefinitionManager, _searchParameterStatusManager, wrapperFactory); coreOptions.Value.Returns(new CoreFeatureConfiguration()); var searchParameterExpressionParser = new SearchParameterExpressionParser(new ReferenceSearchValueParser(fhirRequestContextAccessor)); var expressionParser = new ExpressionParser(() => _searchableSearchParameterDefinitionManager, searchParameterExpressionParser); var searchOptionsFactory = new SearchOptionsFactory(expressionParser, () => _searchableSearchParameterDefinitionManager, coreOptions, fhirRequestContextAccessor, _sortingValidator, NullLogger <SearchOptionsFactory> .Instance); var cosmosSearchService = new FhirCosmosSearchService(searchOptionsFactory, _fixture.DataStore as CosmosFhirDataStore, new QueryBuilder(), _searchParameterDefinitionManager, fhirRequestContextAccessor) as ISearchService; _searchService = cosmosSearchService.CreateMockScope(); await _fhirStorageTestHelper.DeleteAllReindexJobRecordsAsync(CancellationToken.None); }
public ReindexJobWorker(Func <IScoped <IFhirOperationDataStore> > fhirOperationDataStoreFactory, IOptions <ReindexJobConfiguration> reindexJobConfiguration, Func <IReindexJobTask> reindexJobTaskFactory, ILogger <ReindexJobWorker> logger) { EnsureArg.IsNotNull(fhirOperationDataStoreFactory, nameof(fhirOperationDataStoreFactory)); EnsureArg.IsNotNull(reindexJobConfiguration?.Value, nameof(reindexJobConfiguration)); EnsureArg.IsNotNull(reindexJobTaskFactory, nameof(reindexJobTaskFactory)); EnsureArg.IsNotNull(logger, nameof(logger)); _fhirOperationDataStoreFactory = fhirOperationDataStoreFactory; _reindexJobConfiguration = reindexJobConfiguration.Value; _reindexJobTaskFactory = reindexJobTaskFactory; _logger = logger; }
public CreateReindexRequestHandler( IFhirOperationDataStore fhirOperationDataStore, IAuthorizationService <DataActions> authorizationService, IOptions <ReindexJobConfiguration> reindexJobConfiguration, ISearchParameterDefinitionManager searchParameterDefinitionManager) { EnsureArg.IsNotNull(fhirOperationDataStore, nameof(fhirOperationDataStore)); EnsureArg.IsNotNull(authorizationService, nameof(authorizationService)); EnsureArg.IsNotNull(reindexJobConfiguration, nameof(reindexJobConfiguration)); EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager)); _fhirOperationDataStore = fhirOperationDataStore; _authorizationService = authorizationService; _reindexJobConfiguration = reindexJobConfiguration.Value; _searchParameterDefinitionManager = searchParameterDefinitionManager; }
public ReindexController( IMediator mediator, IFhirRequestContextAccessor fhirRequestContextAccessor, IOptions <OperationsConfiguration> operationsConfig, ILogger <ReindexController> logger) { EnsureArg.IsNotNull(mediator, nameof(mediator)); EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(operationsConfig?.Value?.Reindex, nameof(operationsConfig)); EnsureArg.IsNotNull(logger, nameof(logger)); _mediator = mediator; _fhirRequestContextAccessor = fhirRequestContextAccessor; _config = operationsConfig.Value.Reindex; _logger = logger; }
public ReindexController( IMediator mediator, IOptions <OperationsConfiguration> operationsConfig, IUrlResolver urlResolver, ILogger <ReindexController> logger) { EnsureArg.IsNotNull(mediator, nameof(mediator)); EnsureArg.IsNotNull(operationsConfig?.Value?.Reindex, nameof(operationsConfig)); EnsureArg.IsNotNull(urlResolver, nameof(urlResolver)); EnsureArg.IsNotNull(logger, nameof(logger)); _mediator = mediator; _config = operationsConfig.Value.Reindex; _urlResolver = urlResolver; _logger = logger; }
public CreateReindexRequestHandler( IClaimsExtractor claimsExtractor, IFhirOperationDataStore fhirOperationDataStore, IFhirAuthorizationService authorizationService, IOptions <ReindexJobConfiguration> reindexJobConfiguration) { EnsureArg.IsNotNull(claimsExtractor, nameof(claimsExtractor)); EnsureArg.IsNotNull(fhirOperationDataStore, nameof(fhirOperationDataStore)); EnsureArg.IsNotNull(authorizationService, nameof(authorizationService)); EnsureArg.IsNotNull(reindexJobConfiguration, nameof(reindexJobConfiguration)); _claimsExtractor = claimsExtractor; _fhirOperationDataStore = fhirOperationDataStore; _authorizationService = authorizationService; _reindexJobConfiguration = reindexJobConfiguration.Value; }
public async Task InitializeAsync() { _fhirOperationDataStore = _fixture.OperationDataStore; _fhirStorageTestHelper = _fixture.TestHelper; _scopedOperationDataStore = _fhirOperationDataStore.CreateMockScope(); _scopedDataStore = _fixture.DataStore.CreateMockScope(); _jobConfiguration = new ReindexJobConfiguration(); IOptions <ReindexJobConfiguration> optionsReindexConfig = Substitute.For <IOptions <ReindexJobConfiguration> >(); optionsReindexConfig.Value.Returns(_jobConfiguration); _searchParameterDefinitionManager = _fixture.SearchParameterDefinitionManager; _supportedSearchParameterDefinitionManager = _fixture.SupportedSearchParameterDefinitionManager; ResourceWrapperFactory wrapperFactory = Mock.TypeWithArguments <ResourceWrapperFactory>( new RawResourceFactory(new FhirJsonSerializer()), new FhirRequestContextAccessor(), _searchIndexer, _searchParameterDefinitionManager, Deserializers.ResourceDeserializer); _searchParameterStatusManager = _fixture.SearchParameterStatusManager; _createReindexRequestHandler = new CreateReindexRequestHandler( _fhirOperationDataStore, DisabledFhirAuthorizationService.Instance, optionsReindexConfig, _searchParameterDefinitionManager, _searchParameterOperations); _reindexUtilities = new ReindexUtilities( () => _scopedDataStore, _searchIndexer, Deserializers.ResourceDeserializer, _supportedSearchParameterDefinitionManager, _searchParameterStatusManager, wrapperFactory); _searchService = _fixture.SearchService.CreateMockScope(); await _fhirStorageTestHelper.DeleteAllReindexJobRecordsAsync(CancellationToken.None); _throttleController.GetThrottleBasedDelay().Returns(0); _throttleController.GetThrottleBatchSize().Returns(100U); }
private ReindexController GetController(ReindexJobConfiguration reindexConfig) { var operationConfig = new OperationsConfiguration() { Reindex = reindexConfig, }; IOptions <OperationsConfiguration> optionsOperationConfiguration = Substitute.For <IOptions <OperationsConfiguration> >(); optionsOperationConfiguration.Value.Returns(operationConfig); return(new ReindexController( _mediator, optionsOperationConfiguration, _urlResolver, NullLogger <ReindexController> .Instance)); }
public ReindexJobTests(FhirStorageTestsFixture fixture) { _fhirOperationDataStore = fixture.OperationDataStore; _fhirStorageTestHelper = fixture.TestHelper; _scopedOperationDataStore = fixture.OperationDataStore.CreateMockScope(); _scopedOperationDataStore = fixture.OperationDataStore.CreateMockScope(); _scopedDataStore = fixture.DataStore.CreateMockScope(); _jobConfiguration = new ReindexJobConfiguration(); IOptions <ReindexJobConfiguration> optionsReindexConfig = Substitute.For <IOptions <ReindexJobConfiguration> >(); optionsReindexConfig.Value.Returns(_jobConfiguration); _searchParameterDefinitionManager = new SearchParameterDefinitionManager(ModelInfoProvider.Instance); _searchParameterDefinitionManager.Start(); _searchParameterDefinitionManager.UpdateSearchParameterHashMap(new Dictionary <string, string>() { { "Patient", "newHash" } }); _supportedSearchParameterDefinitionManager = new SupportedSearchParameterDefinitionManager(_searchParameterDefinitionManager); var fhirRequestContextAccessor = Substitute.For <IFhirRequestContextAccessor>(); _searchableSearchParameterDefinitionManager = new SearchableSearchParameterDefinitionManager(_searchParameterDefinitionManager, fhirRequestContextAccessor); _createReindexRequestHandler = new CreateReindexRequestHandler( _fhirOperationDataStore, DisabledFhirAuthorizationService.Instance, optionsReindexConfig, _searchParameterDefinitionManager); _reindexUtilities = new ReindexUtilities( () => _scopedDataStore, _searchIndexer, Deserializers.ResourceDeserializer, _supportedSearchParameterDefinitionManager, _searchParameterRegistry); coreOptions.Value.Returns(new CoreFeatureConfiguration()); var searchParameterExpressionParser = new SearchParameterExpressionParser(() => _searchParameterDefinitionManager, new ReferenceSearchValueParser(fhirRequestContextAccessor)); var expressionParser = new ExpressionParser(() => _searchableSearchParameterDefinitionManager, searchParameterExpressionParser); var searchOptionsFactory = new SearchOptionsFactory(expressionParser, () => _searchableSearchParameterDefinitionManager, coreOptions, fhirRequestContextAccessor, NullLogger <SearchOptionsFactory> .Instance); var cosmosSearchService = new FhirCosmosSearchService(searchOptionsFactory, fixture.DataStore as CosmosFhirDataStore, new QueryBuilder()) as ISearchService; _searchService = cosmosSearchService.CreateMockScope(); }
public ReindexJobTask( Func <IScoped <IFhirOperationDataStore> > fhirOperationDataStoreFactory, IOptions <ReindexJobConfiguration> reindexJobConfiguration, Func <IScoped <ISearchService> > searchServiceFactory, ISupportedSearchParameterDefinitionManager supportedSearchParameterDefinitionManager, ILogger <ReindexJobTask> logger) { EnsureArg.IsNotNull(fhirOperationDataStoreFactory, nameof(fhirOperationDataStoreFactory)); EnsureArg.IsNotNull(reindexJobConfiguration?.Value, nameof(reindexJobConfiguration)); EnsureArg.IsNotNull(searchServiceFactory, nameof(searchServiceFactory)); EnsureArg.IsNotNull(supportedSearchParameterDefinitionManager, nameof(supportedSearchParameterDefinitionManager)); EnsureArg.IsNotNull(logger, nameof(logger)); _fhirOperationDataStoreFactory = fhirOperationDataStoreFactory; _reindexJobConfiguration = reindexJobConfiguration.Value; _searchServiceFactory = searchServiceFactory; _supportedSearchParameterDefinitionManager = supportedSearchParameterDefinitionManager; _logger = logger; }