Skip to content

Commit 3b9a7f8

Browse files
Merge pull request #566 from Iterable/tapash/mob-4593-offline-flag
[MOB-4593] - Check for offlineMode flag instead of beta flag. Update unit tests.
2 parents 3285dbd + fd52749 commit 3b9a7f8

11 files changed

+17
-66
lines changed

swift-sdk/Constants.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ enum Const {
5151
static let deviceId = "itbl_device_id"
5252
static let sdkVersion = "itbl_sdk_version"
5353
static let offlineMode = "itbl_offline_mode"
54-
static let offlineModeBeta = "itbl_offline_mode_beta"
5554

5655
static let payloadExpiration = 24
5756
static let attributionInfoExpiration = 24

swift-sdk/Internal/InternalIterableAPI.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,7 @@ final class InternalIterableAPI: NSObject, PushTrackerProtocol, AuthProvider {
417417
}()
418418

419419
lazy var requestHandler: RequestHandlerProtocol = {
420-
let offlineMode = self.localStorage.isOfflineModeEnabled()
420+
let offlineMode = self.localStorage.offlineMode
421421
return dependencyContainer.createRequestHandler(apiKey: apiKey,
422422
config: config,
423423
endPoint: apiEndPoint,
@@ -636,8 +636,7 @@ final class InternalIterableAPI: NSObject, PushTrackerProtocol, AuthProvider {
636636
ITBInfo()
637637
requestHandler.getRemoteConfiguration().onSuccess { remoteConfiguration in
638638
self.localStorage.offlineMode = remoteConfiguration.offlineMode
639-
self.localStorage.offlineModeBeta = remoteConfiguration.offlineModeBeta
640-
self.requestHandler.offlineMode = remoteConfiguration.isOfflineModeEnabled()
639+
self.requestHandler.offlineMode = remoteConfiguration.offlineMode
641640
ITBInfo("setting offlineMode: \(self.requestHandler.offlineMode)")
642641
}.onError { error in
643642
let offlineMode = self.requestHandler.offlineMode

swift-sdk/Internal/IterableUserDefaults.swift

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,6 @@ class IterableUserDefaults {
6666
}
6767
}
6868

69-
var offlineModeBeta: Bool {
70-
get {
71-
return bool(withKey: .offlineModeBeta)
72-
}
73-
set {
74-
save(bool: newValue, withKey: .offlineModeBeta)
75-
}
76-
}
77-
7869
func getAttributionInfo(currentDate: Date) -> IterableAttributionInfo? {
7970
(try? codable(withKey: .attributionInfo, currentDate: currentDate)) ?? nil
8071
}
@@ -204,7 +195,6 @@ class IterableUserDefaults {
204195
static let deviceId = UserDefaultsKey(value: Const.UserDefault.deviceId)
205196
static let sdkVersion = UserDefaultsKey(value: Const.UserDefault.sdkVersion)
206197
static let offlineMode = UserDefaultsKey(value: Const.UserDefault.offlineMode)
207-
static let offlineModeBeta = UserDefaultsKey(value: Const.UserDefault.offlineModeBeta)
208198
}
209199

210200
private struct Envelope: Codable {

swift-sdk/Internal/LocalStorage.swift

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,6 @@ struct LocalStorage: LocalStorageProtocol {
6767
}
6868
}
6969

70-
var offlineModeBeta: Bool {
71-
get {
72-
iterableUserDefaults.offlineModeBeta
73-
}
74-
set {
75-
iterableUserDefaults.offlineModeBeta = newValue
76-
}
77-
}
78-
7970
func getAttributionInfo(currentDate: Date) -> IterableAttributionInfo? {
8071
iterableUserDefaults.getAttributionInfo(currentDate: currentDate)
8172
}

swift-sdk/Internal/LocalStorageProtocol.swift

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ protocol LocalStorageProtocol {
1212
var deviceId: String? { get set }
1313
var sdkVersion: String? { get set }
1414
var offlineMode: Bool { get set }
15-
var offlineModeBeta: Bool { get set }
1615
func getAttributionInfo(currentDate: Date) -> IterableAttributionInfo?
1716
func save(attributionInfo: IterableAttributionInfo?, withExpiration expiration: Date?)
1817
func getPayload(currentDate: Date) -> [AnyHashable: Any]?
@@ -21,10 +20,6 @@ protocol LocalStorageProtocol {
2120
}
2221

2322
extension LocalStorageProtocol {
24-
func isOfflineModeEnabled() -> Bool {
25-
RemoteConfiguration.isBeta ? offlineModeBeta : offlineMode
26-
}
27-
2823
func upgrade() {
2924
}
3025
}

swift-sdk/Internal/Models.swift

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,5 @@
66
import Foundation
77

88
struct RemoteConfiguration: Codable, Equatable {
9-
static let isBeta = true
10-
119
let offlineMode: Bool
12-
let offlineModeBeta: Bool
13-
14-
func isOfflineModeEnabled() -> Bool {
15-
Self.isBeta ? offlineModeBeta : offlineMode
16-
}
17-
1810
}

tests/common/CommonMocks.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -434,8 +434,6 @@ class MockLocalStorage: LocalStorageProtocol {
434434

435435
var offlineMode: Bool = false
436436

437-
var offlineModeBeta: Bool = false
438-
439437
func getAttributionInfo(currentDate: Date) -> IterableAttributionInfo? {
440438
guard !MockLocalStorage.isExpired(expiration: attributionInfoExpiration, currentDate: currentDate) else {
441439
return nil

tests/endpoint-tests/OfflineModeE2ETests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class OfflineModeEndpointTests: XCTestCase {
2323
func test01TrackPurchase() throws {
2424
let expectation1 = expectation(description: #function)
2525
let localStorage = MockLocalStorage()
26-
localStorage.offlineModeBeta = true
26+
localStorage.offlineMode = true
2727
let api = InternalIterableAPI.initializeForE2E(apiKey: Self.apiKey,
2828
localStorage: localStorage)
2929
api.email = "[email protected]"
@@ -46,7 +46,7 @@ class OfflineModeEndpointTests: XCTestCase {
4646
func test02TrackPushOpen() throws {
4747
let expectation1 = expectation(description: #function)
4848
let localStorage = MockLocalStorage()
49-
localStorage.offlineModeBeta = true
49+
localStorage.offlineMode = true
5050
let api = InternalIterableAPI.initializeForE2E(apiKey: Self.apiKey,
5151
localStorage: localStorage)
5252
api.email = "[email protected]"
@@ -68,7 +68,7 @@ class OfflineModeEndpointTests: XCTestCase {
6868
func test03TrackPushOpenWithPushPayload() throws {
6969
let expectation1 = expectation(description: #function)
7070
let localStorage = MockLocalStorage()
71-
localStorage.offlineModeBeta = true
71+
localStorage.offlineMode = true
7272
let api = InternalIterableAPI.initializeForE2E(apiKey: Self.apiKey,
7373
localStorage: localStorage)
7474
api.email = "[email protected]"
@@ -95,7 +95,7 @@ class OfflineModeEndpointTests: XCTestCase {
9595
func test04TrackEvent() throws {
9696
let expectation1 = expectation(description: #function)
9797
let localStorage = MockLocalStorage()
98-
localStorage.offlineModeBeta = true
98+
localStorage.offlineMode = true
9999
let api = InternalIterableAPI.initializeForE2E(apiKey: Self.apiKey,
100100
localStorage: localStorage)
101101
api.email = "[email protected]"

tests/offline-events-tests/HealthMonitorTests.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class HealthMonitorTests: XCTestCase {
3434
}
3535
let localStorage = MockLocalStorage()
3636
localStorage.email = "[email protected]"
37-
localStorage.offlineModeBeta = true
37+
localStorage.offlineMode = true
3838
let internalAPI = InternalIterableAPI.initializeForTesting(networkSession: networkSession,
3939
localStorage: localStorage)
4040

@@ -65,7 +65,7 @@ class HealthMonitorTests: XCTestCase {
6565
}
6666
let localStorage = MockLocalStorage()
6767
localStorage.email = "[email protected]"
68-
localStorage.offlineModeBeta = true
68+
localStorage.offlineMode = true
6969
let internalAPI = InternalIterableAPI.initializeForTesting(networkSession: networkSession,
7070
localStorage: localStorage,
7171
maxTasks: 1)
@@ -121,7 +121,7 @@ class HealthMonitorTests: XCTestCase {
121121
}
122122
let localStorage = MockLocalStorage()
123123
localStorage.email = "[email protected]"
124-
localStorage.offlineModeBeta = true
124+
localStorage.offlineMode = true
125125
let input = MockPersistenceContext.Input()
126126
input.countTasksCallback = {
127127
throw IterableDBError.general("Scheduler exception")
@@ -153,7 +153,7 @@ class HealthMonitorTests: XCTestCase {
153153
}
154154
let localStorage = MockLocalStorage()
155155
localStorage.email = "[email protected]"
156-
localStorage.offlineModeBeta = true
156+
localStorage.offlineMode = true
157157
let input = MockPersistenceContext.Input()
158158
input.createCallback = {
159159
throw IterableDBError.general("error creating task")
@@ -186,7 +186,7 @@ class HealthMonitorTests: XCTestCase {
186186
}
187187
let localStorage = MockLocalStorage()
188188
localStorage.email = "[email protected]"
189-
localStorage.offlineModeBeta = true
189+
localStorage.offlineMode = true
190190
let input = MockPersistenceContext.Input()
191191
input.nextTaskCallback = {
192192
throw IterableDBError.general("error getting next task")
@@ -206,7 +206,7 @@ class HealthMonitorTests: XCTestCase {
206206
let networkSession = MockNetworkSession(statusCode: 200)
207207
let localStorage = MockLocalStorage()
208208
localStorage.email = "[email protected]"
209-
localStorage.offlineModeBeta = true
209+
localStorage.offlineMode = true
210210
let input = MockPersistenceContext.Input()
211211
input.deleteAllTasksCallback = {
212212
throw IterableDBError.general("error deleting all tasks")

tests/offline-events-tests/RequestHandlerTests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,7 @@ class RequestHandlerTests: XCTestCase {
663663

664664
func testDeleteAllTasksOnLogout() throws {
665665
let localStorage = MockLocalStorage()
666-
localStorage.offlineModeBeta = true
666+
localStorage.offlineMode = true
667667
let internalApi = InternalIterableAPI.initializeForTesting(networkSession: MockNetworkSession(),
668668
localStorage: localStorage)
669669
internalApi.email = "[email protected]"
@@ -688,7 +688,7 @@ class RequestHandlerTests: XCTestCase {
688688

689689
func testGetRemoteConfiguration() throws {
690690
let expectation1 = expectation(description: #function)
691-
let expectedRemoteConfiguration = RemoteConfiguration(offlineMode: false, offlineModeBeta: true)
691+
let expectedRemoteConfiguration = RemoteConfiguration(offlineMode: true)
692692
let data = try JSONEncoder().encode(expectedRemoteConfiguration)
693693
let notificationCenter = MockNotificationCenter()
694694
let networkSession = MockNetworkSession(statusCode: 200, data: data)
@@ -849,7 +849,7 @@ class RequestHandlerTests: XCTestCase {
849849
let expectation1 = expectation(description: "getRemoteConfiguration is called")
850850
let remoteConfigurationData = """
851851
{
852-
"offlineMode": false,
852+
"offlineMode": true,
853853
"offlineModeBeta": true
854854
}
855855
""".data(using: .utf8)!
@@ -890,7 +890,7 @@ class RequestHandlerTests: XCTestCase {
890890
}
891891
let localStorage = MockLocalStorage()
892892
localStorage.email = "[email protected]"
893-
localStorage.offlineModeBeta = true
893+
localStorage.offlineMode = true
894894
let internalAPI = InternalIterableAPI.initializeForTesting(networkSession: networkSession, localStorage: localStorage)
895895
wait(for: [expectation1], timeout: testExpectationTimeout)
896896

@@ -918,7 +918,7 @@ class RequestHandlerTests: XCTestCase {
918918
}
919919
let localStorage = MockLocalStorage()
920920
localStorage.email = "[email protected]"
921-
localStorage.offlineModeBeta = false
921+
localStorage.offlineMode = false
922922
let internalAPI = InternalIterableAPI.initializeForTesting(networkSession: networkSession, localStorage: localStorage)
923923
wait(for: [expectation1], timeout: testExpectationTimeout)
924924

tests/unit-tests/LocalStorageTests.swift

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -169,19 +169,6 @@ class LocalStorageTests: XCTestCase {
169169
testLocalStorage(saver: saver, retriever: retriever, value: false)
170170
}
171171

172-
func testOfflineModeBeta() {
173-
let saver = { (storage: LocalStorageProtocol, value: Bool) -> Void in
174-
var localStorage = storage
175-
localStorage.offlineModeBeta = value
176-
}
177-
let retriever = { (storage: LocalStorageProtocol) -> Bool? in
178-
storage.offlineModeBeta
179-
}
180-
181-
testLocalStorage(saver: saver, retriever: retriever, value: true)
182-
testLocalStorage(saver: saver, retriever: retriever, value: false)
183-
}
184-
185172
private func testLocalStorage<T>(saver: (LocalStorageProtocol, T) -> Void,
186173
retriever: (LocalStorageProtocol) -> T?, value: T) where T: Equatable {
187174
let localStorage = LocalStorage(userDefaults: LocalStorageTests.getTestUserDefaults())

0 commit comments

Comments
 (0)