private DocumentServiceLeaseStoreManager CreateLeaseStoreManager( IChangeFeedDocumentClient documentClient, string hostName, IDocumentServiceLeaseUpdater leaseUpdater = null, IRequestOptionsFactory requestOptionsFactory = null) { var settings = new DocumentServiceLeaseStoreManagerSettings { LeaseCollectionInfo = collectionInfo, ContainerNamePrefix = storeNamePrefix, LeaseCollectionLink = collectionLink, HostName = hostName, }; // Make sure we test both constructors. return(leaseUpdater != null ? new DocumentServiceLeaseStoreManager( settings, documentClient, requestOptionsFactory ?? Mock.Of <IRequestOptionsFactory>(), leaseUpdater) : new DocumentServiceLeaseStoreManager( settings, documentClient, requestOptionsFactory ?? Mock.Of <IRequestOptionsFactory>())); }
public DocumentServiceLeaseStoreManager( DocumentServiceLeaseStoreManagerSettings settings, IChangeFeedDocumentClient leaseDocumentClient, IRequestOptionsFactory requestOptionsFactory) : this(settings, leaseDocumentClient, requestOptionsFactory, new DocumentServiceLeaseUpdater(leaseDocumentClient)) { }
public DocumentServiceLeaseStoreManagerBuilder WithRequestOptionsFactory(IRequestOptionsFactory requestOptionsFactory) { if (requestOptionsFactory == null) { throw new ArgumentNullException(nameof(requestOptionsFactory)); } this.requestOptionsFactory = requestOptionsFactory; return(this); }
public DocumentServiceLeaseStore( IChangeFeedDocumentClient client, DocumentCollectionInfo leaseCollectionInfo, string containerNamePrefix, string leaseCollectionLink, IRequestOptionsFactory requestOptionsFactory) { this.client = client; this.leaseStoreCollectionInfo = leaseCollectionInfo; this.containerNamePrefix = containerNamePrefix; this.leaseCollectionLink = leaseCollectionLink; this.requestOptionsFactory = requestOptionsFactory; }
/// <summary> /// Initializes a new instance of the <see cref="DocumentServiceLeaseStoreManager"/> class. /// </summary> /// <remarks> /// Internal only for testing purposes, otherwise would be private. /// </remarks> internal DocumentServiceLeaseStoreManager( DocumentServiceLeaseStoreManagerSettings settings, IChangeFeedDocumentClient leaseDocumentClient, IRequestOptionsFactory requestOptionsFactory, IDocumentServiceLeaseUpdater leaseUpdater) // For testing purposes only. { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (settings.LeaseCollectionInfo == null) { throw new ArgumentNullException(nameof(settings.LeaseCollectionInfo)); } if (settings.ContainerNamePrefix == null) { throw new ArgumentNullException(nameof(settings.ContainerNamePrefix)); } if (settings.LeaseCollectionLink == null) { throw new ArgumentNullException(nameof(settings.LeaseCollectionLink)); } if (string.IsNullOrEmpty(settings.HostName)) { throw new ArgumentNullException(nameof(settings.HostName)); } if (leaseDocumentClient == null) { throw new ArgumentNullException(nameof(leaseDocumentClient)); } if (requestOptionsFactory == null) { throw new ArgumentException(nameof(requestOptionsFactory)); } if (leaseUpdater == null) { throw new ArgumentException(nameof(leaseUpdater)); } this.settings = settings; this.client = leaseDocumentClient; this.requestOptionsFactory = requestOptionsFactory; this.leaseUpdater = leaseUpdater; this.leaseStore = new DocumentServiceLeaseStore( this.client, this.settings.LeaseCollectionInfo, this.settings.ContainerNamePrefix, this.settings.LeaseCollectionLink, this.requestOptionsFactory); }