diff --git a/Sources/UnleashProxyClientSwift/Poller.swift b/Sources/UnleashProxyClientSwift/Poller.swift index da6884f..5972df5 100644 --- a/Sources/UnleashProxyClientSwift/Poller.swift +++ b/Sources/UnleashProxyClientSwift/Poller.swift @@ -176,8 +176,10 @@ public class Poller { self.createFeatureMap(features: json) if (self.ready) { + Printer.printMessage("Flags updated") SwiftEventBus.post("update") } else { + Printer.printMessage("Initial flags fetched") SwiftEventBus.post("ready") self.ready = true } diff --git a/Sources/UnleashProxyClientSwift/UnleashProxyClientSwift.swift b/Sources/UnleashProxyClientSwift/UnleashProxyClientSwift.swift index 4a8b57d..d1556b7 100644 --- a/Sources/UnleashProxyClientSwift/UnleashProxyClientSwift.swift +++ b/Sources/UnleashProxyClientSwift/UnleashProxyClientSwift.swift @@ -103,7 +103,7 @@ public class UnleashClientBase { public func updateContext(context: [String: String], properties: [String:String]? = nil, completionHandler: ((PollerError?) -> Void)? = nil) { self.context = self.calculateContext(context: context, properties: properties) - self.start(completionHandler: completionHandler) + self.start(Printer.showPrintStatements, completionHandler: completionHandler) } func calculateContext(context: [String: String], properties: [String:String]? = nil) -> Context { diff --git a/Tests/UnleashProxyClientSwiftTests/UnleashProxyClientSwiftTests.swift b/Tests/UnleashProxyClientSwiftTests/UnleashProxyClientSwiftTests.swift index 6799eaf..1c103cf 100644 --- a/Tests/UnleashProxyClientSwiftTests/UnleashProxyClientSwiftTests.swift +++ b/Tests/UnleashProxyClientSwiftTests/UnleashProxyClientSwiftTests.swift @@ -66,7 +66,11 @@ return generateTestToggleMapWithVariant() } - let unleash = setup(dataGenerator: dataGenerator) + let stubPrintToConsoleAtStart = true + let unleash = setup( + dataGenerator: dataGenerator, + printToConsole: stubPrintToConsoleAtStart + ) var context: [String: String] = [:] context["userId"] = "uuid-123-test" @@ -76,6 +80,7 @@ let url = unleash.poller.formatURL(context: unleash.context)!.absoluteString XCTAssert(url.contains("appName=test") && url.contains("sessionId=uuid-234-test") && url.contains("userId=uuid-123-test") && url.contains("environment=dev")) + XCTAssertEqual(Printer.showPrintStatements, stubPrintToConsoleAtStart) } @MainActor diff --git a/Tests/UnleashProxyClientSwiftTests/testUtils.swift b/Tests/UnleashProxyClientSwiftTests/testUtils.swift index 5b82aa4..54d0050 100644 --- a/Tests/UnleashProxyClientSwiftTests/testUtils.swift +++ b/Tests/UnleashProxyClientSwiftTests/testUtils.swift @@ -32,44 +32,43 @@ func generateTestToggleMapWithVariant() -> [String: Toggle] { } @available(iOS 13, *) -func setup(dataGenerator: @escaping () -> [String: Toggle], session: PollerSession = MockPollerSession()) -> UnleashClient { +func setup(dataGenerator: @escaping () -> [String: Toggle], session: PollerSession = MockPollerSession(), printToConsole: Bool = false) -> UnleashClient { let poller = MockPoller(callback: dataGenerator, unleashUrl: URL(string: "https://app.unleash-hosted.com/hosted/api/proxy")!, apiKey: "SECRET", session: session) let metrics = MockMetrics(appName: "test") let unleash = UnleashProxyClientSwift.UnleashClient(unleashUrl: "https://app.unleash-hosted.com/hosted/api/proxy", clientKey: "dss22d", refreshInterval: 15, appName: "test", environment: "dev", poller: poller, metrics: metrics) - unleash.start() + unleash.start(printToConsole) return unleash } @available(iOS 13, *) -func setup(dataGenerator: @escaping () -> [String: Toggle], session: PollerSession = MockPollerSession()) async throws -> UnleashClient { +func setup(dataGenerator: @escaping () -> [String: Toggle], session: PollerSession = MockPollerSession(), printToConsole: Bool = false) async throws -> UnleashClient { let poller = MockPoller(callback: dataGenerator, unleashUrl: URL(string: "https://app.unleash-hosted.com/hosted/api/proxy")!, apiKey: "SECRET", session: session) let metrics = MockMetrics(appName: "test") let unleash = UnleashProxyClientSwift.UnleashClient(unleashUrl: "https://app.unleash-hosted.com/hosted/api/proxy", clientKey: "dss22d", refreshInterval: 15, appName: "test", environment: "dev", poller: poller, metrics: metrics) - try await unleash.start() + try await unleash.start(printToConsole) return unleash } -func setupBase(dataGenerator: @escaping () -> [String: Toggle], session: PollerSession = MockPollerSession()) -> UnleashClientBase { +func setupBase(dataGenerator: @escaping () -> [String: Toggle], session: PollerSession = MockPollerSession(), printToConsole: Bool = false) -> UnleashClientBase { let poller = MockPoller(callback: dataGenerator, unleashUrl: URL(string: "https://app.unleash-hosted.com/hosted/api/proxy")!, apiKey: "SECRET", session: session) let metrics = MockMetrics(appName: "test") let unleash = UnleashProxyClientSwift.UnleashClientBase(unleashUrl: "https://app.unleash-hosted.com/hosted/api/proxy", clientKey: "dss22d", refreshInterval: 15, appName: "test", environment: "dev", poller: poller, metrics: metrics) - unleash.start() + unleash.start(printToConsole) return unleash } -@available(iOS 13, *) -func setupBase(dataGenerator: @escaping () -> [String: Toggle], session: PollerSession = MockPollerSession()) async throws -> UnleashClientBase { +func setupBase(dataGenerator: @escaping () -> [String: Toggle], session: PollerSession = MockPollerSession(), printToConsole: Bool = false) async throws -> UnleashClientBase { let poller = MockPoller(callback: dataGenerator, unleashUrl: URL(string: "https://app.unleash-hosted.com/hosted/api/proxy")!, apiKey: "SECRET", session: session) let metrics = MockMetrics(appName: "test") let unleash = UnleashProxyClientSwift.UnleashClientBase(unleashUrl: "https://app.unleash-hosted.com/hosted/api/proxy", clientKey: "dss22d", refreshInterval: 15, appName: "test", environment: "dev", poller: poller, metrics: metrics) - try await unleash.start() + unleash.start(printToConsole) return unleash }