Conversation
vahancouver
requested changes
Jun 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JIRA Ticket
SDKS-5068 [QA] Standardize SDK Configuration
Description
Added E2E test coverage for the unified JSON configuration factory functions
Journey.createJourney(json:),DaVinci.createDaVinci(json:),OidcWebClient.createOidcWebClient(json:), andOidcDeviceClient.createOidcDeviceClient(json:).All tests are placed alongside existing integration tests in the respective modules.
New test files
Journey/JourneyTests/Integration Tests/JourneyJsonConfigE2ETest.swift—createJourney(json:)happy path (minimal + full fixture), default values for all optionalfield errors (journey block, serverUrl, oidc fields), unknown field tolerance at every level,
and wrong-type errors for timeout, serverUrl, realm, cookieName, scopes, refreshThreshold,
and the oidc dict itself.
Davinci/DavinciTests/integration tests/DaVinciJsonConfigE2ETest.swift—createDaVinci(json:)happy path (minimal + full fixture), default timeout value, Journey-specific fields silently ignored, unknown field tolerance, missing required oidc field errors,
wrong-type errors for timeout, clientId, scopes, and refreshThreshold, and four live login
tests against the PingOne tenant (minimal, full, token retrieval with explicit assertions,
unknown fields).
Oidc/OidcTests/IntegrationTests/OidcWebClientJsonConfigE2ETests.swift—createOidcWebClient(json:)happy path (minimal + full fixture), default timeout value,unknown field tolerance, missing required oidc field errors, wrong-type errors for timeout,
oidc dict, scopes, and refreshThreshold, and four live tests against AIC that verify OIDC
discovery runs and a well-formed PKCE authorize URL is constructed (browser step intercepted —
no real ASWebAuthenticationSession opens).
Davinci/DavinciTests/integration tests/DeviceClientJsonConfigE2ETest.swift—createOidcDeviceClient(json:)default log level check, full JSON log level application,unknown field tolerance, missing required oidc field errors, wrong-type errors for oidc dict,
scopes, and openId dict, and three live device authorization flow tests against the PingOne
tenant (minimal, full JSON including openId endpoint override, unknown fields). Flow is
cancelled after the first
.startedemission — no user interaction required.