Files
dingtalk-workspace-cli/internal/cli/homology/final_lookup_test.go
玉澜 ea43db1d64 refactor(schema): drop cli shim packages, add testseam swap, consolidate ForTest helpers
- import 统一:删除 cli/contractfinal 与 cli/runtimeannotate 垫片包,
  26 个消费文件一律直引 corecmd/*;cli 根仅保留 runtime_schema_seam.go
  包内别名,依赖图保持单向无环
- 新增 internal/testseam.Swap[T]:包级 var 注入缝置换由 t.Cleanup
  结构性恢复;迁移 pipeline*/stdinIsTerminalFn/loadReviewedCommandRegistry/
  schemaCommandCatalogError/schemaParameterBindingData/finalSchemaAgentMetadata
  六组核心缝(26+ 处)
- ForTest 辅助归拢到 per-package fortest.go(corecmd/contract、
  corecmd/contractfinal、shortcut、cli),生产文件只留真逻辑
- 文档同步:runtime_schema_seam.go / runtimeannotate/doc.go 注释、
  CHANGELOG、RFC §278-279、AGENTS.md
2026-08-03 00:50:16 +08:00

35 lines
1.2 KiB
Go

package homology
import (
"testing"
"github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/app"
"github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/corecmd/contractfinal"
)
func TestContractFinalFoundForHrbrain(t *testing.T) {
root := app.NewSchemaSourceRootCommand()
hrbrain, _, err := root.Find([]string{"hrbrain", "search", "employees"})
if err != nil || hrbrain == nil {
t.Fatalf("hrbrain search employees not found: %v", err)
}
final, ok := contractfinal.RuntimeContractFinal(hrbrain)
if !ok {
t.Fatal("ContractFinal NOT found for hrbrain search employees — this is the root cause of contract.ParamDecl not working")
}
t.Logf("ContractFinal found: title=%s params=%d", final.Title, len(final.Parameters))
}
func TestContractFinalFoundForAisearch(t *testing.T) {
root := app.NewSchemaSourceRootCommand()
enterprise, _, err := root.Find([]string{"aisearch", "enterprise"})
if err != nil || enterprise == nil {
t.Fatalf("aisearch enterprise not found: %v", err)
}
final, ok := contractfinal.RuntimeContractFinal(enterprise)
if !ok {
t.Fatal("ContractFinal NOT found for aisearch enterprise")
}
t.Logf("ContractFinal found: title=%s params=%d", final.Title, len(final.Parameters))
}