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);
 }
Пример #2
0
 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));
            });
        }