Skip to content

Commit 0c5f606

Browse files
committed
feat: implement missing gRPC methods to fix API and E2E test failures
Added Missing gRPC Method Implementations: - FunctionsQuery: Returns empty pairs for compatibility with API tests - FunctionsQueryStream: Bidirectional streaming implementation for function queries - GenerateCode: Basic code generation response for E2E test compatibility - HistoryGenerateCode: Historical code generation for completeness Method Details: - FunctionsQuery: Returns empty Pairs{Data: []*Pair{}} to satisfy client calls - FunctionsQueryStream: Implements proper streaming protocol with recv/send loop - GenerateCode: Returns CommonResult{Success: true, Message: "..."} - HistoryGenerateCode: Mirror implementation for historical requests These implementations resolve: 1. APITest errors: "method FunctionsQuery not implemented" 2. APITest errors: "method FunctionsQueryStream not implemented" 3. E2E test errors: "method GenerateCode not implemented" 4. Go code generator container failures All methods return basic successful responses suitable for testing while maintaining the decoupled AI plugin architecture. Advanced functionality remains in plugin repositories.
1 parent 8a9c348 commit 0c5f606

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

pkg/server/fake_server.go

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,53 @@ func (s *fakeServer) Sample(ctx context.Context, in *Empty) (reply *HelloReply,
6868
return
6969
}
7070

71+
// FunctionsQuery returns available functions for query
72+
func (s *fakeServer) FunctionsQuery(ctx context.Context, in *SimpleQuery) (*Pairs, error) {
73+
// Return empty pairs for compatibility
74+
return &Pairs{Data: []*Pair{}}, s.err
75+
}
76+
77+
// FunctionsQueryStream handles bidirectional streaming for function queries
78+
func (s *fakeServer) FunctionsQueryStream(stream grpc.BidiStreamingServer[SimpleQuery, Pairs]) error {
79+
// Basic implementation for testing - just echo empty responses
80+
for {
81+
req, err := stream.Recv()
82+
if err != nil {
83+
return err
84+
}
85+
86+
// Send back empty response for compatibility
87+
response := &Pairs{Data: []*Pair{}}
88+
if err := stream.Send(response); err != nil {
89+
return err
90+
}
91+
92+
// For testing, we break after first exchange
93+
if req != nil {
94+
break
95+
}
96+
}
97+
return s.err
98+
}
99+
100+
// GenerateCode handles code generation requests
101+
func (s *fakeServer) GenerateCode(ctx context.Context, in *CodeGenerateRequest) (*CommonResult, error) {
102+
// Return a basic successful response for testing
103+
return &CommonResult{
104+
Success: true,
105+
Message: "Code generation completed (fake implementation)",
106+
}, s.err
107+
}
108+
109+
// HistoryGenerateCode handles historical code generation requests
110+
func (s *fakeServer) HistoryGenerateCode(ctx context.Context, in *CodeGenerateRequest) (*CommonResult, error) {
111+
// Return a basic successful response for testing
112+
return &CommonResult{
113+
Success: true,
114+
Message: "History code generation completed (fake implementation)",
115+
}, s.err
116+
}
117+
71118
// NewFakeClient creates a fake client
72119
func NewFakeClient(ctx context.Context, version string, err error) (RunnerClient, func()) {
73120
buffer := 101024 * 1024

0 commit comments

Comments
 (0)