public CosmosDbSearchParameterStatusInitializerTests() { ISearchParameterStatusDataStore searchParameterStatusDataStore = Substitute.For <ISearchParameterStatusDataStore>(); _cosmosDocumentQueryFactory = Substitute.For <ICosmosQueryFactory>(); _initializer = new CosmosDbSearchParameterStatusInitializer( () => searchParameterStatusDataStore, _cosmosDocumentQueryFactory, new CosmosDataStoreConfiguration()); _testParameterUri = new Uri("/test", UriKind.Relative); searchParameterStatusDataStore .GetSearchParameterStatuses() .Returns(new[] { new ResourceSearchParameterStatus { Uri = _testParameterUri, Status = SearchParameterStatus.Enabled, LastUpdated = Clock.UtcNow, IsPartiallySupported = false, }, }); }
/// <summary> /// Initializes a new instance of the <see cref="CosmosFhirDataStore"/> class. /// </summary> /// <param name="containerScope"> /// A function that returns an <see cref="Container"/>. /// Note that this is a function so that the lifetime of the instance is not directly controlled by the IoC container. /// </param> /// <param name="cosmosDataStoreConfiguration">The data store configuration.</param> /// <param name="namedCosmosCollectionConfigurationAccessor">The IOptions accessor to get a named version.</param> /// <param name="cosmosQueryFactory">The factory used to create the document query.</param> /// <param name="retryExceptionPolicyFactory">The retry exception policy factory.</param> /// <param name="logger">The logger instance.</param> /// <param name="modelInfoProvider">The model provider</param> /// <param name="coreFeatures">The core feature configuration</param> public CosmosFhirDataStore( IScoped <Container> containerScope, CosmosDataStoreConfiguration cosmosDataStoreConfiguration, IOptionsMonitor <CosmosCollectionConfiguration> namedCosmosCollectionConfigurationAccessor, ICosmosQueryFactory cosmosQueryFactory, RetryExceptionPolicyFactory retryExceptionPolicyFactory, ILogger <CosmosFhirDataStore> logger, IModelInfoProvider modelInfoProvider, IOptions <CoreFeatureConfiguration> coreFeatures) { EnsureArg.IsNotNull(containerScope, nameof(containerScope)); EnsureArg.IsNotNull(cosmosDataStoreConfiguration, nameof(cosmosDataStoreConfiguration)); EnsureArg.IsNotNull(namedCosmosCollectionConfigurationAccessor, nameof(namedCosmosCollectionConfigurationAccessor)); EnsureArg.IsNotNull(cosmosQueryFactory, nameof(cosmosQueryFactory)); EnsureArg.IsNotNull(retryExceptionPolicyFactory, nameof(retryExceptionPolicyFactory)); EnsureArg.IsNotNull(logger, nameof(logger)); EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider)); EnsureArg.IsNotNull(coreFeatures, nameof(coreFeatures)); _containerScope = containerScope; _cosmosQueryFactory = cosmosQueryFactory; _retryExceptionPolicyFactory = retryExceptionPolicyFactory; _logger = logger; _modelInfoProvider = modelInfoProvider; _coreFeatures = coreFeatures.Value; }
public CosmosDbStatusRegistryInitializer( FilebasedSearchParameterRegistry.Resolver filebasedRegistry, ICosmosQueryFactory queryFactory) { EnsureArg.IsNotNull(filebasedRegistry, nameof(filebasedRegistry)); EnsureArg.IsNotNull(queryFactory, nameof(queryFactory)); _filebasedRegistry = filebasedRegistry.Invoke(); _queryFactory = queryFactory; }
public CosmosDbSearchParameterStatusInitializer( FilebasedSearchParameterStatusDataStore.Resolver filebasedSearchParameterStatusDataStoreResolver, ICosmosQueryFactory queryFactory) { EnsureArg.IsNotNull(filebasedSearchParameterStatusDataStoreResolver, nameof(filebasedSearchParameterStatusDataStoreResolver)); EnsureArg.IsNotNull(queryFactory, nameof(queryFactory)); _filebasedSearchParameterStatusDataStore = filebasedSearchParameterStatusDataStoreResolver.Invoke(); _queryFactory = queryFactory; }
public CosmosDbSearchParameterStatusDataStore( Func <IScoped <Container> > containerScopeFactory, CosmosDataStoreConfiguration cosmosDataStoreConfiguration, ICosmosQueryFactory queryFactory) { EnsureArg.IsNotNull(containerScopeFactory, nameof(containerScopeFactory)); EnsureArg.IsNotNull(cosmosDataStoreConfiguration, nameof(cosmosDataStoreConfiguration)); EnsureArg.IsNotNull(queryFactory, nameof(queryFactory)); _containerScopeFactory = containerScopeFactory; _queryFactory = queryFactory; }
public CosmosFhirDataStoreTests() { _cosmosQueryFactory = Substitute.For <ICosmosQueryFactory>(); _dataStore = new CosmosFhirDataStore( Substitute.For <IScoped <Container> >(), _cosmosDataStoreConfiguration, Substitute.For <IOptionsMonitor <CosmosCollectionConfiguration> >(), _cosmosQueryFactory, new RetryExceptionPolicyFactory(_cosmosDataStoreConfiguration), NullLogger <CosmosFhirDataStore> .Instance, Options.Create(new CoreFeatureConfiguration())); }
public CosmosFhirDataStoreTests() { _cosmosQueryFactory = Substitute.For <ICosmosQueryFactory>(); _dataStore = new CosmosFhirDataStore( Substitute.For <IScoped <Container> >(), _cosmosDataStoreConfiguration, Substitute.For <IOptionsMonitor <CosmosCollectionConfiguration> >(), _cosmosQueryFactory, new RetryExceptionPolicyFactory(_cosmosDataStoreConfiguration, Substitute.For <RequestContextAccessor <IFhirRequestContext> >()), NullLogger <CosmosFhirDataStore> .Instance, Options.Create(new CoreFeatureConfiguration()), new Lazy <ISupportedSearchParameterDefinitionManager>(Substitute.For <ISupportedSearchParameterDefinitionManager>())); }
public CosmosFhirDataStoreTests() { _container = Substitute.For <Container>().CreateMockScope(); _cosmosQueryFactory = Substitute.For <ICosmosQueryFactory>(); var fhirRequestContext = Substitute.For <IFhirRequestContext>(); fhirRequestContext.ExecutingBatchOrTransaction.Returns(true); var requestContextAccessor = Substitute.For <RequestContextAccessor <IFhirRequestContext> >(); requestContextAccessor.RequestContext.Returns(fhirRequestContext); _dataStore = new CosmosFhirDataStore( _container, _cosmosDataStoreConfiguration, Substitute.For <IOptionsMonitor <CosmosCollectionConfiguration> >(), _cosmosQueryFactory, new RetryExceptionPolicyFactory(_cosmosDataStoreConfiguration, requestContextAccessor), NullLogger <CosmosFhirDataStore> .Instance, Options.Create(new CoreFeatureConfiguration()), new Lazy <ISupportedSearchParameterDefinitionManager>(Substitute.For <ISupportedSearchParameterDefinitionManager>())); }
/// <summary> /// Initializes a new instance of the <see cref="CosmosFhirOperationDataStore"/> class. /// </summary> /// <param name="containerScope">The factory for <see cref="Container"/>.</param> /// <param name="cosmosDataStoreConfiguration">The data store configuration.</param> /// <param name="namedCosmosCollectionConfigurationAccessor">The IOptions accessor to get a named version.</param> /// <param name="retryExceptionPolicyFactory">The retry exception policy factory.</param> /// <param name="queryFactory">The Query Factory</param> /// <param name="logger">The logger.</param> public CosmosFhirOperationDataStore( IScoped <Container> containerScope, CosmosDataStoreConfiguration cosmosDataStoreConfiguration, IOptionsMonitor <CosmosCollectionConfiguration> namedCosmosCollectionConfigurationAccessor, RetryExceptionPolicyFactory retryExceptionPolicyFactory, ICosmosQueryFactory queryFactory, ILogger <CosmosFhirOperationDataStore> logger) { EnsureArg.IsNotNull(containerScope, nameof(containerScope)); EnsureArg.IsNotNull(cosmosDataStoreConfiguration, nameof(cosmosDataStoreConfiguration)); EnsureArg.IsNotNull(namedCosmosCollectionConfigurationAccessor, nameof(namedCosmosCollectionConfigurationAccessor)); EnsureArg.IsNotNull(retryExceptionPolicyFactory, nameof(retryExceptionPolicyFactory)); EnsureArg.IsNotNull(logger, nameof(logger)); _containerScope = containerScope; _retryExceptionPolicyFactory = retryExceptionPolicyFactory; _queryFactory = queryFactory; _logger = logger; CosmosCollectionConfiguration collectionConfiguration = namedCosmosCollectionConfigurationAccessor.Get(Constants.CollectionConfigurationName); DatabaseId = cosmosDataStoreConfiguration.DatabaseId; CollectionId = collectionConfiguration.CollectionId; }