From 020af716dc3e34cd0b73b376b31fdd7ac07a2ab4 Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Tue, 26 Apr 2016 19:55:33 +0100 Subject: [PATCH 1/2] RSA7a4 --- Spec/Auth.swift | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Spec/Auth.swift b/Spec/Auth.swift index 066ba2743..76b717c2c 100644 --- a/Spec/Auth.swift +++ b/Spec/Auth.swift @@ -440,6 +440,27 @@ class Auth : QuickSpec { expect(ARTRest(options: clientOptions).options.clientId).to(equal("String")) } + + // RSA7a4 + it("ClientOptions#clientId takes precendence when a clientId value is provided in both ClientOptions#clientId and ClientOptions#defaultTokenParams") { + let options = AblyTests.commonAppSetup() + options.clientId = "john" + options.defaultTokenParams = ARTTokenParams(clientId: "tester") + let client = ARTRest(options: options) + let channel = client.channels.get("test") + + expect(client.auth.clientId).to(equal("john")) + waitUntil(timeout: testTimeout) { done in + channel.publish(nil, data: "message") { error in + expect(error).to(beNil()) + channel.history() { paginatedResult, error in + let message = paginatedResult!.items.first as! ARTMessage + expect(message.clientId).to(equal("john")) + done() + } + } + } + } // RSA12 context("Auth#clientId attribute is null") { From e8f618e6b92387b2544610c4ab7a3faf9f4cd4b4 Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Thu, 28 Apr 2016 20:23:55 +0100 Subject: [PATCH 2/2] fixup! RSA7a4 --- Spec/Auth.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Spec/Auth.swift b/Spec/Auth.swift index 76b717c2c..719814af8 100644 --- a/Spec/Auth.swift +++ b/Spec/Auth.swift @@ -443,8 +443,12 @@ class Auth : QuickSpec { // RSA7a4 it("ClientOptions#clientId takes precendence when a clientId value is provided in both ClientOptions#clientId and ClientOptions#defaultTokenParams") { - let options = AblyTests.commonAppSetup() + let options = AblyTests.clientOptions() options.clientId = "john" + options.authCallback = { tokenParams, completion in + expect(tokenParams.clientId).to(equal(options.clientId)) + completion(getTestToken(clientId: tokenParams.clientId), nil) + } options.defaultTokenParams = ARTTokenParams(clientId: "tester") let client = ARTRest(options: options) let channel = client.channels.get("test")