@@ -139,6 +139,47 @@ func Test_GetMe(t *testing.T) {
139139 }
140140}
141141
142+ func Test_GetMe_OmittedArguments (t * testing.T ) {
143+ t .Parallel ()
144+
145+ serverTool := GetMe (translations .NullTranslationHelper )
146+
147+ mockUser := & github.User {
148+ Login : github .Ptr ("testuser" ),
149+ Name : github .Ptr ("Test User" ),
150+ HTMLURL : github .Ptr ("https://github.com/testuser" ),
151+ CreatedAt : & github.Timestamp {Time : time .Now ()},
152+ }
153+ mockedClient := MockHTTPClientWithHandlers (map [string ]http.HandlerFunc {
154+ GetUser : mockResponse (t , http .StatusOK , mockUser ),
155+ })
156+ deps := BaseDeps {Client : mustNewGHClient (t , mockedClient ), Obsv : stubExporters ()}
157+ handler := serverTool .Handler (deps )
158+
159+ tests := []struct {
160+ name string
161+ arguments json.RawMessage
162+ }{
163+ {name : "nil arguments" , arguments : nil },
164+ {name : "empty byte slice" , arguments : json.RawMessage {}},
165+ }
166+
167+ for _ , tc := range tests {
168+ t .Run (tc .name , func (t * testing.T ) {
169+ request := createMCPRequestWithRawArguments (tc .arguments )
170+ result , err := handler (ContextWithDeps (context .Background (), deps ), & request )
171+ require .NoError (t , err )
172+ require .False (t , result .IsError )
173+
174+ textContent := getTextResult (t , result )
175+ var returnedUser MinimalUser
176+ err = json .Unmarshal ([]byte (textContent .Text ), & returnedUser )
177+ require .NoError (t , err )
178+ assert .Equal (t , "testuser" , returnedUser .Login )
179+ })
180+ }
181+ }
182+
142183func Test_GetMe_IFC_FeatureFlag (t * testing.T ) {
143184 t .Parallel ()
144185
0 commit comments