• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ilpanich / axiam-kotlin-sdk / 30024376046
92%

Build:
DEFAULT BRANCH: main
Ran 23 Jul 2026 04:17PM UTC
Jobs 1
Files 12
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Jul 2026 04:16PM UTC coverage: 92.254% (+10.6%) from 81.618%
30024376046

push

github

web-flow
test(coverage): Kotlin SDK 91.3% → 99.1% + enforce Kover gate (Phase D2) (#6)

* fix(test): un-hide 5 @Test methods JUnit was silently never running

Bug found while raising Kotlin SDK coverage (Phase D2): in AuthFlowTest.kt
and ClientExtraTest.kt, 5 `@Test fun ...() = runBlocking { ... }` methods
had their last statement be `assertThrows(...) { ... }`, whose return value
(the caught exception) became the function's INFERRED return type instead
of Unit. JUnit Jupiter silently excludes non-void @Test methods from
discovery — no error, no "skipped" marker, just absent from every run.

Affected tests (compiled fine, decompiled correctly, never executed):
  - AuthFlowTest: "login wrong credentials maps 401 to AuthError"
  - ClientExtraTest: "refresh fails cleanly when org id cannot be resolved",
    "explicit refresh propagates a server rejection as AuthError",
    "logout maps a server error to an exception",
    "a malformed success body surfaces as NetworkError"

Fix: declare an explicit `: Unit` return type so Kotlin discards the
expression's value (a well-known compiler-supported coercion), restoring
JUnit's void-returning discovery contract. No test logic changed.

Verified via `javap -p` bytecode inspection (return types were
AuthError/NetworkError instead of void) and JUnit's own
<testsuite tests="N"> counts before/after. This alone raised measured LINE
coverage from 513/562 (91.28%) to 519/562 (92.35%) with zero new tests,
since these 5 tests already exercised previously-"missed" branches.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MbKy7FMMeAAXSoAzvMKKNR

* test(kotlin-sdk): direct SessionState coverage for D2-1 (91.6% -> full)

Adds SessionStateDirectTest.kt, constructing internal/SessionState.kt
directly (bypassing AxiamClient) so every error path can be driven without
a full login flow:

- isNearExpiry(): undecodable token, missing exp claim, within/outside the
  near-expiry buffer ... (continued)

245 of 306 branches covered (80.07%)

Branch coverage included in aggregate %.

553 of 559 relevant lines covered (98.93%)

7.09 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30024376046.1 23 Jul 2026 04:17PM UTC 12
92.25
GitHub Action Run
Source Files on build 30024376046
  • Tree
  • List 12
  • Changed 8
  • Source Changed 0
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30024376046
  • b37c814f on github
  • Prev Build on main (#29943767585)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc