feat(e2e/go): E2E tests for the Go SDK
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- go
- 領域
- testing-qa
調査の方向性
まず既存の sdk/go/openshell/v1/integration_test.go と issue にリンクされたドラフト PR を確認し、次に提案されている e2e/go モジュールの規約を調べます。build tag 付きの E2E テストで sandbox と workspace の CRUD および provider のプレースホルダーに関するアサーションをカバーし、ドキュメントに記載された mise コマンドが mise run pre-commit とともにパスすれば、作業は完了です。
索引モデルが issue の本文から書いたものです。
説明
User Story
As a contributor working on OpenShell Go SDK I want mise run e2e:go to run E2E tests against a real
gateway. Regressions in sandbox lifecycle, exec, provider credential injection, and workspace management will be caught before they reach SDK consumers.
Problem Statement
The Go SDK (sdk/go/) is tested only by unit tests and sdk/go/openshell/v1/integration_test.go, which is only a very basic smoke E2E test. New E2E Go SDK test suite should be able to catch issues with:
- protocol schema mismatches between the Go SDK and the actual gateway build
- sandbox lifecycle can be managed by the Go SDK
- provider credentials management using the Go SDK
- workspace management
Impact / Why This Matters
The Go SDK (sdk/go/) is tested mostly by unit tests. These tests mock the transport and never talk to a real openshell-gateway. Which means that currently:
- A gateway change can silently break every Go SDK consumer
- Contributors have no
mise runentry point to test Go SDK changes end-to-end before opening PR
Proposed Design
- Separate module: E2E tests live in
e2e/go/ - No SDK changes:
sdk/go/is untouched
Possible design can be found in draft PR: https://github.com/jiripetrlik/OpenShell/pull/1
Acceptance Criteria
e2e/go/is a separate Go module- All e2e files has
//go:build e2e - Sandbox tests cover CRUD
- Provider tests assert placeholders (not raw secrets)
- Workspace tests cover CRUD
- AGENTS.md documents the
e2e/go/conventions mise run pre-commitpasses; commits are DCO-signed and follow Conventional Commits
Alternatives Considered
- Rely on unit tests - can be faster to test, but many possible bugs can be missed
- Put the e2e tests inside `sdk/go/ - put E2E tests to a separated directory is much more clear
Agent Investigation
No response
Checklist
- I've reviewed existing issues and the architecture docs
- This is a design proposal, not a "please build this" request
- 主要言語
- Rust
- スター
- 8.7k
- フォーク
- 1.3k
- 平均マージ
- 2日 6時間
- マージ済み PR(30日)
- 297
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA/OpenShell のほかの issue
-
area:docs
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
-
state:triage-needed
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
area:cli state:validated
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
state:triage-needed
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
-
area:build spike state:review-ready state:stale
難易度 2/5 半日 初心者へのやさしさ 68/100
NVIDIA/OpenShell の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
state:needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
zed-industries/zed#64680 · コメント 2 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
RustPython/RustPython#8802 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
TheLarkInn/aipm#2390 ·