public async Task GivenASPStatusManager_WhenInitializing_ThenSearchParameterIsUpdatedFromRegistry() { await _manager.EnsureInitialized(); var list = _searchParameterDefinitionManager.GetSearchParameters("Account").ToList(); Assert.True(list[0].IsSearchable); Assert.True(list[0].IsSupported); Assert.False(list[0].IsPartiallySupported); Assert.True(list[1].IsSearchable); Assert.True(list[1].IsSupported); Assert.True(list[1].IsPartiallySupported); Assert.False(list[2].IsSearchable); Assert.False(list[2].IsSupported); Assert.False(list[2].IsPartiallySupported); Assert.False(list[3].IsSearchable); Assert.True(list[3].IsSupported); Assert.False(list[3].IsPartiallySupported); Assert.False(list[4].IsSearchable); Assert.True(list[4].IsSupported); Assert.False(list[4].IsPartiallySupported); }
public async Task GivenSupportedParams_WhenGettingSupported_ThenSupportedParamsReturned() { await _manager.EnsureInitialized(); var supportedDefinitionManager = new SupportedSearchParameterDefinitionManager(_searchParameterDefinitionManager); var paramList = supportedDefinitionManager.GetSupportedButNotSearchableParams(); Assert.Single(paramList); Assert.Collection(paramList, p => { Assert.True(p.IsSupported); Assert.False(p.IsSearchable); }); }
public static async Task <SearchParameterDefinitionManager> CreateSearchParameterDefinitionManagerAsync(IModelInfoProvider modelInfoProvider) { var definitionManager = new SearchParameterDefinitionManager(modelInfoProvider); await definitionManager.StartAsync(CancellationToken.None); var statusRegistry = new FilebasedSearchParameterStatusDataStore( definitionManager, modelInfoProvider); var statusManager = new SearchParameterStatusManager( statusRegistry, definitionManager, new SearchParameterSupportResolver(definitionManager, await GetFhirNodeToSearchValueTypeConverterManagerAsync()), Substitute.For <IMediator>()); await statusManager.EnsureInitialized(); return(definitionManager); }
public static SearchParameterDefinitionManager CreateSearchParameterDefinitionManager() { var manager = new SearchParameterDefinitionManager(ModelInfoProvider.Instance); manager.Start(); var statusRegistry = new FilebasedSearchParameterRegistry( manager, ModelInfoProvider.Instance); var statusManager = new SearchParameterStatusManager( statusRegistry, manager, new SearchParameterSupportResolver(manager, Manager), Substitute.For <IMediator>()); statusManager.EnsureInitialized().GetAwaiter().GetResult(); return(manager); }
public static SearchParameterDefinitionManager CreateSearchParameterDefinitionManager() { var manager = new SearchParameterDefinitionManager(new FhirJsonParser(), ModelInfoProvider.Instance); manager.Start(); Type managerType = typeof(SearchParameterDefinitionManager); var statusRegistry = new FilebasedSearchParameterRegistry( manager, managerType.Assembly, $"{managerType.Namespace}.unsupported-search-parameters.json"); var statusManager = new SearchParameterStatusManager( statusRegistry, manager, new SearchParameterSupportResolver(manager, Manager), Substitute.For <IMediator>()); statusManager.EnsureInitialized().GetAwaiter().GetResult(); return(manager); }
public static SearchParameterDefinitionManager CreateSearchParameterDefinitionManager(IModelInfoProvider modelInfoProvider) { if (Manager == null) { throw new InvalidOperationException($"{nameof(Manager)} was not instantiated."); } var definitionManager = new SearchParameterDefinitionManager(modelInfoProvider); definitionManager.Start(); var statusRegistry = new FilebasedSearchParameterRegistry( definitionManager, modelInfoProvider); var statusManager = new SearchParameterStatusManager( statusRegistry, definitionManager, new SearchParameterSupportResolver(definitionManager, Manager), Substitute.For <IMediator>()); statusManager.EnsureInitialized().GetAwaiter().GetResult(); return(definitionManager); }