@@ -11,6 +11,7 @@ import (
1111 "github.com/github/github-mcp-server/internal/toolsnaps"
1212 "github.com/github/github-mcp-server/pkg/translations"
1313 "github.com/google/go-github/v87/github"
14+ "github.com/modelcontextprotocol/go-sdk/mcp"
1415 "github.com/shurcooL/githubv4"
1516 "github.com/stretchr/testify/assert"
1617 "github.com/stretchr/testify/require"
@@ -50,6 +51,7 @@ func Test_GetMe(t *testing.T) {
5051 mockedClient * http.Client
5152 clientErr string // if set, GetClient returns this error
5253 requestArgs map [string ]any
54+ missingArguments bool
5355 expectToolError bool
5456 expectedUser * github.User
5557 expectedToolErrMsg string
@@ -63,6 +65,15 @@ func Test_GetMe(t *testing.T) {
6365 expectToolError : false ,
6466 expectedUser : mockUser ,
6567 },
68+ {
69+ name : "successful get user with missing arguments" ,
70+ mockedClient : MockHTTPClientWithHandlers (map [string ]http.HandlerFunc {
71+ GetUser : mockResponse (t , http .StatusOK , mockUser ),
72+ }),
73+ missingArguments : true ,
74+ expectToolError : false ,
75+ expectedUser : mockUser ,
76+ },
6677 {
6778 name : "successful get user with reason" ,
6879 mockedClient : MockHTTPClientWithHandlers (map [string ]http.HandlerFunc {
@@ -103,7 +114,16 @@ func Test_GetMe(t *testing.T) {
103114 }
104115 handler := serverTool .Handler (deps )
105116
106- request := createMCPRequest (tc .requestArgs )
117+ var request mcp.CallToolRequest
118+ if tc .missingArguments {
119+ request = mcp.CallToolRequest {
120+ Params : & mcp.CallToolParamsRaw {
121+ Name : "get_me" ,
122+ },
123+ }
124+ } else {
125+ request = createMCPRequest (tc .requestArgs )
126+ }
107127 result , err := handler (ContextWithDeps (context .Background (), deps ), & request )
108128 require .NoError (t , err )
109129
0 commit comments