public async Task Eio3HttpConnected2Test() { string uri = "http://localhost:11002/socket.io/?token=V3&EIO=3&transport=polling"; var mockHttp = new MockHttpMessageHandler(); mockHttp.When(uri) .Respond("text/plain", "1:21:3"); var httpClient = mockHttp.ToHttpClient(); var result = new List <string>(); var transport = new HttpEio3Transport(httpClient) { OnTextReceived = text => result.Add(text) }; await transport.GetAsync(uri, CancellationToken.None); Assert.AreEqual(2, result.Count); Assert.AreEqual("2", result[0]); Assert.AreEqual("3", result[1]); }
public async Task Eio3GetBinaryTest() { string uri = "http://localhost:11002/socket.io/?token=V3&EIO=3&transport=polling"; byte[] arrOutput = { 0x00, 0x07, 0x05, 0xFF, 0x34, 0x35, 0x32, 0x2D, 0x5B, 0x22, 0x77, 0x65, 0x6C, 0x63, 0x6F, 0x6D, 0x65, 0x22, 0x2C, 0x7B, 0x22, 0x5F, 0x70, 0x6C, 0x61, 0x63, 0x65, 0x68, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x22, 0x6E, 0x75, 0x6D, 0x22, 0x3A, 0x30, 0x7D, 0x2C, 0x7B, 0x22, 0x5F, 0x70, 0x6C, 0x61, 0x63, 0x65, 0x68, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x22, 0x3A, 0x74, 0x72, 0x75, 0x65, 0x2C, 0x22, 0x6E, 0x75, 0x6D, 0x22, 0x3A, 0x31, 0x7D, 0x5D, 0x01, 0x02, 0x09, 0xFF, 0x04, 0x77, 0x65, 0x6C, 0x63, 0x6F, 0x6D, 0x65, 0x20, 0x42, 0x71, 0x46, 0x63, 0x32, 0x53, 0x6F, 0x72, 0x67, 0x75, 0x6B, 0x4F, 0x32, 0x36, 0x2D, 0x6C, 0x41, 0x41, 0x41, 0x4A, 0x01, 0x05, 0xFF, 0x04, 0x74, 0x65, 0x73, 0x74 }; var mockHttp = new MockHttpMessageHandler(); mockHttp.When(uri) .Respond(req => { var content = new ByteArrayContent(arrOutput); content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); return(new HttpResponseMessage { Content = content }); }); var httpClient = mockHttp.ToHttpClient(); var texts = new List <string>(); var bytes = new List <byte[]>(); var transport = new HttpEio3Transport(httpClient) { OnTextReceived = text => texts.Add(text), OnBinaryReceived = b => bytes.Add(b) }; await transport.GetAsync(uri, CancellationToken.None); await Task.Delay(100); Assert.AreEqual(1, texts.Count); Assert.AreEqual("452-[\"welcome\",{\"_placeholder\":true,\"num\":0},{\"_placeholder\":true,\"num\":1}]", texts[0]); Assert.AreEqual(2, bytes.Count); Assert.AreEqual("welcome BqFc2SorgukO26-lAAAJ", Encoding.UTF8.GetString(bytes[0])); Assert.AreEqual("test", Encoding.UTF8.GetString(bytes[1])); }