Skip to content

SDKS-5068: QA for the Unified SDK Configuration#171

Merged
spetrov merged 3 commits into
developfrom
SDKS-5068
Jun 24, 2026
Merged

SDKS-5068: QA for the Unified SDK Configuration#171
spetrov merged 3 commits into
developfrom
SDKS-5068

Conversation

@spetrov

@spetrov spetrov commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

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:), and OidcDeviceClient.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 optional
    field 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 .started emission — no user interaction required.

@vahancouver vahancouver left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left minor comments

Comment thread Davinci/Davinci.xcodeproj/project.pbxproj
Comment thread Oidc/OidcTests/IntegrationTests/OidcWebClientJsonConfigE2ETests.swift Outdated

@vahancouver vahancouver left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@spetrov spetrov merged commit 0999f1b into develop Jun 24, 2026
14 of 16 checks passed
@spetrov spetrov deleted the SDKS-5068 branch June 24, 2026 21:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants