isolate namespace and regular sockets

This commit is contained in:
Erik 2015-09-26 11:56:24 -04:00
parent 39135c089b
commit 3791b9c112
6 changed files with 69 additions and 99 deletions

View File

@ -11,7 +11,6 @@
572EF2251B51F16C00EEBB58 /* SocketIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572EF2191B51F16C00EEBB58 /* SocketIO.framework */; };
572EF23D1B51F18A00EEBB58 /* SocketIO-Mac.h in Headers */ = {isa = PBXBuildFile; fileRef = 572EF23C1B51F18A00EEBB58 /* SocketIO-Mac.h */; settings = {ATTRIBUTES = (Public, ); }; };
572EF2431B51F18A00EEBB58 /* SocketIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572EF2381B51F18A00EEBB58 /* SocketIO.framework */; };
572EF24A1B51F18A00EEBB58 /* SocketIO_MacTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 572EF2491B51F18A00EEBB58 /* SocketIO_MacTests.swift */; };
5764DF891B51F254004FF46E /* SocketAckManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7C1B51F254004FF46E /* SocketAckManager.swift */; };
5764DF8A1B51F254004FF46E /* SocketAckManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7C1B51F254004FF46E /* SocketAckManager.swift */; };
5764DF8B1B51F254004FF46E /* SocketAnyEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7D1B51F254004FF46E /* SocketAnyEvent.swift */; };
@ -38,20 +37,6 @@
5764DFA01B51F254004FF46E /* SwiftRegex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF871B51F254004FF46E /* SwiftRegex.swift */; };
5764DFA11B51F254004FF46E /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF881B51F254004FF46E /* WebSocket.swift */; };
5764DFA21B51F254004FF46E /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF881B51F254004FF46E /* WebSocket.swift */; };
7458952A1BB59A0A0050ACC8 /* SocketAckManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7C1B51F254004FF46E /* SocketAckManager.swift */; };
7458952B1BB59A0A0050ACC8 /* SocketAnyEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7D1B51F254004FF46E /* SocketAnyEvent.swift */; };
7458952C1BB59A0A0050ACC8 /* SocketEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7E1B51F254004FF46E /* SocketEngine.swift */; };
7458952D1BB59A0A0050ACC8 /* SocketEngineClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7F1B51F254004FF46E /* SocketEngineClient.swift */; };
7458952E1BB59A0A0050ACC8 /* SocketEventHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF801B51F254004FF46E /* SocketEventHandler.swift */; };
7458952F1BB59A0A0050ACC8 /* SocketFixUTF8.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF811B51F254004FF46E /* SocketFixUTF8.swift */; };
745895301BB59A0A0050ACC8 /* SocketIOClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF821B51F254004FF46E /* SocketIOClient.swift */; };
745895311BB59A0A0050ACC8 /* SocketLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF831B51F254004FF46E /* SocketLogger.swift */; };
745895321BB59A0A0050ACC8 /* SocketPacket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF841B51F254004FF46E /* SocketPacket.swift */; };
745895331BB59A0A0050ACC8 /* SocketParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF851B51F254004FF46E /* SocketParser.swift */; };
745895341BB59A0A0050ACC8 /* SocketStringReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74D765611B9F0D870028551C /* SocketStringReader.swift */; };
745895351BB59A0A0050ACC8 /* SocketTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF861B51F254004FF46E /* SocketTypes.swift */; };
745895361BB59A0A0050ACC8 /* SwiftRegex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF871B51F254004FF46E /* SwiftRegex.swift */; };
745895371BB59A0A0050ACC8 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF881B51F254004FF46E /* WebSocket.swift */; };
745895381BB59A0A0050ACC8 /* SocketAckManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A20D601B99E22F00BF9E44 /* SocketAckManagerTest.swift */; };
745895391BB59A0A0050ACC8 /* SocketAcknowledgementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */; };
7458953A1BB59A0A0050ACC8 /* SocketEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945B65421B63D9DB0081E995 /* SocketEmitTest.swift */; };
@ -61,6 +46,20 @@
7458953E1BB59A0A0050ACC8 /* SocketTestCases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94CB8F0A1B6E48B90019ED53 /* SocketTestCases.swift */; };
7458953F1BB59A0A0050ACC8 /* AbstractSocketTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94CB8F0C1B6E66E60019ED53 /* AbstractSocketTest.swift */; };
745895401BB59A0A0050ACC8 /* TestKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 941A4AB91B67A56C00C42318 /* TestKind.swift */; };
7472A5E11BB6ECE800CD4F59 /* SocketAckManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7C1B51F254004FF46E /* SocketAckManager.swift */; };
7472A5E21BB6ECE800CD4F59 /* SocketAnyEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7D1B51F254004FF46E /* SocketAnyEvent.swift */; };
7472A5E31BB6ECE800CD4F59 /* SocketEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7E1B51F254004FF46E /* SocketEngine.swift */; };
7472A5E41BB6ECE800CD4F59 /* SocketEngineClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7F1B51F254004FF46E /* SocketEngineClient.swift */; };
7472A5E51BB6ECE800CD4F59 /* SocketEventHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF801B51F254004FF46E /* SocketEventHandler.swift */; };
7472A5E61BB6ECE800CD4F59 /* SocketFixUTF8.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF811B51F254004FF46E /* SocketFixUTF8.swift */; };
7472A5E71BB6ECE800CD4F59 /* SocketIOClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF821B51F254004FF46E /* SocketIOClient.swift */; };
7472A5E81BB6ECE800CD4F59 /* SocketLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF831B51F254004FF46E /* SocketLogger.swift */; };
7472A5E91BB6ECE800CD4F59 /* SocketPacket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF841B51F254004FF46E /* SocketPacket.swift */; };
7472A5EA1BB6ECE800CD4F59 /* SocketParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF851B51F254004FF46E /* SocketParser.swift */; };
7472A5EB1BB6ECE800CD4F59 /* SocketStringReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74D765611B9F0D870028551C /* SocketStringReader.swift */; };
7472A5EC1BB6ECE800CD4F59 /* SocketTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF861B51F254004FF46E /* SocketTypes.swift */; };
7472A5ED1BB6ECE800CD4F59 /* SwiftRegex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF871B51F254004FF46E /* SwiftRegex.swift */; };
7472A5EE1BB6ECE800CD4F59 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF881B51F254004FF46E /* WebSocket.swift */; };
74781D5A1B7E83930042CACA /* SocketIOClientStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74781D591B7E83930042CACA /* SocketIOClientStatus.swift */; };
74781D5B1B7E83930042CACA /* SocketIOClientStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74781D591B7E83930042CACA /* SocketIOClientStatus.swift */; };
74781D5C1B7E83930042CACA /* SocketIOClientStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74781D591B7E83930042CACA /* SocketIOClientStatus.swift */; };
@ -124,8 +123,6 @@
572EF23C1B51F18A00EEBB58 /* SocketIO-Mac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SocketIO-Mac.h"; sourceTree = "<group>"; };
572EF2421B51F18A00EEBB58 /* SocketIO-MacTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SocketIO-MacTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
572EF2481B51F18A00EEBB58 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
57425FB21BA3A46000BDAAC1 /* SocketIO.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SocketIO.framework; sourceTree = BUILT_PRODUCTS_DIR; };
57425FFA1BA3A4F100BDAAC1 /* SocketIO-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SocketIO-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
5764DF7C1B51F254004FF46E /* SocketAckManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketAckManager.swift; path = SocketIOClientSwift/SocketAckManager.swift; sourceTree = "<group>"; };
5764DF7D1B51F254004FF46E /* SocketAnyEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketAnyEvent.swift; path = SocketIOClientSwift/SocketAnyEvent.swift; sourceTree = "<group>"; };
5764DF7E1B51F254004FF46E /* SocketEngine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketEngine.swift; path = SocketIOClientSwift/SocketEngine.swift; sourceTree = "<group>"; };
@ -266,8 +263,8 @@
94A20D601B99E22F00BF9E44 /* SocketAckManagerTest.swift */,
94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */,
945B65421B63D9DB0081E995 /* SocketEmitTest.swift */,
94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */,
94242BB71B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift */,
94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */,
949FAE8C1B9B94E600073BE9 /* SocketParserTest.swift */,
94CB8F0A1B6E48B90019ED53 /* SocketTestCases.swift */,
94CB8F0C1B6E66E60019ED53 /* AbstractSocketTest.swift */,
@ -559,20 +556,20 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
7458952A1BB59A0A0050ACC8 /* SocketAckManager.swift in Sources */,
7458952B1BB59A0A0050ACC8 /* SocketAnyEvent.swift in Sources */,
7458952C1BB59A0A0050ACC8 /* SocketEngine.swift in Sources */,
7458952D1BB59A0A0050ACC8 /* SocketEngineClient.swift in Sources */,
7458952E1BB59A0A0050ACC8 /* SocketEventHandler.swift in Sources */,
7458952F1BB59A0A0050ACC8 /* SocketFixUTF8.swift in Sources */,
745895301BB59A0A0050ACC8 /* SocketIOClient.swift in Sources */,
745895311BB59A0A0050ACC8 /* SocketLogger.swift in Sources */,
745895321BB59A0A0050ACC8 /* SocketPacket.swift in Sources */,
745895331BB59A0A0050ACC8 /* SocketParser.swift in Sources */,
745895341BB59A0A0050ACC8 /* SocketStringReader.swift in Sources */,
745895351BB59A0A0050ACC8 /* SocketTypes.swift in Sources */,
745895361BB59A0A0050ACC8 /* SwiftRegex.swift in Sources */,
745895371BB59A0A0050ACC8 /* WebSocket.swift in Sources */,
7472A5E11BB6ECE800CD4F59 /* SocketAckManager.swift in Sources */,
7472A5E21BB6ECE800CD4F59 /* SocketAnyEvent.swift in Sources */,
7472A5E31BB6ECE800CD4F59 /* SocketEngine.swift in Sources */,
7472A5E41BB6ECE800CD4F59 /* SocketEngineClient.swift in Sources */,
7472A5E51BB6ECE800CD4F59 /* SocketEventHandler.swift in Sources */,
7472A5E61BB6ECE800CD4F59 /* SocketFixUTF8.swift in Sources */,
7472A5E71BB6ECE800CD4F59 /* SocketIOClient.swift in Sources */,
7472A5E81BB6ECE800CD4F59 /* SocketLogger.swift in Sources */,
7472A5E91BB6ECE800CD4F59 /* SocketPacket.swift in Sources */,
7472A5EA1BB6ECE800CD4F59 /* SocketParser.swift in Sources */,
7472A5EB1BB6ECE800CD4F59 /* SocketStringReader.swift in Sources */,
7472A5EC1BB6ECE800CD4F59 /* SocketTypes.swift in Sources */,
7472A5ED1BB6ECE800CD4F59 /* SwiftRegex.swift in Sources */,
7472A5EE1BB6ECE800CD4F59 /* WebSocket.swift in Sources */,
745895381BB59A0A0050ACC8 /* SocketAckManagerTest.swift in Sources */,
745895391BB59A0A0050ACC8 /* SocketAcknowledgementTest.swift in Sources */,
7458953A1BB59A0A0050ACC8 /* SocketEmitTest.swift in Sources */,

View File

@ -12,23 +12,45 @@ class AbstractSocketTest: XCTestCase {
static let serverURL = "localhost:6979"
static let TEST_TIMEOUT = 8.0
static var socket: SocketIOClient!
static let regularSocket = SocketIOClient(socketURL: AbstractSocketTest.serverURL, opts: [
"reconnects": true, // default true
"reconnectAttempts": -1, // default -1
"reconnectWait": 5, // default 10
"forcePolling": false,
"forceWebsockets": false,// default false
"path": ""]
)
static let namespaceSocket = SocketIOClient(socketURL: AbstractSocketTest.serverURL, opts: [
"reconnects": true, // default true
"reconnectAttempts": -1, // default -1
"reconnectWait": 5, // default 10
"forcePolling": false,
"forceWebsockets": false,// default false
"path": "",
"nsp": "/swift"])
var testKind:TestKind?
// override func setUp() {
// super.setUp()
// openConnection(AbstractSocketTest.socket)
// openConnection(AbstractSocketTest.namespaceSocket)
// }
func openConnection() {
guard AbstractSocketTest.socket.status == SocketIOClientStatus.NotConnected else {return}
func openConnection(socket: SocketIOClient) {
guard socket.status == SocketIOClientStatus.NotConnected else {return}
weak var expection = self.expectationWithDescription("connect")
XCTAssertTrue(AbstractSocketTest.socket.status == SocketIOClientStatus.NotConnected)
AbstractSocketTest.socket.on("connect") {data, ack in
XCTAssertEqual(AbstractSocketTest.socket.status, SocketIOClientStatus.Connected)
XCTAssertFalse(AbstractSocketTest.socket.secure)
XCTAssertTrue(socket.status == SocketIOClientStatus.NotConnected)
socket.on("connect") {data, ack in
XCTAssertEqual(socket.status, SocketIOClientStatus.Connected)
XCTAssertFalse(socket.secure)
if let expection = expection {
expection.fulfill()
}
}
AbstractSocketTest.socket.connect()
XCTAssertEqual(AbstractSocketTest.socket.status, SocketIOClientStatus.Connecting)
socket.connect()
XCTAssertEqual(socket.status, SocketIOClientStatus.Connecting)
waitForExpectationsWithTimeout(AbstractSocketTest.TEST_TIMEOUT, handler: nil)
}

View File

@ -12,21 +12,9 @@ class SocketAcknowledgementTest: AbstractSocketTest {
override func setUp() {
super.setUp()
AbstractSocketTest.socket = AbstractSocketTest.regularSocket
testKind = TestKind.Acknowledgement
if AbstractSocketTest.socket == nil {
AbstractSocketTest.socket = SocketIOClient(socketURL: "milkbartube.com:6979", opts: [
"reconnects": true, // default true
"reconnectAttempts": -1, // default -1
"reconnectWait": 5, // default 10
"forcePolling": false,
"forceWebsockets": false,// default false
"path": ""])
openConnection()
}else {
AbstractSocketTest.socket.leaveNamespace()
}
openConnection(AbstractSocketTest.socket)
}
func testConnectionStatus() {

View File

@ -12,22 +12,9 @@ import Foundation
class SocketEmitTest: AbstractSocketTest {
override func setUp() {
super.setUp()
AbstractSocketTest.socket = AbstractSocketTest.regularSocket
testKind = TestKind.Emit
if AbstractSocketTest.socket == nil {
AbstractSocketTest.socket = SocketIOClient(socketURL: AbstractSocketTest.serverURL, opts: [
"reconnects": true, // default true
"reconnectAttempts": -1, // default -1
"reconnectWait": 5, // default 10
"forcePolling": false,
"forceWebsockets": false,// default false
"path": ""]
)
openConnection()
}else {
AbstractSocketTest.socket.leaveNamespace()
}
openConnection(AbstractSocketTest.socket)
}
override func tearDown() {

View File

@ -12,22 +12,9 @@ class SocketNamespaceAcknowledgementTest: AbstractSocketTest {
override func setUp() {
super.setUp()
AbstractSocketTest.socket = AbstractSocketTest.namespaceSocket
testKind = TestKind.Acknowledgement
if AbstractSocketTest.socket == nil {
AbstractSocketTest.socket = SocketIOClient(socketURL: AbstractSocketTest.serverURL, opts: [
"reconnects": true, // default true
"reconnectAttempts": -1, // default -1
"reconnectWait": 5, // default 10
"forcePolling": false,
"forceWebsockets": false,// default false
"path": "",
"nsp": "/swift"])
openConnection()
}else {
AbstractSocketTest.socket.joinNamespace("/swift")
}
openConnection(AbstractSocketTest.namespaceSocket)
}
func testConnectionStatus() {

View File

@ -12,20 +12,9 @@ class SocketNamespaceEmitTest: AbstractSocketTest {
override func setUp() {
super.setUp()
AbstractSocketTest.socket = AbstractSocketTest.namespaceSocket
testKind = TestKind.Emit
if AbstractSocketTest.socket == nil {
AbstractSocketTest.socket = SocketIOClient(socketURL: AbstractSocketTest.serverURL, opts: [
"reconnects": true, // default true
"reconnectAttempts": -1, // default -1
"reconnectWait": 5, // default 10
"forcePolling": false,
"forceWebsockets": false,// default false
"path": "",
"nsp": "/swift"])
openConnection()
}else {
AbstractSocketTest.socket.joinNamespace("/swift")
}
openConnection(AbstractSocketTest.namespaceSocket)
}
func testConnectionStatus() {