Пример #1
0
        public SearchOptionsFactoryTests()
        {
            var searchParameterDefinitionManager = Substitute.For <ISearchParameterDefinitionManager>();

            _resourceTypeSearchParameterInfo = new SearchParameter {
                Name = SearchParameterNames.ResourceType, Code = SearchParameterNames.ResourceType, Type = SearchParamType.String
            }.ToInfo();
            _lastUpdatedSearchParameterInfo = new SearchParameter {
                Name = SearchParameterNames.LastUpdated, Code = SearchParameterNames.LastUpdated, Type = SearchParamType.String
            }.ToInfo();
            searchParameterDefinitionManager.GetSearchParameter(Arg.Any <string>(), Arg.Any <string>()).Throws(ci => new SearchParameterNotSupportedException(ci.ArgAt <string>(0), ci.ArgAt <string>(1)));
            searchParameterDefinitionManager.GetSearchParameter(Arg.Any <string>(), SearchParameterNames.ResourceType).Returns(_resourceTypeSearchParameterInfo);
            searchParameterDefinitionManager.GetSearchParameter(Arg.Any <string>(), SearchParameterNames.LastUpdated).Returns(_lastUpdatedSearchParameterInfo);
            _coreFeatures = new CoreFeatureConfiguration();
            _defaultFhirRequestContext = new DefaultFhirRequestContext();

            _sortingValidator = Substitute.For <ISortingValidator>();

            _factory = new SearchOptionsFactory(
                _expressionParser,
                () => searchParameterDefinitionManager,
                new OptionsWrapper <CoreFeatureConfiguration>(_coreFeatures),
                _defaultFhirRequestContext.SetupAccessor(),
                _sortingValidator,
                NullLogger <SearchOptionsFactory> .Instance);
        }
Пример #2
0
        public SqlServerSearchService(
            ISearchOptionsFactory searchOptionsFactory,
            IFhirDataStore fhirDataStore,
            SqlServerFhirModel model,
            SqlRootExpressionRewriter sqlRootExpressionRewriter,
            ChainFlatteningRewriter chainFlatteningRewriter,
            SortRewriter sortRewriter,
            SqlConnectionWrapperFactory sqlConnectionWrapperFactory,
            SchemaInformation schemaInformation,
            ISortingValidator sortingValidator,
            IFhirRequestContextAccessor requestContextAccessor,
            ILogger <SqlServerSearchService> logger)
            : base(searchOptionsFactory, fhirDataStore)
        {
            EnsureArg.IsNotNull(sqlRootExpressionRewriter, nameof(sqlRootExpressionRewriter));
            EnsureArg.IsNotNull(chainFlatteningRewriter, nameof(chainFlatteningRewriter));
            EnsureArg.IsNotNull(sqlConnectionWrapperFactory, nameof(sqlConnectionWrapperFactory));
            EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation));
            EnsureArg.IsNotNull(sortingValidator, nameof(sortingValidator));
            EnsureArg.IsNotNull(requestContextAccessor, nameof(requestContextAccessor));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _model = model;
            _sqlRootExpressionRewriter = sqlRootExpressionRewriter;
            _sortRewriter                = sortRewriter;
            _chainFlatteningRewriter     = chainFlatteningRewriter;
            _sqlConnectionWrapperFactory = sqlConnectionWrapperFactory;
            _logger = logger;

            _schemaInformation      = schemaInformation;
            _sortingValidator       = sortingValidator;
            _requestContextAccessor = requestContextAccessor;
        }
Пример #3
0
        public SearchOptionsFactory(
            IExpressionParser expressionParser,
            ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver,
            IOptions <CoreFeatureConfiguration> featureConfiguration,
            RequestContextAccessor <IFhirRequestContext> contextAccessor,
            ISortingValidator sortingValidator,
            ILogger <SearchOptionsFactory> logger)
        {
            EnsureArg.IsNotNull(expressionParser, nameof(expressionParser));
            EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver));
            EnsureArg.IsNotNull(featureConfiguration?.Value, nameof(featureConfiguration));
            EnsureArg.IsNotNull(contextAccessor, nameof(contextAccessor));
            EnsureArg.IsNotNull(sortingValidator, nameof(sortingValidator));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _expressionParser = expressionParser;
            _contextAccessor  = contextAccessor;
            _sortingValidator = sortingValidator;
            _searchParameterDefinitionManager = searchParameterDefinitionManagerResolver();
            _logger = logger;
            _featureConfiguration = featureConfiguration.Value;

            _resourceTypeSearchParameter = _searchParameterDefinitionManager.GetSearchParameter(ResourceType.Resource.ToString(), SearchParameterNames.ResourceType);
        }