Skip to content

Commit be64f2c

Browse files
committed
fix(gateway): 修复 recordingPortWithoutSessionAsset 因嵌入具体类型导致 SessionAssetPort 方法被提升的测试缺陷
将 recordingPortWithoutSessionAsset 的嵌入类型从 *recordingPort 改为 RuntimePort 接口, 避免 Go 方法提升机制将 SessionAssetPort 的方法也一并提升,导致类型断言永远成功。
1 parent 655f992 commit be64f2c

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

internal/gateway/multi_workspace_runtime_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -864,9 +864,10 @@ var _ SessionAssetPort = (*MultiWorkspaceRuntime)(nil)
864864
var _ ManagementRuntimePort = (*MultiWorkspaceRuntime)(nil)
865865
var _ PlanApprovalRuntimePort = (*MultiWorkspaceRuntime)(nil)
866866

867-
// recordingPortWithoutSessionAsset 嵌套 recordingPort 但不实现 SessionAssetPort,
867+
// recordingPortWithoutSessionAsset 嵌入 RuntimePort 接口(而非具体类型 *recordingPort),
868+
// 确保只有 RuntimePort 方法被提升、SessionAssetPort 方法不被提升,
868869
// 用于验证 MultiWorkspaceRuntime 在底层 runtime 不支持附件时的降级处理。
869-
type recordingPortWithoutSessionAsset struct{ *recordingPort }
870+
type recordingPortWithoutSessionAsset struct{ RuntimePort }
870871

871872
func TestMultiWorkspaceRuntime_DeleteSessionAssetUnsupportedRuntime(t *testing.T) {
872873
idx, alpha, _ := setupIndex(t)

0 commit comments

Comments
 (0)