Skip to content

Commit 0a4a5d5

Browse files
committed
70783d34ce198e3d82a13c9ecf0aa9771d8646c2
1 parent db2c5b7 commit 0a4a5d5

File tree

3 files changed

+127
-0
lines changed

3 files changed

+127
-0
lines changed

src/SocketIOClient.UnitTest/ProcessorTests/EngineIOProtocolProcessorTest.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,37 @@ public void Open()
2222
Assert.AreEqual(typeof(OpenedProcessor), processor.NextProcessor.GetType());
2323
mockOpenedHandler.Verify(x => x(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<int>()), Times.Once());
2424
}
25+
26+
[TestMethod]
27+
public void Ping()
28+
{
29+
var mockPingHandler = new Mock<OnPing>();
30+
31+
var processor = new EngineIOProtocolProcessor();
32+
processor.Process(new MessageContext
33+
{
34+
Message = "2",
35+
PingHandler = mockPingHandler.Object
36+
});
37+
38+
Assert.AreEqual(typeof(PingProcessor), processor.NextProcessor.GetType());
39+
mockPingHandler.Verify(x => x(), Times.Once());
40+
}
41+
42+
[TestMethod]
43+
public void Pong()
44+
{
45+
var mockPongHandler = new Mock<OnPong>();
46+
47+
var processor = new EngineIOProtocolProcessor();
48+
processor.Process(new MessageContext
49+
{
50+
Message = "3",
51+
PongHandler = mockPongHandler.Object
52+
});
53+
54+
Assert.AreEqual(typeof(PongProcessor), processor.NextProcessor.GetType());
55+
mockPongHandler.Verify(x => x(), Times.Once());
56+
}
2557
}
2658
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using SocketIOClient.Processors;
3+
using System.Collections.Generic;
4+
using System.Text.Json;
5+
6+
namespace SocketIOClient.UnitTest.ProcessorTests
7+
{
8+
[TestClass]
9+
public class EventProcessorTest
10+
{
11+
[TestMethod]
12+
public void TestWithoutNamespace()
13+
{
14+
int packetId = 0;
15+
string eventName = null;
16+
List<JsonElement> array = null;
17+
18+
var processor = new EventProcessor();
19+
processor.Process(new MessageContext
20+
{
21+
Message = "[\"hi\",\"vvv\"]",
22+
EventReceivedHandler = (id, name, arr) =>
23+
{
24+
packetId = id;
25+
eventName = name;
26+
array = arr;
27+
}
28+
});
29+
30+
Assert.AreEqual(0, packetId);
31+
Assert.AreEqual("hi", eventName);
32+
Assert.AreEqual(1, array.Count);
33+
Assert.AreEqual("vvv", array[0].GetString());
34+
}
35+
36+
[TestMethod]
37+
public void TestWithNamespace()
38+
{
39+
int packetId = 0;
40+
string eventName = null;
41+
List<JsonElement> array = null;
42+
43+
var processor = new EventProcessor();
44+
processor.Process(new MessageContext
45+
{
46+
Namespace = "/ms",
47+
Message = "/ms,[\"hi\",\"vvv\"]",
48+
EventReceivedHandler = (id, name, arr) =>
49+
{
50+
packetId = id;
51+
eventName = name;
52+
array = arr;
53+
}
54+
});
55+
56+
Assert.AreEqual(0, packetId);
57+
Assert.AreEqual("hi", eventName);
58+
Assert.AreEqual(1, array.Count);
59+
Assert.AreEqual("vvv", array[0].GetString());
60+
}
61+
}
62+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using SocketIOClient.Processors;
3+
4+
namespace SocketIOClient.UnitTest.ProcessorTests
5+
{
6+
[TestClass]
7+
public class OpenedProcessorTest
8+
{
9+
[TestMethod]
10+
public void TestOpenedProcessor()
11+
{
12+
string sid = null;
13+
int pingInterval = 0;
14+
int pingTimeout = 0;
15+
16+
var processor = new OpenedProcessor();
17+
processor.Process(new MessageContext
18+
{
19+
Message = "{\"sid\":\"6lV4Ef7YOyGF-5dCBvKy\",\"upgrades\":[],\"pingInterval\":10000,\"pingTimeout\":5000}",
20+
OpenedHandler = (id, interval, timeout) =>
21+
{
22+
sid = id;
23+
pingInterval = interval;
24+
pingTimeout = timeout;
25+
}
26+
});
27+
28+
Assert.AreEqual("6lV4Ef7YOyGF-5dCBvKy", sid);
29+
Assert.AreEqual(10000, pingInterval);
30+
Assert.AreEqual(5000, pingTimeout);
31+
}
32+
}
33+
}

0 commit comments

Comments
 (0)