@@ -11,115 +11,72 @@ import UID2
1111@testable import UID2GMAPlugin
1212
1313final class UID2GMAMediationAdapterTests : XCTestCase {
14-
15- private let decoder : JSONDecoder = {
16- let decoder = JSONDecoder ( )
17- decoder. keyDecodingStrategy = . convertFromSnakeCase
18- return decoder
19- } ( )
20-
21-
2214 /// 🟩 - GMA Adapter Request Signal Success
2315 func testRequestSignalsSuccess( ) async throws {
24-
25- // Sample UID2Identity data
26- let uid2IdentityData = try DataLoader . load ( fileName: " uid2identity " , fileExtension: " json " )
27- let uid2IdentityFromFile = try decoder. decode ( UID2Identity . self, from: uid2IdentityData)
28-
29- // Emulate A UID2Identity With Valid Times
30- let identityExpires = Date ( timeIntervalSinceNow: 60 * 60 ) . millisecondsSince1970
31- let refreshFrom = Date ( timeIntervalSinceNow: 60 * 40 ) . millisecondsSince1970
32- let refreshExpires = Date ( timeIntervalSinceNow: 60 * 50 ) . millisecondsSince1970
33-
34- let uid2Identity = UID2Identity ( advertisingToken: uid2IdentityFromFile. advertisingToken,
35- refreshToken: uid2IdentityFromFile. refreshToken,
36- identityExpires: identityExpires,
37- refreshFrom: refreshFrom,
38- refreshExpires: refreshExpires,
39- refreshResponseKey: uid2IdentityFromFile. refreshResponseKey)
40-
4116 // Seed the sample UID2Identity data in the UID2Manager
4217 await UID2Manager . shared. setAutomaticRefreshEnabled ( false )
43- await UID2Manager . shared. setIdentity ( uid2Identity)
18+ await UID2Manager . shared. setIdentity (
19+ UID2Identity (
20+ advertisingToken: " uid2-test-token " ,
21+ refreshToken: " refresh-token " ,
22+ identityExpires: Date ( timeIntervalSinceNow: 60 * 60 ) . millisecondsSince1970,
23+ refreshFrom: Date ( timeIntervalSinceNow: 60 * 40 ) . millisecondsSince1970,
24+ refreshExpires: Date ( timeIntervalSinceNow: 60 * 50 ) . millisecondsSince1970,
25+ refreshResponseKey: " "
26+ )
27+ )
28+
29+ let signal = try await UID2GMAMediationAdapter ( ) . collectSignals ( for: GADRTBRequestParameters ( ) )
4430
45- // Adapter to test
46- let adapter = UID2GMAMediationAdapter ( )
47-
48- // Wraps Completion Handler Function Call In Async / Await
49- let signal : String = try await withCheckedThrowingContinuation { continuation in
50-
51- adapter. collectSignals ( for: GADRTBRequestParameters ( ) , completionHandler: { signal, error in
52- guard let signal = signal else {
53- continuation. resume ( throwing: " Signal was Nil " )
54- return
55- }
56- continuation. resume ( returning: signal)
57- return
58- } )
59-
60- }
61-
6231 // Confirm that Adapter returns expected data
63- XCTAssertEqual ( uid2Identity. advertisingToken, signal)
32+ XCTAssertEqual ( " uid2-test-token " , signal)
33+ }
34+
35+ /// 🟥 - GMA Adapter Request Signal Error No Identity
36+ func testRequestSignalsNoIdentity( ) async throws {
37+ // Ensure no identity is set
38+ await UID2Manager . shared. resetIdentity ( )
39+
40+ let result = await Task < String ? , Error > {
41+ try await UID2GMAMediationAdapter ( ) . collectSignals ( for: GADRTBRequestParameters ( ) )
42+ } . result
43+ XCTAssertThrowsError ( try result. get ( ) ) { error in
44+ let adapterError = error as? AdvertisingTokenNotFoundError
45+ XCTAssertEqual ( AdvertisingTokenNotFoundError ( ) , adapterError)
46+ }
6447 }
65-
66- /// 🟥 - GMA Adapter Request Signal No Advertising Token Erro
48+
49+ /// 🟥 - GMA Adapter Request Signal No Advertising Token Error
6750 func testRequestSignalsNoAdvertisingToken( ) async throws {
68-
69- // Sample UID2Identity data
70- let uid2IdentityData = try DataLoader . load ( fileName: " uid2identity " , fileExtension: " json " )
71- let uid2IdentityFromFile = try decoder. decode ( UID2Identity . self, from: uid2IdentityData)
72-
73- // Emulate A UID2Identity With Valid Times
74- let identityExpires = Date ( timeIntervalSinceNow: 60 * 60 ) . millisecondsSince1970
75- let refreshFrom = Date ( timeIntervalSinceNow: 60 * 40 ) . millisecondsSince1970
76- let refreshExpires = Date ( timeIntervalSinceNow: 60 * 50 ) . millisecondsSince1970
77-
78- let uid2Identity = UID2Identity ( advertisingToken: " " ,
79- refreshToken: uid2IdentityFromFile. refreshToken,
80- identityExpires: identityExpires,
81- refreshFrom: refreshFrom,
82- refreshExpires: refreshExpires,
83- refreshResponseKey: uid2IdentityFromFile. refreshResponseKey)
84-
85- // Seed the sample UID2Identity data in the UID2Manager
51+ // Set an identity with an invalid advertisingToken
8652 await UID2Manager . shared. setAutomaticRefreshEnabled ( false )
87- await UID2Manager . shared. setIdentity ( uid2Identity)
53+ await UID2Manager . shared. setIdentity (
54+ UID2Identity (
55+ advertisingToken: " " ,
56+ refreshToken: " refresh-token " ,
57+ identityExpires: Date ( timeIntervalSinceNow: 60 * 60 ) . millisecondsSince1970,
58+ refreshFrom: Date ( timeIntervalSinceNow: 60 * 40 ) . millisecondsSince1970,
59+ refreshExpires: Date ( timeIntervalSinceNow: 60 * 50 ) . millisecondsSince1970,
60+ refreshResponseKey: " "
61+ )
62+ )
8863
89- // Adapter to test
90- let adapter = UID2GMAMediationAdapter ( )
91-
92- // Wraps Completion Handler Function Call In Async / Await
93- let _: String = try await withCheckedThrowingContinuation { continuation in
94-
95- adapter. collectSignals ( for: GADRTBRequestParameters ( ) , completionHandler: { signal, error in
96-
97- guard let error = error as? AdvertisingTokenNotFoundError else {
98- continuation. resume ( throwing: " Error returned was not expected type. " )
99- return
100- }
101-
102- XCTAssertEqual ( AdvertisingTokenNotFoundError ( ) , error)
103-
104- continuation. resume ( returning: " Successful Test " )
105-
106- return
107- } )
108-
64+ let result = await Task < String ? , Error > {
65+ try await UID2GMAMediationAdapter ( ) . collectSignals ( for: GADRTBRequestParameters ( ) )
66+ } . result
67+ XCTAssertThrowsError ( try result. get ( ) ) { error in
68+ let adapterError = error as? AdvertisingTokenNotFoundError
69+ XCTAssertEqual ( AdvertisingTokenNotFoundError ( ) , adapterError)
10970 }
110-
11171 }
112-
72+
11373 /// 🟩 - GMA Adapter Ad SDK Version Check Success
11474 func testAdSDKVersion( ) async throws {
115-
11675 let adSDKVersion = UID2GMAMediationAdapter . adSDKVersion ( )
11776 let sdkVersion = await UID2Manager . shared. sdkVersion
11877
11978 XCTAssertEqual ( sdkVersion. major, adSDKVersion. majorVersion)
12079 XCTAssertEqual ( sdkVersion. minor, adSDKVersion. minorVersion)
12180 XCTAssertEqual ( sdkVersion. patch, adSDKVersion. patchVersion)
122-
12381 }
124-
12582}
0 commit comments