Пример #1
0
        public async Task InitializeAsync()
        {
            var cleanFixture             = new CleanDBFixture();
            var exchangeSyncSetupFixture = new ExchangeSyncSetupFixture();

            await cleanFixture.InitializeAsync();

            await exchangeSyncSetupFixture.InitializeAsync();

            _sync       = exchangeSyncSetupFixture.ExchangeSync;
            _syncRepo   = exchangeSyncSetupFixture.ExchangeSyncRepo;
            _symbolRepo = exchangeSyncSetupFixture.SymbolRepo;
        }
Пример #2
0
        public async Task InitializeAsync()
        {
            var mockDbOptions = new Mock <IOptionsMonitor <DbOptions> >();

            mockDbOptions.Setup(x => x.CurrentValue).Returns(new DbOptions
            {
                ConnectionString         = AppTestSettings.Instance.TestDBConnectionString,
                DefaultBulkCopyBatchSize = AppTestSettings.Instance.DefaultBulkCopyBatchSize
            });

            var nasdaqLogger         = new Mock <ILogger <NasdaqParser> >();
            var exchangeClientLogger = new Mock <ILogger <ExchangeClient> >();

            // Setup dependencies
            ExchangeSyncRepo = new ExchangeSyncRepository(mockDbOptions.Object);

            string nasdaqDownloadUrl = (await ExchangeSyncRepo.GetSyncSettings()).Url;

            // Stub FTP so we use downloaded file from disk instead of every test run
            var stubFTPClient = new CachedNasdaqClient(nasdaqDownloadUrl);

            var exchangeClient = new ExchangeClient(
                ftpClient: stubFTPClient,
                parser: new NasdaqParser(nasdaqLogger.Object),
                logger: exchangeClientLogger.Object);

            var changesetFactory = new ExchangeSyncChangesetsFactory();

            ExchangeSync = new ExchangeSync(exchangeClient, ExchangeSyncRepo, changesetFactory, new Mock <ILogger <ExchangeSync> >().Object);
            SymbolRepo   = new SymbolRepository(mockDbOptions.Object);

            await ToggleSyncThreshold(false);

            await ExchangeSync.Sync();

            await ToggleSyncThreshold(true);
        }