/// <summary> /// Initializes a new instance of the <see cref="ResourceWrapperFactory"/> class. /// </summary> /// <param name="rawResourceFactory">The raw resource factory.</param> /// <param name="fhirRequestContextAccessor">The FHIR request context accessor.</param> /// <param name="searchIndexer">The search indexer used to generate search indices.</param> /// <param name="claimsExtractor">The claims extractor used to extract claims.</param> /// <param name="compartmentIndexer">The compartment indexer.</param> /// <param name="searchParameterDefinitionManager"> The search parameter definition manager.</param> /// <param name="resourceDeserializer">Resource deserializer</param> public ResourceWrapperFactory( IRawResourceFactory rawResourceFactory, IFhirRequestContextAccessor fhirRequestContextAccessor, ISearchIndexer searchIndexer, IClaimsExtractor claimsExtractor, ICompartmentIndexer compartmentIndexer, ISearchParameterDefinitionManager searchParameterDefinitionManager, IResourceDeserializer resourceDeserializer) { EnsureArg.IsNotNull(rawResourceFactory, nameof(rawResourceFactory)); EnsureArg.IsNotNull(searchIndexer, nameof(searchIndexer)); EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(claimsExtractor, nameof(claimsExtractor)); EnsureArg.IsNotNull(compartmentIndexer, nameof(compartmentIndexer)); EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager)); EnsureArg.IsNotNull(resourceDeserializer, nameof(resourceDeserializer)); _rawResourceFactory = rawResourceFactory; _searchIndexer = searchIndexer; _fhirRequestContextAccessor = fhirRequestContextAccessor; _claimsExtractor = claimsExtractor; _compartmentIndexer = compartmentIndexer; _searchParameterDefinitionManager = searchParameterDefinitionManager; _resourceDeserializer = resourceDeserializer; }
/// <summary> /// Initializes a new instance of the <see cref="ResourceWrapperWithSearchIndicesFactory"/> class. /// </summary> /// <param name="rawResourceFactory">The raw resource factory.</param> /// <param name="fhirRequestContextAccessor">The FHIR request context accessor.</param> /// <param name="searchIndexer">The search indexer used to generate search indices.</param> /// <param name="claimsIndexer">The claims indexer used to generate claims indices.</param> /// <param name="compartmentIndexer">The compartment indexer.</param> public ResourceWrapperWithSearchIndicesFactory(IRawResourceFactory rawResourceFactory, IFhirRequestContextAccessor fhirRequestContextAccessor, ISearchIndexer searchIndexer, IClaimsIndexer claimsIndexer, ICompartmentIndexer compartmentIndexer) { EnsureArg.IsNotNull(rawResourceFactory, nameof(rawResourceFactory)); EnsureArg.IsNotNull(searchIndexer, nameof(searchIndexer)); EnsureArg.IsNotNull(fhirRequestContextAccessor, nameof(fhirRequestContextAccessor)); EnsureArg.IsNotNull(claimsIndexer, nameof(claimsIndexer)); EnsureArg.IsNotNull(compartmentIndexer, nameof(compartmentIndexer)); _rawResourceFactory = rawResourceFactory; _searchIndexer = searchIndexer; _fhirRequestContextAccessor = fhirRequestContextAccessor; _claimsIndexer = claimsIndexer; _compartmentIndexer = compartmentIndexer; }
public ResourceWrapperFactoryTests() { var serializer = new FhirJsonSerializer(); _rawResourceFactory = new RawResourceFactory(serializer); var dummyRequestContext = new FhirRequestContext( "POST", "https://localhost/Patient", "https://localhost/", Guid.NewGuid().ToString(), new Dictionary <string, StringValues>(), new Dictionary <string, StringValues>()); _fhirRequestContextAccessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >(); _fhirRequestContextAccessor.RequestContext.Returns(dummyRequestContext); _claimsExtractor = Substitute.For <IClaimsExtractor>(); _compartmentIndexer = Substitute.For <ICompartmentIndexer>(); _searchIndexer = Substitute.For <ISearchIndexer>(); _searchParameterDefinitionManager = Substitute.For <ISearchParameterDefinitionManager>(); _searchParameterDefinitionManager.GetSearchParameterHashForResourceType(Arg.Any <string>()).Returns("hash"); _resourceWrapperFactory = new ResourceWrapperFactory( _rawResourceFactory, _fhirRequestContextAccessor, _searchIndexer, _claimsExtractor, _compartmentIndexer, _searchParameterDefinitionManager, Deserializers.ResourceDeserializer); _nameSearchParameterInfo = new SearchParameterInfo("name", "name", ValueSets.SearchParamType.String, new Uri("https://localhost/searchParameter/name")) { SortStatus = SortParameterStatus.Enabled }; _addressSearchParameterInfo = new SearchParameterInfo("address-city", "address-city", ValueSets.SearchParamType.String, new Uri("https://localhost/searchParameter/address-city")) { SortStatus = SortParameterStatus.Enabled }; _ageSearchParameterInfo = new SearchParameterInfo("age", "age", ValueSets.SearchParamType.Number, new Uri("https://localhost/searchParameter/age")) { SortStatus = SortParameterStatus.Supported }; }