Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Only the error paths of one tool are tested

クローズ
#421 コメント 8 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 3 日以内に返信

@AGWAM001 がすでに取り組んでいます。

2026年10月17日 から。

  • #436 @sparkysolutions10-pixel による — オープン
  • #491 @AGWAM001 による — マージされずにクローズ
  • #522 @AGWAM001 による — マージされずにクローズ
  • #524 @AGWAM001 による — オープン

評価

この issue はまだ評価されていません。

説明

area:testing difficulty:intermediate help wanted points:150 Stellar Wave
Background

tests/mcp.test.ts has four tests, all on paid_call:

should map signature expiration ledger error to ERR_EXPIRED_AUTHORISATION
should map missing trustline error to ERR_MISSING_TRUSTLINE
should map 402 rejected error to ERR_PAYMENT_REJECTED
should return successfully on a successful call

bazaar_search has no tests at all — not the query path, not the empty-result
path, not the non-2xx path. ListTools is never exercised, so a malformed tool
schema would ship unnoticed.

The four that exist also construct errors as plain strings, which is what makes
L215's text-matching fragility invisible to the suite.

What to build
  • Cover bazaar_search: with and without a query, empty results, non-2xx, a
    malformed body.
  • Cover ListTools: the advertised tools, and that each inputSchema is valid.
  • Cover the unknown-tool path.
  • Where an upstream error is simulated, use a shape resembling what the real
    library throws.
Acceptance criteria
  • bazaar_search has tests for success, empty, non-2xx and malformed body
  • ListTools is exercised and each schema validated
  • The unknown-tool path is covered
  • Simulated errors resemble real ones
  • The four existing tests still pass

Drips Wave · Complexity: Intermediate · 150 points


Repo: Divinity-Labs/Lens. The MCP server is src/mcp/server.ts
(BazaarMcpServer) with error codes in src/mcp/codes.ts. It is started by
npm run mcp:server → examples/mcp-server/run.ts, and there is an agent
example at examples/mcp-server/agent.ts. Tests are tests/mcp.test.ts.

Run the tests: npm test. The tests are vitest, not jest. A single file
is npx vitest run tests/mcp.test.ts.

Load test (prices) is already failing on main. Not your PR.

This surface signs with a real mainnet key. examples/mcp-server/run.ts
requires MCP_AGENT_SECRET_KEY_MAINNET and builds a signer for
stellar:pubnet. Anything you change here can move real money, so prefer
failing closed, and never log, echo or test with a real secret key.

Never elide an address, a contract id or a key in code, comments or
fixtures. A previous batch shortened a contract id and five contributors
invented plausible-looking ids to fill the gap. Write it in full or not at all.

An agent is the least able caller to notice a wrong answer. It will reason
over whatever it is handed, confidently. Prefer a structured error over a
best-effort result.


Required: Before submitting, join the contributor Telegram so your work can be tracked and counted toward the Stellar Wave: https://t.me/+fxHXq8f1SwlkZDBk

主要言語
TypeScript
スター
4
フォーク
71
平均マージ
3日 15時間
マージ済み PR(30日)
157

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Divinity-Labs/Lens のほかの issue

Divinity-Labs/Lens の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。