Skip to content

Commit b54266c

Browse files
WIP: OdpVuidManager renamed as VuidManager
1 parent 97e6447 commit b54266c

File tree

6 files changed

+120
-121
lines changed

6 files changed

+120
-121
lines changed

OptimizelySwiftSDK.xcodeproj/project.pbxproj

Lines changed: 40 additions & 40 deletions
Large diffs are not rendered by default.

Sources/ODP/OdpManager.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public class OdpManager {
6161
self.odpConfig = OdpConfig()
6262
self.segmentManager.odpConfig = odpConfig
6363
self.eventManager.odpConfig = odpConfig
64-
if let vuid = vuid, OdpVuidManager.isVuid(vuid) {
64+
if let vuid = vuid, VuidManager.isVuid(vuid) {
6565
self.eventManager.sendInitializedEvent(vuid: vuid)
6666
}
6767
}
@@ -74,7 +74,7 @@ public class OdpManager {
7474
return
7575
}
7676

77-
let userKey = OdpVuidManager.isVuid(userId) ? Constants.ODP.keyForVuid : Constants.ODP.keyForUserId
77+
let userKey = VuidManager.isVuid(userId) ? Constants.ODP.keyForVuid : Constants.ODP.keyForUserId
7878
let userValue = userId
7979

8080
segmentManager.fetchQualifiedSegments(userKey: userKey,
@@ -94,7 +94,7 @@ public class OdpManager {
9494
return
9595
}
9696

97-
if OdpVuidManager.isVuid(userId) {
97+
if VuidManager.isVuid(userId) {
9898
// overwrite if userId is vuid (when userContext is created with vuid)
9999
eventManager.identifyUser(vuid: userId, userId: nil)
100100
} else if let _vuid = vuid {

Sources/Optimizely/OptimizelyClient.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ open class OptimizelyClient: NSObject {
6060
var decisionService: OPTDecisionService!
6161
public var notificationCenter: OPTNotificationCenter?
6262
public var odpManager: OdpManager!
63-
private var vuidManager: OdpVuidManager!
63+
private var vuidManager: VuidManager!
6464
let sdkSettings: OptimizelySdkSettings
6565

6666
// MARK: - Public interfaces
@@ -92,7 +92,7 @@ open class OptimizelyClient: NSObject {
9292
self.defaultDecideOptions = defaultDecideOptions ?? []
9393

9494
super.init()
95-
self.vuidManager = OdpVuidManager.shared
95+
self.vuidManager = VuidManager.shared
9696
self.vuidManager.intiazialize(enabled: self.sdkSettings.enableVuid)
9797
self.odpManager = odpManager ?? OdpManager(sdkKey: sdkKey,
9898
disable: sdkSettings.disableOdp,

Sources/ODP/OdpVuidManager.swift renamed to Sources/Optimizely/VuidManager.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616

1717
import Foundation
1818

19-
class OdpVuidManager {
19+
class VuidManager {
2020
private var _vuid: String = ""
2121
private(set) var enabled: Bool = false
2222
let logger = OPTLoggerFactory.getLogger()
2323

2424
// a single vuid should be shared for all SDK instances
25-
static let shared = OdpVuidManager()
25+
static let shared = VuidManager()
2626

2727
func intiazialize(enabled: Bool) {
2828
self.enabled = enabled
@@ -50,7 +50,7 @@ class OdpVuidManager {
5050

5151
// MARK: - VUID Store
5252

53-
extension OdpVuidManager {
53+
extension VuidManager {
5454
var vuid: String? {
5555
if enabled {
5656
return _vuid
@@ -69,7 +69,7 @@ extension OdpVuidManager {
6969
return oldVuid
7070
}
7171

72-
let vuid = OdpVuidManager.newVuid
72+
let vuid = VuidManager.newVuid
7373
save(vuid: vuid)
7474
return vuid
7575
}

Tests/OptimizelyTests-Common/OdpVuidManagerTests.swift

Lines changed: 0 additions & 72 deletions
This file was deleted.
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
//
2+
// Copyright 2022, Optimizely, Inc. and contributors
3+
//
4+
// Licensed under the Apache License, Version 2.0 (the "License");
5+
// you may not use this file except in compliance with the License.
6+
// You may obtain a copy of the License at
7+
//
8+
// http://www.apache.org/licenses/LICENSE-2.0
9+
//
10+
// Unless required by applicable law or agreed to in writing, software
11+
// distributed under the License is distributed on an "AS IS" BASIS,
12+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
// See the License for the specific language governing permissions and
14+
// limitations under the License.
15+
//
16+
17+
import XCTest
18+
19+
class VuidManagerTests: XCTestCase {
20+
var manager = VuidManager.shared
21+
22+
23+
func testNewVuid() {
24+
manager.intiazialize(enabled: true)
25+
26+
let vuid = VuidManager.newVuid
27+
28+
XCTAssertTrue(vuid.starts(with: "vuid_"))
29+
XCTAssertEqual(vuid.count, 32)
30+
}
31+
32+
func testIsVuid() {
33+
manager.intiazialize(enabled: true)
34+
XCTAssertTrue(VuidManager.isVuid("vuid_123"))
35+
XCTAssertFalse(VuidManager.isVuid("vuid-123"))
36+
XCTAssertFalse(VuidManager.isVuid("123"))
37+
}
38+
39+
func testAutoSaveAndLoad() {
40+
UserDefaults.standard.removeObject(forKey: "optimizely-vuid")
41+
42+
manager.intiazialize(enabled: true)
43+
let vuid1 = manager.vuid
44+
45+
let vuid2 = manager.vuid
46+
47+
XCTAssertTrue(vuid1 == vuid2)
48+
XCTAssert(VuidManager.isVuid(vuid1!))
49+
XCTAssert(VuidManager.isVuid(vuid2!))
50+
51+
UserDefaults.standard.removeObject(forKey: "optimizely-vuid")
52+
53+
manager.intiazialize(enabled: true)
54+
let vuid3 = manager.vuid
55+
56+
XCTAssertTrue(vuid1 != vuid3)
57+
}
58+
59+
func testRemoveOldVuid() {
60+
manager.intiazialize(enabled: true)
61+
let cahcedVuid1 = UserDefaults.standard.string(forKey: "optimizely-vuid")
62+
XCTAssertNotNil(cahcedVuid1)
63+
XCTAssertTrue(cahcedVuid1 == manager.vuid)
64+
65+
manager.intiazialize(enabled: false)
66+
let cahcedVuid2 = UserDefaults.standard.string(forKey: "optimizely-vuid")
67+
XCTAssertNil(cahcedVuid2)
68+
69+
}
70+
71+
}

0 commit comments

Comments
 (0)