protected async Task CallUnregisteredServiceCore(JsonServer js, JsonClient jc, ICredentials credentials = null) { // event handlers var connected = 0; var disconnected = 0; js.ClientConnected += (s, e) => connected++; js.ClientDisconnected += (s, e) => disconnected++; js.UnhandledException += (s, e) => Assert.Fail($"Unhandled server exception: {e.Exception}. Connected: {connected}, disconnected: {disconnected}."); jc.UnhandledException += (s, e) => Assert.Fail($"Unhandled client exception: {e.Exception}. Connected: {connected}, disconnected: {disconnected}."); // start json server and connect the client js.Start(); await jc.ConnectAsync(credentials); // call UnregisteredService var msg = new UnregisteredService(); var ex = Assert.ThrowsAsync <MethodNotFoundException>(async() => await Assert_NotTimedOut(jc.Call(msg), "jc.Call(UnregisteredService)")); Assert.AreEqual(MethodNotFoundException.ErrorCode, ex.Code); // make sure all incoming messages are processed Assert.AreEqual(0, jc.PendingMessages.Count); }
public TestHandlerWithMultipleArguments(ResponseContext responseContext, UnregisteredService service, TestOptions options, int somethingElse) { ResponseContext = responseContext; Service = service; Options = options; SomethingElse = somethingElse; }