private BittrexSocketClient PrepareClient() { sub = new Subscription(); proxy = new Mock <IHubProxy>(); proxy.Setup(r => r.Subscribe(It.IsAny <string>())).Returns(sub); socket = new Mock <Interfaces.IHubConnection>(); socket.Setup(s => s.Stop(It.IsAny <TimeSpan>())); socket.Setup(s => s.Start()).Callback(() => { socket.Raise(s => s.StateChanged += null, new StateChange(ConnectionState.Connecting, ConnectionState.Connected)); }); socket.Setup(s => s.State).Returns(ConnectionState.Connected); socket.Setup(s => s.CreateHubProxy(It.IsAny <string>())).Returns(proxy.Object); var factory = new Mock <IConnectionFactory>(); factory.Setup(s => s.Create(It.IsAny <string>())).Returns(socket.Object); cloud = new Mock <ICloudFlareAuthenticator>(); cloud.Setup(c => c.GetCloudFlareCookies(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>())).Returns(new CookieContainer()); var client = new BittrexSocketClient { ConnectionFactory = factory.Object, CloudFlareAuthenticator = cloud.Object }; client.GetType().GetField("connection", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, null); client.GetType().GetField("registrations", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, new List <BittrexRegistration>()); client.GetType().GetField("reconnecting", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, false); return(client); }
private BittrexSocketClient PrepareClient() { proxy = new Mock <IHubProxy>(); proxy.Setup(r => r.Invoke <bool>(It.IsAny <string>())).Returns(Task.FromResult(true)); proxy.Setup(r => r.Subscribe(It.IsAny <string>())).Returns(new Subscription()); socket = new Mock <Interfaces.IHubConnection>(); socket.Setup(s => s.Stop(It.IsAny <TimeSpan>())); socket.Setup(s => s.Start()).Returns(Task.Run(() => Thread.Sleep(1))).Callback(() => { socket.Raise(s => s.StateChanged += null, new StateChange(ConnectionState.Connecting, ConnectionState.Connected)); }); socket.Setup(s => s.State).Returns(ConnectionState.Connected); socket.Setup(s => s.CreateHubProxy(It.IsAny <string>())).Returns(proxy.Object); var factory = new Mock <IConnectionFactory>(); factory.Setup(s => s.Create(It.IsAny <Log>(), It.IsAny <string>())).Returns(socket.Object); var client = new BittrexSocketClient { ConnectionFactory = factory.Object }; client.GetType().GetField("connection", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, null); client.GetType().GetField("registrations", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, new List <BittrexRegistration>()); client.GetType().GetField("reconnecting", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, false); return(client); }