private void RegisterExecutionHarvesterForEachClient(ContainerBuilder builder) { foreach (var clientApiKeySecret in _settings.CurrentValue.BitfinexAdapterService.Credentials) { if (!String.IsNullOrWhiteSpace(clientApiKeySecret.ApiKey) && !String.IsNullOrWhiteSpace(clientApiKeySecret.ApiSecret)) { var socketSubscriber = new BitfinexWebSocketSubscriber(_settings.CurrentValue.BitfinexAdapterService, true, _log, clientApiKeySecret.ApiKey, clientApiKeySecret.ApiSecret); builder.RegisterType <BitfinexExecutionHarvester>() .AsSelf() .As <IHostedService>() .WithParameter("socketSubscriber", socketSubscriber) .Named <BitfinexExecutionHarvester>(clientApiKeySecret.ApiKey).SingleInstance(); } } }
public void ShouldConnectToOpenFeed() { var subscriber = new BitfinexWebSocketSubscriber(_bitfinexExchangeConfiguration, false, _log); var gate = new ManualResetEventSlim(false); var response = ""; subscriber.Subscribe(s => { response = s; gate.Set(); return(Task.CompletedTask); }); subscriber.Start(); var recieved = gate.Wait(TimeSpan.FromSeconds(10)); Assert.True(recieved); Assert.Equal("{\"event\":\"info\",\"version\":1.1}", response); }
public BitfinexExecutionHarvesterTest() { ILog log = new LogToConsole(); var bitfinexExchangeConfiguration = new BitfinexExchangeConfiguration { ApiKey = ApiKey, ApiSecret = ApiSecret, WebSocketEndpointUrl = WsApiUrl, SupportedCurrencySymbols = new[] { new CurrencySymbol { ExchangeSymbol = "LTCUSD", LykkeSymbol = "LTCUSD" } } }; var subscriber = new BitfinexWebSocketSubscriber(bitfinexExchangeConfiguration, true, log); _harvester = new BitfinexExecutionHarvester(subscriber, new BitfinexModelConverter(bitfinexExchangeConfiguration), _testHandler, log); }
public void ShouldConnectToAuthFeed() { var subscriber = new BitfinexWebSocketSubscriber(_bitfinexExchangeConfiguration, true, _log); var gate = new ManualResetEventSlim(false); var response = ""; subscriber.Subscribe(s => { response = s; gate.Set(); return(Task.CompletedTask); }); subscriber.Start(); var recieved = gate.Wait(TimeSpan.FromSeconds(10)); Assert.True(recieved); Assert.NotEqual("{\"event\":\"auth\",\"status\":\"FAILED\",\"chanId\":0,\"code\":10100,\"msg\":\"apikey: invalid\"}", response); }