Beispiel #1
0
        public void SubscribingToTickerUpdates_Should_TriggerWithTickerUpdate()
        {
            // arrange
            var socket = new TestSocket();

            socket.CanConnect = true;
            var client = TestHelpers.CreateSocketClient(socket);

            BitfinexStreamSymbolOverview result = null;
            var subTask = client.SubscribeToTickerUpdatesAsync("tBTCUSD", data => result = data);

            var subResponse = new TickerSubscriptionResponse()
            {
                Channel   = "ticker",
                Event     = "subscribed",
                ChannelId = 1,
                Symbol    = "tBTCUSD",
                Pair      = "BTCUSD"
            };

            socket.InvokeMessage(subResponse);
            subTask.Wait(5000);
            BitfinexStreamSymbolOverview expected = new BitfinexStreamSymbolOverview();

            // act
            socket.InvokeMessage($"[1, {JsonConvert.SerializeObject(expected)}]");

            // assert
            Assert.IsTrue(TestHelpers.AreEqual(result, expected));
        }
 private void ProduceToKafka(BitfinexStreamSymbolOverview tick, string symbol)
 {
     //Console.WriteLine($"[{ExchName}]   1 symbol ticker updates received");
     int quoteVolume = 0;
     DateTime dt = DateTime.Now.ToUniversalTime();
     //Console.WriteLine($"{dt:G} [{ExchName} {symbol}]  {tick.LastPrice} ({tick.Volume}/{quoteVolume})    B {tick.BidSize} : {tick.Bid}  x  {tick.Ask} : {tick.AskSize} A");
     string msg = string.Format($"{dt:G},{ExchName},{symbol},{tick.LastPrice},{tick.Volume},{quoteVolume},{tick.BidSize},{tick.Bid},{tick.Ask},{tick.AskSize}");
     //Console.WriteLine(msg);
     _p.Produce(msg);
 }