<?xml version="1.0" encoding="UTF-8"?>
<testsuites name="bun test" tests="29" assertions="43" failures="0" skipped="2" time="0.029761344">
  <testsuite name="test/client.test.ts" file="test/client.test.ts" tests="6" assertions="6" failures="0" skipped="0" time="0" hostname="runnervm8k3b6">
    <properties>
      <property name="ci" value="https://github.com/alrayyes/forge-dashboard-sdk-node/actions/runs/39137626862" />
      <property name="commit" value="c144d745670d84f6412c2a31f25e55ebb430713d" />
    </properties>
    <testcase name="token env var name is the documented, stable one" classname="" time="0.000032" file="test/client.test.ts" line="10" assertions="1" />
    <testsuite name="token source" file="test/client.test.ts" line="19" tests="4" assertions="4" failures="0" skipped="0" time="0.001" hostname="runnervm8k3b6">
      <testcase name="option only" classname="token source" time="0.001637" file="test/client.test.ts" line="34" assertions="1" />
      <testcase name="env fallback" classname="token source" time="0.000154" file="test/client.test.ts" line="41" assertions="1" />
      <testcase name="option overrides env" classname="token source" time="0.000107" file="test/client.test.ts" line="47" assertions="1" />
      <testcase name="no Authorization header sent when neither is set" classname="token source" time="0.000073" file="test/client.test.ts" line="55" assertions="1" />
    </testsuite>
    <testcase name="falls back to no token when process is unavailable (browser bundle)" classname="" time="0.000648" file="test/client.test.ts" line="61" assertions="1" />
  </testsuite>
  <testsuite name="test/errors.test.ts" file="test/errors.test.ts" tests="5" assertions="8" failures="0" skipped="0" time="0" hostname="runnervm8k3b6">
    <properties>
      <property name="ci" value="https://github.com/alrayyes/forge-dashboard-sdk-node/actions/runs/39137626862" />
      <property name="commit" value="c144d745670d84f6412c2a31f25e55ebb430713d" />
    </properties>
    <testsuite name="decodeError" file="test/errors.test.ts" line="4" tests="5" assertions="8" failures="0" skipped="0" time="0" hostname="runnervm8k3b6">
      <testcase name="parses the error body" classname="decodeError" time="0.000105" file="test/errors.test.ts" line="5" assertions="4" />
      <testcase name="treats a non-object, non-null body as unparseable rather than crashing" classname="decodeError" time="0.00003" file="test/errors.test.ts" line="16" assertions="1" />
      <testcase name="null on a successful status" classname="decodeError" time="0.000014" file="test/errors.test.ts" line="30" assertions="1" />
      <testcase name="falls back to statusText for a malformed body" classname="decodeError" time="0.000016" file="test/errors.test.ts" line="35" assertions="1" />
      <testcase name="message includes the status code and parsed error text" classname="decodeError" time="0.000019" file="test/errors.test.ts" line="46" assertions="1" />
    </testsuite>
  </testsuite>
  <testsuite name="test/retry.test.ts" file="test/retry.test.ts" tests="16" assertions="29" failures="0" skipped="0" time="0" hostname="runnervm8k3b6">
    <properties>
      <property name="ci" value="https://github.com/alrayyes/forge-dashboard-sdk-node/actions/runs/39137626862" />
      <property name="commit" value="c144d745670d84f6412c2a31f25e55ebb430713d" />
    </properties>
    <testsuite name="createRetryFetch" file="test/retry.test.ts" line="22" tests="16" assertions="29" failures="0" skipped="0" time="0.009" hostname="runnervm8k3b6">
      <testcase name="retries a 5xx then succeeds" classname="createRetryFetch" time="0.002401" file="test/retry.test.ts" line="23" assertions="2" />
      <testcase name="never retries a non-429 4xx" classname="createRetryFetch" time="0.000125" file="test/retry.test.ts" line="42" assertions="2" />
      <testcase name="honors Retry-After ahead of its own backoff" classname="createRetryFetch" time="0.001208" file="test/retry.test.ts" line="61" assertions="2" />
      <testcase name="gives up after maxRetries" classname="createRetryFetch" time="0.002249" file="test/retry.test.ts" line="83" assertions="2" />
      <testcase name="retries a network failure" classname="createRetryFetch" time="0.001307" file="test/retry.test.ts" line="99" assertions="2" />
      <testcase name="replays a JSON request body on every attempt" classname="createRetryFetch" time="0.002653" file="test/retry.test.ts" line="118" assertions="3" />
      <testcase name="stops retrying once the request is aborted" classname="createRetryFetch" time="0.000186" file="test/retry.test.ts" line="148" assertions="2" />
      <testcase name="gives up after maxRetries when the transport keeps throwing" classname="createRetryFetch" time="0.000252" file="test/retry.test.ts" line="165" assertions="3" />
      <testcase name="retries a bare 500, the lower edge of the 5xx range" classname="createRetryFetch" time="0.001185" file="test/retry.test.ts" line="189" assertions="2" />
      <testcase name="computes exponential backoff with jitter precisely" classname="createRetryFetch" time="0.000171" file="test/retry.test.ts" line="208" assertions="2" />
      <testcase name="honors Retry-After even against a much larger backoff" classname="createRetryFetch" time="0.000123" file="test/retry.test.ts" line="241" assertions="2" />
      <testcase name="honors a Retry-After HTTP-date, not just delay-seconds" classname="createRetryFetch" time="0.000108" file="test/retry.test.ts" line="275" assertions="1" />
      <testsuite name="Retry-After header parsing" file="test/retry.test.ts" line="314" tests="4" assertions="4" failures="0" skipped="0" time="0" hostname="runnervm8k3b6">
        <testcase name="header &quot;15&quot; resolves to 15000 ms" classname="Retry-After header parsing &amp;gt; createRetryFetch" time="0.000091" file="test/retry.test.ts" line="333" assertions="1" />
        <testcase name="header &quot;0x&quot; resolves to 75000 ms" classname="Retry-After header parsing &amp;gt; createRetryFetch" time="0.000028" file="test/retry.test.ts" line="333" assertions="1" />
        <testcase name="header &quot;x0&quot; resolves to 75000 ms" classname="Retry-After header parsing &amp;gt; createRetryFetch" time="0.000016" file="test/retry.test.ts" line="333" assertions="1" />
        <testcase name="header &quot;not-a-number&quot; resolves to 75000 ms" classname="Retry-After header parsing &amp;gt; createRetryFetch" time="0.000018" file="test/retry.test.ts" line="333" assertions="1" />
      </testsuite>
    </testsuite>
  </testsuite>
  <testsuite name="test/contract/client.test.ts" file="test/contract/client.test.ts" tests="2" assertions="0" failures="0" skipped="2" time="0" hostname="runnervm8k3b6">
    <properties>
      <property name="ci" value="https://github.com/alrayyes/forge-dashboard-sdk-node/actions/runs/39137626862" />
      <property name="commit" value="c144d745670d84f6412c2a31f25e55ebb430713d" />
    </properties>
    <testsuite name="contract" file="test/contract/client.test.ts" line="14" tests="2" assertions="0" failures="0" skipped="2" time="0" hostname="runnervm8k3b6">
      <testcase name="reports the mock server as healthy" classname="contract" time="0" file="test/contract/client.test.ts" line="15" assertions="0">
        <skipped />
      </testcase>
      <testcase name="reports the running version" classname="contract" time="0" file="test/contract/client.test.ts" line="23" assertions="0">
        <skipped />
      </testcase>
    </testsuite>
  </testsuite>
</testsuites>
