public async Task Streaming_From_Server_CancelToken_works() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc); var cts = new CancellationTokenSource(); var res = HubProxy.WithCancellationToken(client, cts.Token, r => r.StreamFromServer("merp")); //var res = client.StreamFromServer("nerp"); List <int> results = new List <int>(); await Assert.ThrowsAsync <TaskCanceledException>(async() => { var counter = 0; await foreach (var myInt in res) { results.Add(myInt); counter = counter + 1; if (counter == 2) { cts.Cancel(); } } }); Assert.Equal(2, results.Count); }
public async Task Streaming_To_Server_works_Under_Invoke() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc, true); await client.StreamToServer(clientStreamData(), "nerp"); Assert.Equal(5, GroupHub.streamCounter["nerp"].Count); }
public async Task TwoWay_Comms_Work_Sync() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc); var res = client.TestTwoWaySync("nerp"); Assert.Contains("nerp", res); Assert.Contains("derp", res); }
private async Task _SignalRHelper_Can_Communicate_Client_Server() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc); await client.StringType("hello"); SpinWait.SpinUntil(() => false, TimeSpan.FromSeconds(2)); Assert.True(GroupHub.callCounter["hello"] > 0); }
public async Task AlwaysInvokeAttribute_Is_Respected() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc, false); await client.StreamToServerInvoke(clientStreamData(), "ainvoke"); //await Task.Delay(TimeSpan.FromSeconds(5)); Assert.Equal(5, GroupHub.streamCounter["ainvoke"].Count); }
public async void Void_Invokes_Work() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc, true); var guid = Guid.NewGuid(); client.VoidValueType(guid); SpinWait.SpinUntil(() => false, TimeSpan.FromSeconds(2)); Assert.True(GroupHub.callCounter[guid.ToString()] > 0); }
public async Task SendMethod_Works_Over_invoke() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc, true); await client.StringType("invoke"); SpinWait.SpinUntil(() => false, TimeSpan.FromSeconds(2)); Assert.True(GroupHub.callCounter["invoke"] > 0); }
public async Task Streaming_To_Server_works_Under_Send() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc, false); await client.StreamToServer(clientStreamData(), "streamserver"); await Task.Delay(TimeSpan.FromSeconds(5)); Assert.Equal(5, GroupHub.streamCounter["streamserver"].Count); }
private async Task _SignalRHelper_HubReceiverContainer_Gets_From_Server() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc); var hubRec = new HubReceiverContainer <IFoo>(hc, new FooImpl()); await client.StringType("hello"); SpinWait.SpinUntil(() => false, TimeSpan.FromSeconds(2)); Assert.True(FooImpl.callCounter["hello"] > 0); GC.KeepAlive(hubRec); hubRec.Dispose(); }
public async Task AlwaysSendAttribute_Is_Respected() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc, true); await client.StreamToServerSend(clientStreamData(), "asend"); Assert.Throws <KeyNotFoundException>(() => GroupHub.streamCounter["asend"].Count); await Task.Delay(TimeSpan.FromSeconds(5)); Assert.Equal(5, GroupHub.streamCounter["asend"].Count); }
public async Task Streaming_From_Server_Channel_works() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc); var res = client.ReadChannel(); List <int> results = new List <int>(); await foreach (var myInt in res.ReadAllAsync()) { results.Add(myInt); } Assert.Equal(5, results.Count); }
private async Task _multiParam() { var hc = new HubConnectionBuilder() .WithUrl(ProxyTestHostHolder._mainHubString).Build(); await hc.StartAsync(); var client = HubProxyBuilder.CreateProxy <IBar>(hc); var hubRec = new HubReceiverContainer <IFoo>(hc, new FooImpl()); var theGuid = Guid.NewGuid(); await client.MultiParam("multi", theGuid); SpinWait.SpinUntil(() => false, TimeSpan.FromSeconds(2)); Assert.True(GroupHub.callCounter["multi" + theGuid] > 0); Assert.True(FooImpl.callCounter["multi" + theGuid] > 0); GC.KeepAlive(hubRec); hubRec.Dispose(); }