From afe274add4dc716047dad71c2968ec772c10693e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 19 Jan 2026 22:49:33 +0000 Subject: [PATCH 1/2] Initial plan From 410ecdd4f78ad9ab59a461088daf56a01dbad15c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 19 Jan 2026 22:54:47 +0000 Subject: [PATCH 2/2] Fix repository resource tests to work with current API Co-authored-by: SamMorrowDrums <4811358+SamMorrowDrums@users.noreply.github.com> --- pkg/github/repository_resource_test.go | 31 ++++++++++++++------------ 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/pkg/github/repository_resource_test.go b/pkg/github/repository_resource_test.go index f5ad05ce6..ea06f093e 100644 --- a/pkg/github/repository_resource_test.go +++ b/pkg/github/repository_resource_test.go @@ -8,6 +8,7 @@ import ( "testing" "github.com/github/github-mcp-server/pkg/raw" + "github.com/github/github-mcp-server/pkg/translations" "github.com/google/go-github/v79/github" "github.com/modelcontextprotocol/go-sdk/mcp" "github.com/stretchr/testify/require" @@ -292,7 +293,13 @@ func Test_repositoryResourceContentsHandler_NetworkError(t *testing.T) { httpClient := &http.Client{Transport: &errorTransport{err: networkErr}} client := github.NewClient(httpClient) mockRawClient := raw.NewClient(client, base) - handler := RepositoryResourceContentsHandler(stubGetClientFn(client), stubGetRawClientFn(mockRawClient), repositoryResourceContentURITemplate) + + deps := BaseDeps{ + Client: client, + RawClient: mockRawClient, + } + ctx := ContextWithDeps(context.Background(), deps) + handler := RepositoryResourceContentsHandler(repositoryResourceContentURITemplate) request := &mcp.ReadResourceRequest{ Params: &mcp.ReadResourceParams{ @@ -301,31 +308,27 @@ func Test_repositoryResourceContentsHandler_NetworkError(t *testing.T) { } // This should not panic, even though the HTTP client returns an error - resp, err := handler(context.TODO(), request) + resp, err := handler(ctx, request) require.Error(t, err) require.Nil(t, resp) require.ErrorContains(t, err, "failed to get raw content") } func Test_GetRepositoryResourceContent(t *testing.T) { - mockRawClient := raw.NewClient(github.NewClient(nil), &url.URL{}) - tmpl, _ := GetRepositoryResourceContent(nil, stubGetRawClientFn(mockRawClient), translations.NullTranslationHelper) - require.Equal(t, "repo://{owner}/{repo}/contents{/path*}", tmpl.URITemplate) + tmpl := GetRepositoryResourceContent(translations.NullTranslationHelper) + require.Equal(t, "repo://{owner}/{repo}/contents{/path*}", tmpl.Template.URITemplate) } func Test_GetRepositoryResourceBranchContent(t *testing.T) { - mockRawClient := raw.NewClient(github.NewClient(nil), &url.URL{}) - tmpl, _ := GetRepositoryResourceBranchContent(nil, stubGetRawClientFn(mockRawClient), translations.NullTranslationHelper) - require.Equal(t, "repo://{owner}/{repo}/refs/heads/{branch}/contents{/path*}", tmpl.URITemplate) + tmpl := GetRepositoryResourceBranchContent(translations.NullTranslationHelper) + require.Equal(t, "repo://{owner}/{repo}/refs/heads/{branch}/contents{/path*}", tmpl.Template.URITemplate) } func Test_GetRepositoryResourceCommitContent(t *testing.T) { - mockRawClient := raw.NewClient(github.NewClient(nil), &url.URL{}) - tmpl, _ := GetRepositoryResourceCommitContent(nil, stubGetRawClientFn(mockRawClient), translations.NullTranslationHelper) - require.Equal(t, "repo://{owner}/{repo}/sha/{sha}/contents{/path*}", tmpl.URITemplate) + tmpl := GetRepositoryResourceCommitContent(translations.NullTranslationHelper) + require.Equal(t, "repo://{owner}/{repo}/sha/{sha}/contents{/path*}", tmpl.Template.URITemplate) } func Test_GetRepositoryResourceTagContent(t *testing.T) { - mockRawClient := raw.NewClient(github.NewClient(nil), &url.URL{}) - tmpl, _ := GetRepositoryResourceTagContent(nil, stubGetRawClientFn(mockRawClient), translations.NullTranslationHelper) - require.Equal(t, "repo://{owner}/{repo}/refs/tags/{tag}/contents{/path*}", tmpl.URITemplate) + tmpl := GetRepositoryResourceTagContent(translations.NullTranslationHelper) + require.Equal(t, "repo://{owner}/{repo}/refs/tags/{tag}/contents{/path*}", tmpl.Template.URITemplate) }