public MongoDbClientStoreTests(MongoSetup mongoSetup) : base(mongoSetup) { _migrator = A.Fake <IClientStoreMigrator>(); _collectionName = "clients_" + Guid.NewGuid(); _encryptionKey = new SharedSecretEncryptionKey("The_Big_Secret"); _sut = new MongoDbClientStore(new MongoDatabaseClientProvider(Database), _collectionName, _encryptionKey, _migrator); }
public MongoDbClientStoreTests(MongoSetup mongoSetup) : base(mongoSetup) { _migrator = A.Fake <IClientStoreMigrator>(); _collectionName = "clients_" + Guid.NewGuid(); _encryptionKey = new SharedSecretEncryptionKey("The_Big_Secret"); _signatureAlgorithmDataRecordConverter = new SignatureAlgorithmDataRecordConverter(new FakeStringProtectorFactory()); _sut = new MongoDbClientStore(new MongoDatabaseClientProvider(Database), _collectionName, _encryptionKey, _migrator, _signatureAlgorithmDataRecordConverter); }
public OnlyOnceClientStoreMigrator(IClientStoreMigrator decorated, IClientStoreBaseliner baseliner, ISemaphoreFactory semaphoreFactory) { if (baseliner == null) { throw new ArgumentNullException(nameof(baseliner)); } _decorated = decorated ?? throw new ArgumentNullException(nameof(decorated)); _semaphoreFactory = semaphoreFactory ?? throw new ArgumentNullException(nameof(semaphoreFactory)); _semaphore = _semaphoreFactory.CreateLock(); _lazyBaseline = new Lazy <Task <int?> >(baseliner.GetBaseline, LazyThreadSafetyMode.PublicationOnly); _runResult = null; }
public MongoDbClientStore( IMongoDatabaseClientProvider clientProvider, string collectionName, SharedSecretEncryptionKey encryptionKey, IClientStoreMigrator migrator) { if (clientProvider == null) { throw new ArgumentNullException(nameof(clientProvider)); } if (string.IsNullOrEmpty(collectionName)) { throw new ArgumentException("Value cannot be null or empty.", nameof(collectionName)); } _encryptionKey = encryptionKey; _migrator = migrator ?? throw new ArgumentNullException(nameof(migrator)); _lazyCollection = new Lazy <IMongoCollection <ClientDataRecordV2> >(() => { var database = clientProvider.Provide(); return(database.GetCollection <ClientDataRecordV2>(collectionName)); }); }