Skip to content

Commit 20dfabb

Browse files
committed
Update tests to cover new manual auth option
1 parent da875e2 commit 20dfabb

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

Tests/AuthenticationTests.swift

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,4 +208,42 @@ class AuthenticationTests: XCTestCase {
208208

209209
waitForExpectations(timeout: 0.5)
210210
}
211+
212+
func testSubscribingToAPrivateChannelWhenAnAuthValueIsProvidedShouldWork() {
213+
let ex = expectation(description: "the channel should be subscribed to successfully")
214+
let channelName = "private-manual-auth"
215+
216+
let dummyDelegate = DummyDelegate()
217+
dummyDelegate.ex = ex
218+
dummyDelegate.testingChannelName = channelName
219+
pusher.delegate = dummyDelegate
220+
221+
let chan = pusher.subscribe(channelName, auth: PusherAuth(auth: "testKey123:12345678gfder78ikjbgmanualauth"))
222+
XCTAssertFalse(chan.subscribed, "the channel should not be subscribed")
223+
pusher.connect()
224+
225+
waitForExpectations(timeout: 0.5)
226+
}
227+
228+
func testSubscribingToAPresenceChannelWhenAnAuthValueIsProvidedShouldWork() {
229+
let ex = expectation(description: "the channel should be subscribed to successfully")
230+
let channelName = "presence-manual-auth"
231+
232+
let dummyDelegate = DummyDelegate()
233+
dummyDelegate.ex = ex
234+
dummyDelegate.testingChannelName = channelName
235+
pusher.delegate = dummyDelegate
236+
237+
let chan = pusher.subscribe(
238+
channelName,
239+
auth: PusherAuth(
240+
auth: "testKey123:12345678gfder78ikjbgmanualauth",
241+
channelData: "{\"user_id\":16,\"user_info\":{\"time\":\"2017-02-20 14:54:36 +0000\"}}"
242+
)
243+
)
244+
XCTAssertFalse(chan.subscribed, "the channel should not be subscribed")
245+
pusher.connect()
246+
247+
waitForExpectations(timeout: 0.5)
248+
}
211249
}

Tests/Mocks.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,22 @@ open class MockWebSocket: WebSocket {
106106
self.delegate?.websocketDidReceiveMessage(socket: self, text: "{\"event\":\"pusher_internal:subscription_succeeded\",\"channel\":\"private-test-channel\",\"data\":\"{}\"}")
107107
}
108108
)
109+
} else if stringContainsElements(string, elements: ["pusher:subscribe", "testKey123:12345678gfder78ikjbgmanualauth", "private-manual-auth"]) {
110+
let _ = stubber.stub(
111+
functionName: "writeString",
112+
args: [string],
113+
functionToCall: {
114+
self.delegate?.websocketDidReceiveMessage(socket: self, text: "{\"event\":\"pusher_internal:subscription_succeeded\",\"channel\":\"private-manual-auth\",\"data\":\"{}\"}")
115+
}
116+
)
117+
} else if stringContainsElements(string, elements: ["pusher:subscribe", "testKey123:12345678gfder78ikjbgmanualauth", "presence-manual-auth"]) {
118+
let _ = stubber.stub(
119+
functionName: "writeString",
120+
args: [string],
121+
functionToCall: {
122+
self.delegate?.websocketDidReceiveMessage(socket: self, text: "{\"event\":\"pusher_internal:subscription_succeeded\",\"channel\":\"presence-manual-auth\",\"data\":\"{\\\"presence\\\":{\\\"count\\\":1,\\\"ids\\\":[\\\"16\\\"],\\\"hash\\\":{\\\"16\\\":{\\\"twitter\\\":\\\"hamchapman\\\"}}}}\"}")
123+
}
124+
)
109125
} else if stringContainsElements(string, elements: ["key:0d0d2e7c2cd967246d808180ef0f115dad51979e48cac9ad203928141f9e6a6f", "private-test-channel", "pusher:subscribe"]) {
110126
let _ = stubber.stub(
111127
functionName: "writeString",

0 commit comments

Comments
 (0)