public void GivenASearchParameterDefinitionManager_WhenAddingNewSearchParameterHash_SearchParamHashMapContainsTheNewData() { // Validate that initial search param map is empty Assert.Equal(0, _searchParameterDefinitionManager.SearchParameterHashMap.Count); // Add new resource type - search parameter hash information. Dictionary <string, string> hashMap = new Dictionary <string, string> { { "Patient", "patientHash1" }, { "Observation", "observationHash1" }, }; _searchParameterDefinitionManager.UpdateSearchParameterHashMap(hashMap); var searchParamMap = _searchParameterDefinitionManager.SearchParameterHashMap; Assert.Equal(2, searchParamMap.Count); Assert.Equal("patientHash1", searchParamMap["Patient"]); Assert.Equal("observationHash1", searchParamMap["Observation"]); }
public async Task InitializeAsync() { _fhirOperationDataStore = _fixture.OperationDataStore; _fhirStorageTestHelper = _fixture.TestHelper; _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); await _searchParameterDefinitionManager.StartAsync(CancellationToken.None); _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(); await _fhirStorageTestHelper.DeleteAllReindexJobRecordsAsync(CancellationToken.None); }