public ResourceHandlerTests() { _fhirDataStore = Substitute.For <IFhirDataStore>(); _conformanceProvider = Substitute.For <ConformanceProviderBase>(); _searchService = Substitute.For <ISearchService>(); // TODO: FhirRepository instantiate ResourceDeserializer class directly // which will try to deserialize the raw resource. We should mock it as well. _rawResourceFactory = Substitute.For <RawResourceFactory>(new FhirJsonSerializer()); _resourceWrapperFactory = Substitute.For <IResourceWrapperFactory>(); _resourceWrapperFactory .Create(Arg.Any <ResourceElement>(), Arg.Any <bool>(), Arg.Any <bool>()) .Returns(x => CreateResourceWrapper(x.ArgAt <ResourceElement>(0), x.ArgAt <bool>(1))); _conformanceStatement = CapabilityStatementMock.GetMockedCapabilityStatement(); CapabilityStatementMock.SetupMockResource(_conformanceStatement, ResourceType.Observation, null); var observationResource = _conformanceStatement.Rest.First().Resource.Find(x => x.Type == ResourceType.Observation); observationResource.ReadHistory = false; observationResource.UpdateCreate = true; observationResource.ConditionalCreate = true; observationResource.ConditionalUpdate = true; observationResource.Versioning = CapabilityStatement.ResourceVersionPolicy.Versioned; CapabilityStatementMock.SetupMockResource(_conformanceStatement, ResourceType.Patient, null); var patientResource = _conformanceStatement.Rest.First().Resource.Find(x => x.Type == ResourceType.Patient); patientResource.ReadHistory = true; patientResource.UpdateCreate = true; patientResource.ConditionalCreate = true; patientResource.ConditionalUpdate = true; patientResource.Versioning = CapabilityStatement.ResourceVersionPolicy.VersionedUpdate; _conformanceProvider.GetCapabilityStatementOnStartup().Returns(_conformanceStatement.ToTypedElement().ToResourceElement()); var lazyConformanceProvider = new Lazy <IConformanceProvider>(() => _conformanceProvider); var collection = new ServiceCollection(); // an auth service that allows all. _authorizationService = Substitute.For <IAuthorizationService <DataActions> >(); _authorizationService.CheckAccess(Arg.Any <DataActions>(), Arg.Any <CancellationToken>()).Returns(ci => ci.Arg <DataActions>()); var referenceResolver = new ResourceReferenceResolver(_searchService, new TestQueryStringParser()); _resourceIdProvider = new ResourceIdProvider(); collection.Add(x => _mediator).Singleton().AsSelf(); collection.Add(x => new CreateResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _resourceIdProvider, referenceResolver, _authorizationService)).Singleton().AsSelf().AsImplementedInterfaces(); collection.Add(x => new UpsertResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _resourceIdProvider, _authorizationService, ModelInfoProvider.Instance)).Singleton().AsSelf().AsImplementedInterfaces(); collection.Add(x => new ConditionalCreateResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _searchService, x.GetService <IMediator>(), _resourceIdProvider, _authorizationService)).Singleton().AsSelf().AsImplementedInterfaces(); collection.Add(x => new ConditionalUpsertResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _searchService, x.GetService <IMediator>(), _resourceIdProvider, _authorizationService)).Singleton().AsSelf().AsImplementedInterfaces(); collection.Add(x => new GetResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _resourceIdProvider, _authorizationService)).Singleton().AsSelf().AsImplementedInterfaces(); collection.Add(x => new DeleteResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _resourceIdProvider, _authorizationService)).Singleton().AsSelf().AsImplementedInterfaces(); ServiceProvider provider = collection.BuildServiceProvider(); _mediator = new Mediator(type => provider.GetService(type)); _deserializer = new ResourceDeserializer( (FhirResourceFormat.Json, new Func <string, string, DateTimeOffset, ResourceElement>((str, version, lastUpdated) => _fhirJsonParser.Parse(str).ToResourceElement()))); }
public BundleHandlerTests() { _router = Substitute.For <IRouter>(); var fhirRequestContext = new DefaultFhirRequestContext { BaseUri = new Uri("https://localhost/"), CorrelationId = Guid.NewGuid().ToString(), }; _fhirRequestContextAccessor = Substitute.For <IFhirRequestContextAccessor>(); _fhirRequestContextAccessor.FhirRequestContext.Returns(fhirRequestContext); _httpContextAccessor = Substitute.For <IHttpContextAccessor>(); _fhirJsonSerializer = new FhirJsonSerializer(); _fhirJsonParser = new FhirJsonParser(); _searchService = Substitute.For <ISearchService>(); var fhirDataStore = Substitute.For <IFhirDataStore>(); var conformanceProvider = Substitute.For <Lazy <IConformanceProvider> >(); var resourceWrapperFactory = Substitute.For <IResourceWrapperFactory>(); var resourceIdProvider = Substitute.For <ResourceIdProvider>(); var transactionBundleValidator = new TransactionBundleValidator(fhirDataStore, conformanceProvider, resourceWrapperFactory, _searchService, resourceIdProvider); _bundleHttpContextAccessor = new BundleHttpContextAccessor(); IFeatureCollection featureCollection = CreateFeatureCollection(); var httpContext = new DefaultHttpContext(featureCollection) { Request = { Scheme = "https", Host = new HostString("localhost"), PathBase = new PathString("/"), }, }; _httpContextAccessor.HttpContext.Returns(httpContext); var transactionHandler = Substitute.For <ITransactionHandler>(); _resourceIdProvider = new ResourceIdProvider(); _auditEventTypeMapping = Substitute.For <IAuditEventTypeMapping>(); _bundleHandler = new BundleHandler( _httpContextAccessor, _fhirRequestContextAccessor, _fhirJsonSerializer, _fhirJsonParser, transactionHandler, _bundleHttpContextAccessor, _resourceIdProvider, transactionBundleValidator, _auditEventTypeMapping, NullLogger <BundleHandler> .Instance); }
public CreateResourceHandler( IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceIdProvider resourceIdProvider) : base(fhirDataStore, conformanceProvider, resourceWrapperFactory, resourceIdProvider) { }
public BaseConditionalHandlerTests() { IFhirDataStore fhirDataStore = Substitute.For <IFhirDataStore>(); Lazy <IConformanceProvider> conformanceProvider = Substitute.For <Lazy <IConformanceProvider> >(); IResourceWrapperFactory resourceWrapperFactory = Substitute.For <IResourceWrapperFactory>(); ResourceIdProvider resourceIdProvider = Substitute.For <ResourceIdProvider>(); _testBaseConditionalHandler = new TestBaseConditionalHandler(fhirDataStore, _searchService, conformanceProvider, resourceWrapperFactory, resourceIdProvider, DisabledFhirAuthorizationService.Instance); }
public FhirStorageTests(FhirStorageTestsFixture fixture) { _fixture = fixture; _searchService = Substitute.For <ISearchService>(); _dataStore = fixture.DataStore; _conformance = CapabilityStatementMock.GetMockedCapabilityStatement(); CapabilityStatementMock.SetupMockResource(_conformance, ResourceType.Observation, null); var observationResource = _conformance.Rest[0].Resource.Find(r => r.Type == ResourceType.Observation); observationResource.UpdateCreate = true; observationResource.Versioning = CapabilityStatement.ResourceVersionPolicy.Versioned; CapabilityStatementMock.SetupMockResource(_conformance, ResourceType.Organization, null); var organizationResource = _conformance.Rest[0].Resource.Find(r => r.Type == ResourceType.Organization); organizationResource.UpdateCreate = true; organizationResource.Versioning = CapabilityStatement.ResourceVersionPolicy.NoVersion; var provider = Substitute.For <ConformanceProviderBase>(); provider.GetCapabilityStatementAsync().Returns(_conformance.ToTypedElement().ToResourceElement()); // TODO: FhirRepository instantiate ResourceDeserializer class directly // which will try to deserialize the raw resource. We should mock it as well. var rawResourceFactory = Substitute.For <RawResourceFactory>(new FhirJsonSerializer()); var resourceWrapperFactory = Substitute.For <IResourceWrapperFactory>(); resourceWrapperFactory .Create(Arg.Any <ResourceElement>(), Arg.Any <bool>(), Arg.Any <bool>()) .Returns(x => { ResourceElement resource = x.ArgAt <ResourceElement>(0); return(new ResourceWrapper(resource, rawResourceFactory.Create(resource, keepMeta: true), new ResourceRequest(HttpMethod.Post, "http://fhir"), x.ArgAt <bool>(1), null, null, null)); }); var collection = new ServiceCollection(); var resourceIdProvider = new ResourceIdProvider(); _searchParameterUtilities = Substitute.For <ISearchParameterUtilities>(); collection.AddSingleton(typeof(IRequestHandler <CreateResourceRequest, UpsertResourceResponse>), new CreateResourceHandler(_dataStore, new Lazy <IConformanceProvider>(() => provider), resourceWrapperFactory, resourceIdProvider, new ResourceReferenceResolver(_searchService, new TestQueryStringParser()), DisabledFhirAuthorizationService.Instance, _searchParameterUtilities)); collection.AddSingleton(typeof(IRequestHandler <UpsertResourceRequest, UpsertResourceResponse>), new UpsertResourceHandler(_dataStore, new Lazy <IConformanceProvider>(() => provider), resourceWrapperFactory, resourceIdProvider, DisabledFhirAuthorizationService.Instance, ModelInfoProvider.Instance)); collection.AddSingleton(typeof(IRequestHandler <GetResourceRequest, GetResourceResponse>), new GetResourceHandler(_dataStore, new Lazy <IConformanceProvider>(() => provider), resourceWrapperFactory, resourceIdProvider, DisabledFhirAuthorizationService.Instance)); collection.AddSingleton(typeof(IRequestHandler <DeleteResourceRequest, DeleteResourceResponse>), new DeleteResourceHandler(_dataStore, new Lazy <IConformanceProvider>(() => provider), resourceWrapperFactory, resourceIdProvider, DisabledFhirAuthorizationService.Instance)); ServiceProvider services = collection.BuildServiceProvider(); Mediator = new Mediator(type => services.GetService(type)); _deserializer = new ResourceDeserializer( (FhirResourceFormat.Json, new Func <string, string, DateTimeOffset, ResourceElement>((str, version, lastUpdated) => _fhirJsonParser.Parse(str).ToResourceElement()))); }
public TransactionBundleValidatorTests() { IFhirDataStore fhirDataStore = Substitute.For <IFhirDataStore>(); Lazy <IConformanceProvider> conformanceProvider = Substitute.For <Lazy <IConformanceProvider> >(); IResourceWrapperFactory resourceWrapperFactory = Substitute.For <IResourceWrapperFactory>(); ResourceIdProvider resourceIdProvider = Substitute.For <ResourceIdProvider>(); _transactionBundleValidator = new TransactionBundleValidator(fhirDataStore, conformanceProvider, resourceWrapperFactory, _searchService, resourceIdProvider); }
public TransactionBundleValidator( IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ISearchService searchService, ResourceIdProvider resourceIdProvider) : base(fhirDataStore, searchService, conformanceProvider, resourceWrapperFactory, resourceIdProvider) { }
public DeleteResourceHandler( IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceIdProvider resourceIdProvider, IFhirAuthorizationService authorizationService) : base(fhirDataStore, conformanceProvider, resourceWrapperFactory, resourceIdProvider, authorizationService) { }
public TestBaseConditionalHandler( IFhirDataStore fhirDataStore, ISearchService searchService, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceIdProvider resourceIdProvider) : base(fhirDataStore, searchService, conformanceProvider, resourceWrapperFactory, resourceIdProvider) { }
public PatchResourceHandler( IMediator mediator, IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceIdProvider resourceIdProvider, IAuthorizationService <DataActions> authorizationService) : base(fhirDataStore, conformanceProvider, resourceWrapperFactory, resourceIdProvider, authorizationService) { EnsureArg.IsNotNull(mediator, nameof(mediator)); _mediator = mediator; }
public GetResourceHandler( IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceDeserializer deserializer, ResourceIdProvider resourceIdProvider) : base(fhirDataStore, conformanceProvider, resourceWrapperFactory, resourceIdProvider) { EnsureArg.IsNotNull(deserializer, nameof(deserializer)); _deserializer = deserializer; }
protected BaseConditionalHandler( IFhirDataStore fhirDataStore, ISearchService searchService, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceIdProvider resourceIdProvider) : base(fhirDataStore, conformanceProvider, resourceWrapperFactory, resourceIdProvider) { EnsureArg.IsNotNull(searchService, nameof(searchService)); _searchService = searchService; }
protected ConditionalResourceHandler( ISearchService searchService, IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceIdProvider resourceIdProvider, IAuthorizationService <DataActions> authorizationService) : base(fhirDataStore, conformanceProvider, resourceWrapperFactory, resourceIdProvider, authorizationService) { EnsureArg.IsNotNull(searchService, nameof(searchService)); _searchService = searchService; }
public ConditionalUpsertResourceHandler( IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ISearchService searchService, IMediator mediator, ResourceIdProvider resourceIdProvider) : base(fhirDataStore, searchService, conformanceProvider, resourceWrapperFactory, resourceIdProvider) { EnsureArg.IsNotNull(mediator, nameof(mediator)); _mediator = mediator; }
public UpsertResourceHandler( IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceIdProvider resourceIdProvider, IFhirAuthorizationService authorizationService, IModelInfoProvider modelInfoProvider) : base(fhirDataStore, conformanceProvider, resourceWrapperFactory, resourceIdProvider, authorizationService) { EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider)); _modelInfoProvider = modelInfoProvider; }
public ResourceHandlerTests() { _fhirDataStore = Substitute.For <IFhirDataStore>(); _conformanceProvider = Substitute.For <ConformanceProviderBase>(); _searchService = Substitute.For <ISearchService>(); // TODO: FhirRepository instantiate ResourceDeserializer class directly // which will try to deserialize the raw resource. We should mock it as well. _rawResourceFactory = Substitute.For <RawResourceFactory>(new FhirJsonSerializer()); _resourceWrapperFactory = Substitute.For <IResourceWrapperFactory>(); _resourceWrapperFactory .Create(Arg.Any <ResourceElement>(), Arg.Any <bool>()) .Returns(x => CreateResourceWrapper(x.ArgAt <ResourceElement>(0), x.ArgAt <bool>(1))); _conformanceStatement = CapabilityStatementMock.GetMockedCapabilityStatement(); CapabilityStatementMock.SetupMockResource(_conformanceStatement, ResourceType.Observation, null); var observationResource = _conformanceStatement.Rest.First().Resource.Find(x => x.Type == ResourceType.Observation); observationResource.ReadHistory = false; observationResource.UpdateCreate = true; observationResource.ConditionalCreate = true; observationResource.ConditionalUpdate = true; observationResource.Versioning = CapabilityStatement.ResourceVersionPolicy.Versioned; CapabilityStatementMock.SetupMockResource(_conformanceStatement, ResourceType.Patient, null); var patientResource = _conformanceStatement.Rest.First().Resource.Find(x => x.Type == ResourceType.Patient); patientResource.ReadHistory = true; patientResource.UpdateCreate = true; patientResource.ConditionalCreate = true; patientResource.ConditionalUpdate = true; patientResource.Versioning = CapabilityStatement.ResourceVersionPolicy.VersionedUpdate; _conformanceProvider.GetCapabilityStatementAsync().Returns(_conformanceStatement.ToTypedElement().ToResourceElement()); var lazyConformanceProvider = new Lazy <IConformanceProvider>(() => _conformanceProvider); var collection = new ServiceCollection(); _resourceIdProvider = new ResourceIdProvider(); collection.Add(x => _mediator).Singleton().AsSelf(); collection.Add(x => new CreateResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _resourceIdProvider)).Singleton().AsSelf().AsImplementedInterfaces(); collection.Add(x => new UpsertResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _resourceIdProvider)).Singleton().AsSelf().AsImplementedInterfaces(); collection.Add(x => new ConditionalCreateResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _searchService, x.GetService <IMediator>(), _resourceIdProvider)).Singleton().AsSelf().AsImplementedInterfaces(); collection.Add(x => new ConditionalUpsertResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _searchService, x.GetService <IMediator>(), _resourceIdProvider)).Singleton().AsSelf().AsImplementedInterfaces(); collection.Add(x => new GetResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, Deserializers.ResourceDeserializer, _resourceIdProvider)).Singleton().AsSelf().AsImplementedInterfaces(); collection.Add(x => new DeleteResourceHandler(_fhirDataStore, lazyConformanceProvider, _resourceWrapperFactory, _resourceIdProvider)).Singleton().AsSelf().AsImplementedInterfaces(); ServiceProvider provider = collection.BuildServiceProvider(); _mediator = new Mediator(type => provider.GetService(type)); }
public ConditionalCreateResourceHandler( IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ISearchService searchService, IMediator mediator, ResourceIdProvider resourceIdProvider, IAuthorizationService <DataActions> authorizationService) : base(searchService, fhirDataStore, conformanceProvider, resourceWrapperFactory, resourceIdProvider, authorizationService) { EnsureArg.IsNotNull(mediator, nameof(mediator)); _mediator = mediator; }
public PatchResourceHandler( IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceIdProvider resourceIdProvider, IAuthorizationService <DataActions> authorizationService, IModelInfoProvider modelInfoProvider, ResourceDeserializer resourceDeserializer) : base(fhirDataStore, conformanceProvider, resourceWrapperFactory, resourceIdProvider, authorizationService) { EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider)); _modelInfoProvider = modelInfoProvider; _resourceDeserializer = resourceDeserializer; }
protected BaseResourceHandler( IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceIdProvider resourceIdProvider) { EnsureArg.IsNotNull(fhirDataStore, nameof(fhirDataStore)); EnsureArg.IsNotNull(conformanceProvider, nameof(conformanceProvider)); EnsureArg.IsNotNull(resourceWrapperFactory, nameof(resourceWrapperFactory)); EnsureArg.IsNotNull(resourceIdProvider, nameof(resourceIdProvider)); ConformanceProvider = conformanceProvider; FhirDataStore = fhirDataStore; _resourceWrapperFactory = resourceWrapperFactory; _resourceIdProvider = resourceIdProvider; }
protected BaseResourceHandler( IFhirDataStore fhirDataStore, Lazy <IConformanceProvider> conformanceProvider, IResourceWrapperFactory resourceWrapperFactory, ResourceIdProvider resourceIdProvider, IAuthorizationService <DataActions> authorizationService) { EnsureArg.IsNotNull(fhirDataStore, nameof(fhirDataStore)); EnsureArg.IsNotNull(conformanceProvider, nameof(conformanceProvider)); EnsureArg.IsNotNull(resourceWrapperFactory, nameof(resourceWrapperFactory)); EnsureArg.IsNotNull(resourceIdProvider, nameof(resourceIdProvider)); EnsureArg.IsNotNull(authorizationService, nameof(authorizationService)); ConformanceProvider = conformanceProvider; AuthorizationService = authorizationService; FhirDataStore = fhirDataStore; _resourceWrapperFactory = resourceWrapperFactory; _resourceIdProvider = resourceIdProvider; }
public BundleHandlerTests() { _router = Substitute.For <IRouter>(); var fhirRequestContext = Substitute.For <IFhirRequestContext>(); fhirRequestContext.BaseUri.Returns(new Uri("https://localhost/")); fhirRequestContext.CorrelationId.Returns(Guid.NewGuid().ToString()); _fhirRequestContextAccessor = Substitute.For <IFhirRequestContextAccessor>(); _fhirRequestContextAccessor.FhirRequestContext.Returns(fhirRequestContext); _httpContextAccessor = Substitute.For <IHttpContextAccessor>(); _fhirJsonSerializer = new FhirJsonSerializer(); _fhirJsonParser = new FhirJsonParser(); _bundleHttpContextAccessor = new BundleHttpContextAccessor(); IFeatureCollection featureCollection = CreateFeatureCollection(); var httpContext = new DefaultHttpContext(featureCollection) { Request = { Scheme = "https", Host = new HostString("localhost"), PathBase = new PathString("/"), }, }; _httpContextAccessor.HttpContext.Returns(httpContext); var transactionHandler = Substitute.For <ITransactionHandler>(); _resourceIdProvider = new ResourceIdProvider(); _bundleHandler = new BundleHandler(_httpContextAccessor, _fhirRequestContextAccessor, _fhirJsonSerializer, _fhirJsonParser, transactionHandler, _bundleHttpContextAccessor, _resourceIdProvider, NullLogger <BundleHandler> .Instance); }
public BundleHandlerTests() { _router = Substitute.For <IRouter>(); _fhirRequestContext = new DefaultFhirRequestContext { BaseUri = new Uri("https://localhost/"), CorrelationId = Guid.NewGuid().ToString(), ResponseHeaders = new HeaderDictionary(), }; var fhirRequestContextAccessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >(); fhirRequestContextAccessor.RequestContext.Returns(_fhirRequestContext); IHttpContextAccessor httpContextAccessor = Substitute.For <IHttpContextAccessor>(); var fhirJsonSerializer = new FhirJsonSerializer(); var fhirJsonParser = new FhirJsonParser(); ISearchService searchService = Substitute.For <ISearchService>(); var resourceReferenceResolver = new ResourceReferenceResolver(searchService, new QueryStringParser()); var transactionBundleValidator = new TransactionBundleValidator(resourceReferenceResolver); var bundleHttpContextAccessor = new BundleHttpContextAccessor(); IFeatureCollection featureCollection = CreateFeatureCollection(); var httpContext = new DefaultHttpContext(featureCollection) { Request = { Scheme = "https", Host = new HostString("localhost"), PathBase = new PathString("/"), }, }; httpContextAccessor.HttpContext.Returns(httpContext); var transactionHandler = Substitute.For <ITransactionHandler>(); var resourceIdProvider = new ResourceIdProvider(); IAuditEventTypeMapping auditEventTypeMapping = Substitute.For <IAuditEventTypeMapping>(); _bundleConfiguration = new BundleConfiguration(); var bundleOptions = Substitute.For <IOptions <BundleConfiguration> >(); bundleOptions.Value.Returns(_bundleConfiguration); _mediator = Substitute.For <IMediator>(); _bundleHandler = new BundleHandler( httpContextAccessor, fhirRequestContextAccessor, fhirJsonSerializer, fhirJsonParser, transactionHandler, bundleHttpContextAccessor, resourceIdProvider, transactionBundleValidator, resourceReferenceResolver, auditEventTypeMapping, bundleOptions, DisabledFhirAuthorizationService.Instance, _mediator, NullLogger <BundleHandler> .Instance); }