Skip to content

Real-server coverage that needs harness infrastructure (the #380 out-list) #430

Open

Description

@Blind-Striker

#380's sweep covered every operation that the simulated-drive fixture can exercise with a short arrange. The operations below are reachable and worth a real-server test, but each one needs harness infrastructure the sweep was scoped not to build. A test without that infrastructure would only exercise an empty result, an unknown id or a status code, which a no-op also passes, so none is written yet.

Grouped by the infrastructure that unlocks them:

An MCP test server the drive can start (a minimal stdio or HTTP MCP endpoint with one tool, one resource and one template):

  • ExperimentalClient.ConnectMcpServerAsync
  • ExperimentalClient.DisconnectMcpServerAsync: needs a connected server; an already-disabled entry cannot tell a no-op apart.
  • McpServersClient.GetResourceCatalogAsync: needs a non-empty resource and template catalog.

A command-auth integration method, seeded by the fixture:

  • IntegrationClient.BeginCommandConnectionAsync
  • IntegrationClient.CancelCommandConnectionAsync
  • IntegrationClient.GetCommandStatusAsync

A local OAuth authorization stub:

  • IntegrationClient.BeginOAuthConnectionAsync
  • IntegrationClient.CancelOAuthConnectionAsync
  • IntegrationClient.CompleteOAuthConnectionAsync
  • IntegrationClient.GetOAuthStatusAsync

An external credential source registered for the sim integration:

  • IntegrationClient.ConnectWithExternalCredentialsAsync

A local well-known discovery endpoint:

  • ExperimentalClient.AddIntegrationWellknownAsync

A web-search provider stub:

  • WebsearchClient.GetProvidersAsync: needs a registered provider, since an empty list passes for a no-op.
  • WebsearchClient.QueryAsync

Deterministic held-work barriers in the drive:

  • SessionClient.MoveToolsToBackgroundAsync: needs a held foreground job.
  • ShellsClient.ListShellsAsync: only running shells are listed, so it needs a held shell, without sleeps or retries.

Per-call cancellation in the drive's invocation waiter:

  • ExperimentalClient.GenerateTextAsync: a no-op leaves the waiter pending before the text oracle is reached.

A seeded skill source in the shared fixture, or a test in the project-configuration fixture mode:

  • ExperimentalClient.ActivateSessionSkillAsync

A clean, unshared fixture:

  • OpenCodeClient.ReloadLocationsAsync: reload rebuilds every cached location, including ones that earlier tests disposed, so a success test would depend on test order.

Each item keeps #380's bar: the test must fail at its oracle under a no-op or wrong-route mutation, never by a timeout, and no empty-result, unknown-id or status-only assertion counts.

From #380 (closed by #387, #393, #423 and #424).

Activity

  1. added this to the 1.1 milestone on Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions