Skip to content

Commit

Permalink
Merge pull request #431 from SourcePointUSA/DIA-2101-add_sdk_version_…
Browse files Browse the repository at this point in the history
…to_requests

[DIA-2101] all the `URL`s are updated to include `scriptType` & `scriptVersion` query parameters
  • Loading branch information
andresilveirah committed May 2, 2023
2 parents 3bd819c + 1181a26 commit 9b10c4d
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 25 deletions.
39 changes: 20 additions & 19 deletions ConsentViewController/Classes/Constants.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,29 +19,30 @@ let prod = (Bundle.framework.object(forInfoDictionaryKey: "SPEnv") as? String) !
struct Constants {
struct Urls {
static let envParam = prod ? "prod" : "stage"
static let additionalData: String = "scriptType=ios&scriptVersion=\(SPConsentManager.VERSION)"
static let SP_ROOT = URL(string: prod ? "https://cdn.privacy-mgmt.com/" : "https://cdn.sp-stage.net/")!
static let WRAPPER_API = URL(string: "./wrapper/?env=\(envParam)", relativeTo: SP_ROOT)!
static let GDPR_MESSAGE_URL = URL(string: "./v2/message/gdpr", relativeTo: WRAPPER_API)!
static let CCPA_MESSAGE_URL = URL(string: "./v2/message/ccpa", relativeTo: WRAPPER_API)!
static let ERROR_METRIS_URL = URL(string: "./metrics/v1/custom-metrics", relativeTo: WRAPPER_API)!
static let GDPR_CONSENT_URL = URL(string: "./v2/messages/choice/gdpr/", relativeTo: WRAPPER_API)!
static let CCPA_CONSENT_URL = URL(string: "./v2/messages/choice/ccpa/", relativeTo: WRAPPER_API)!
static let IDFA_RERPORT_URL = URL(string: "./metrics/v1/apple-tracking?env=\(envParam)", relativeTo: WRAPPER_API)!
static let DELETE_CUSTOM_CONSENT_URL = URL(string: "./consent/tcfv2/consent/v3/custom/", relativeTo: SP_ROOT)!
static let CUSTOM_CONSENT_URL = URL(string: "./tcfv2/v1/gdpr/custom-consent?env=\(envParam)&inApp=true", relativeTo: WRAPPER_API)!
static let GDPR_PRIVACY_MANAGER_VIEW_URL = URL(string: "./consent/tcfv2/privacy-manager/privacy-manager-view", relativeTo: SP_ROOT)!
static let CCPA_PRIVACY_MANAGER_VIEW_URL = URL(string: "./ccpa/privacy-manager/privacy-manager-view", relativeTo: SP_ROOT)!
static let GDPR_MESSAGE_URL = URL(string: "./v2/message/gdpr?\(additionalData)", relativeTo: WRAPPER_API)!
static let CCPA_MESSAGE_URL = URL(string: "./v2/message/ccpa?\(additionalData)", relativeTo: WRAPPER_API)!
static let ERROR_METRIS_URL = URL(string: "./metrics/v1/custom-metrics?\(additionalData)", relativeTo: WRAPPER_API)!
static let GDPR_CONSENT_URL = URL(string: "./v2/messages/choice/gdpr/?\(additionalData)", relativeTo: WRAPPER_API)!
static let CCPA_CONSENT_URL = URL(string: "./v2/messages/choice/ccpa/?\(additionalData)", relativeTo: WRAPPER_API)!
static let IDFA_RERPORT_URL = URL(string: "./metrics/v1/apple-tracking?env=\(envParam)&\(additionalData)", relativeTo: WRAPPER_API)!
static let DELETE_CUSTOM_CONSENT_URL = URL(string: "./consent/tcfv2/consent/v3/custom?\(additionalData)", relativeTo: SP_ROOT)!
static let CUSTOM_CONSENT_URL = URL(string: "./tcfv2/v1/gdpr/custom-consent?env=\(envParam)&inApp=true&\(additionalData)", relativeTo: WRAPPER_API)!
static let GDPR_PRIVACY_MANAGER_VIEW_URL = URL(string: "./consent/tcfv2/privacy-manager/privacy-manager-view?\(additionalData)", relativeTo: SP_ROOT)!
static let CCPA_PRIVACY_MANAGER_VIEW_URL = URL(string: "./ccpa/privacy-manager/privacy-manager-view?\(additionalData)", relativeTo: SP_ROOT)!
static let CCPA_PM_URL = URL(string: "./ccpa_pm/index.html", relativeTo: SP_ROOT)!
static let GDPR_PM_URL = URL(string: "./privacy-manager/index.html", relativeTo: SP_ROOT)!
static let CONSENT_STATUS_URL = URL(string: "./v2/consent-status?env=\(envParam)", relativeTo: WRAPPER_API)!
static let META_DATA_URL = URL(string: "./v2/meta-data?env=\(envParam)", relativeTo: WRAPPER_API)!
static let GET_MESSAGES_URL = URL(string: "./v2/messages?env=\(envParam)", relativeTo: WRAPPER_API)!
static let PV_DATA_URL = URL(string: "./v2/pv-data?env=\(envParam)", relativeTo: WRAPPER_API)!
static let CHOICE_BASE_URL = URL(string: "./v2/choice/", relativeTo: WRAPPER_API)!
static let CHOICE_GDPR_BASE_URL = URL(string: "./gdpr/", relativeTo: CHOICE_BASE_URL)!
static let CHOICE_CCPA_BASE_URL = URL(string: "./ccpa/", relativeTo: CHOICE_BASE_URL)!
static let CHOICE_REJECT_ALL_URL = URL(string: "./reject-all/?env=\(envParam)", relativeTo: CHOICE_BASE_URL)!
static let CHOICE_CONSENT_ALL_URL = URL(string: "./consent-all/?env=\(envParam)", relativeTo: CHOICE_BASE_URL)!
static let CONSENT_STATUS_URL = URL(string: "./v2/consent-status?env=\(envParam)&\(additionalData)", relativeTo: WRAPPER_API)!
static let META_DATA_URL = URL(string: "./v2/meta-data?env=\(envParam)&\(additionalData)", relativeTo: WRAPPER_API)!
static let GET_MESSAGES_URL = URL(string: "./v2/messages?env=\(envParam)&\(additionalData)", relativeTo: WRAPPER_API)!
static let PV_DATA_URL = URL(string: "./v2/pv-data?env=\(envParam)&\(additionalData)", relativeTo: WRAPPER_API)!
static let CHOICE_BASE_URL = URL(string: "./v2/choice/?\(additionalData)", relativeTo: WRAPPER_API)!
static let CHOICE_GDPR_BASE_URL = URL(string: "./v2/choice/gdpr/?\(additionalData)", relativeTo: WRAPPER_API)!
static let CHOICE_CCPA_BASE_URL = URL(string: "./v2/choice/ccpa/?\(additionalData)", relativeTo: WRAPPER_API)!
static let CHOICE_REJECT_ALL_URL = URL(string: "./v2/choice/reject-all/?env=\(envParam)&\(additionalData)", relativeTo: WRAPPER_API)!
static let CHOICE_CONSENT_ALL_URL = URL(string: "./v2/choice/consent-all/?env=\(envParam)&\(additionalData)", relativeTo: WRAPPER_API)!
}

struct UI {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,13 @@ class SourcePointClientSpec: QuickSpec {

describe("statics") {
it("CUSTOM_CONSENT_URL") {
expect(Constants.Urls.CUSTOM_CONSENT_URL.absoluteURL).to(equal(
URL(string: "https://cdn.privacy-mgmt.com/wrapper/tcfv2/v1/gdpr/custom-consent?env=prod&inApp=true")!.absoluteURL
))
let expectedUrl = URL(string: "https://cdn.privacy-mgmt.com/wrapper/tcfv2/v1/gdpr/custom-consent?env=prod&inApp=true&scriptType=ios&scriptVersion=\(SPConsentManager.VERSION)")!.absoluteURL
expect(Constants.Urls.CUSTOM_CONSENT_URL.absoluteURL).to(equal(expectedUrl))
}

it("DELETE_CUSTOM_CONSENT_URL") {
expect(Constants.Urls.DELETE_CUSTOM_CONSENT_URL.absoluteURL) == URL(string: "https://cdn.privacy-mgmt.com/consent/tcfv2/consent/v3/custom/")!.absoluteURL
let expectedUrl = URL(string: "https://cdn.privacy-mgmt.com/consent/tcfv2/consent/v3/custom?scriptType=ios&scriptVersion=\(SPConsentManager.VERSION)")!.absoluteURL
expect(Constants.Urls.DELETE_CUSTOM_CONSENT_URL.absoluteURL) == expectedUrl
}
}

Expand Down Expand Up @@ -280,7 +280,8 @@ class SourcePointClientSpec: QuickSpec {
campaignType: .gdpr
)
let parsedRequest = try? JSONSerialization.jsonObject(with: http.postWasCalledWithBody!) as? [String: Any]
expect(http.postWasCalledWithUrl) == "https://cdn.privacy-mgmt.com/wrapper/metrics/v1/custom-metrics"
let expectedUrl = "https://cdn.privacy-mgmt.com/wrapper/metrics/v1/custom-metrics?scriptType=ios&scriptVersion=\(SPConsentManager.VERSION)"
expect(http.postWasCalledWithUrl) == expectedUrl
expect((parsedRequest?["code"] as? String)) == error.spCode
expect((parsedRequest?["accountId"] as? String)) == "\(self.accountId)"
expect((parsedRequest?["propertyId"] as? String)) == "\(self.propertyId)"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class UnmockedSourcepointClientSpec: QuickSpec {

it("should contain all query params") {
let url = client.consentStatusURLWithParams(propertyId: propertyId, metadata: emptyMetaData, authId: nil)
let paramsRaw = "env=\(Constants.Urls.envParam)&hasCsp=true&includeData={\"TCData\":{\"type\":\"RecordString\"}}&metadata={}&propertyId=17801&withSiteActions=false"
let paramsRaw = "env=\(Constants.Urls.envParam)&scriptType=ios&scriptVersion=\(SPConsentManager.VERSION)&hasCsp=true&includeData={\"TCData\":{\"type\":\"RecordString\"}}&metadata={}&propertyId=17801&withSiteActions=false"
expect(url?.query) == paramsRaw.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
}
}
Expand Down

0 comments on commit 9b10c4d

Please sign in to comment.