Skip to content

Commit dba6c26

Browse files
committed
Use the Gorilla Mux router for better routing of mocked GitHub APIs.
1 parent 15bbcfd commit dba6c26

File tree

4 files changed

+13
-12
lines changed

4 files changed

+13
-12
lines changed

go.mod

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ go 1.14
55
require (
66
github.com/go-git/go-git/v5 v5.1.0
77
github.com/google/go-github/v32 v32.1.0
8+
github.com/gorilla/mux v1.8.0
89
github.com/mitchellh/ioprogress v0.0.0-20180201004757-6a23b12fa88e
910
github.com/pkg/errors v0.8.1
1011
github.com/spf13/cobra v1.0.0

go.sum

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/pull/pull_test.go

+7-10
Original file line numberDiff line numberDiff line change
@@ -124,18 +124,16 @@ func TestPullReleases(t *testing.T) {
124124
githubTestServer, githubURL := test.GetTestHTTPServer(t)
125125
githubTestServer.HandleFunc("/api/v3/repos/github/codeql-action/releases/tags/some-codeql-version-on-main", func(response http.ResponseWriter, request *http.Request) {
126126
test.ServeHTTPResponseFromFile(t, http.StatusOK, "./pull_test/api/release-some-codeql-version-on-main.json", response)
127-
})
127+
}).Methods("GET")
128128
githubTestServer.HandleFunc("/api/v3/repos/github/codeql-action/releases/assets/1", func(response http.ResponseWriter, request *http.Request) {
129-
require.Equal(t, "application/octet-stream", request.Header.Get("accept"))
130129
test.ServeHTTPResponseFromFile(t, http.StatusOK, "./pull_test/api/asset-some-codeql-version-on-main.bin", response)
131-
})
130+
}).Methods("GET").Headers("accept", "application/octet-stream")
132131
githubTestServer.HandleFunc("/api/v3/repos/github/codeql-action/releases/tags/some-codeql-version-on-v1-and-v2", func(response http.ResponseWriter, request *http.Request) {
133132
test.ServeHTTPResponseFromFile(t, http.StatusOK, "./pull_test/api/release-some-codeql-version-on-v1-and-v2.json", response)
134-
})
133+
}).Methods("GET")
135134
githubTestServer.HandleFunc("/api/v3/repos/github/codeql-action/releases/assets/2", func(response http.ResponseWriter, request *http.Request) {
136-
require.Equal(t, "application/octet-stream", request.Header.Get("accept"))
137135
test.ServeHTTPResponseFromFile(t, http.StatusOK, "./pull_test/api/asset-some-codeql-version-on-v1-and-v2.bin", response)
138-
})
136+
}).Methods("GET").Headers("accept", "application/octet-stream")
139137
pullService := getTestPullService(t, temporaryDirectory, initialActionRepository, githubURL)
140138
err := pullService.pullGit(true)
141139
require.NoError(t, err)
@@ -151,14 +149,13 @@ func TestPullReleases(t *testing.T) {
151149
githubTestServer, githubURL = test.GetTestHTTPServer(t)
152150
githubTestServer.HandleFunc("/api/v3/repos/github/codeql-action/releases/tags/some-codeql-version-on-main", func(response http.ResponseWriter, request *http.Request) {
153151
test.ServeHTTPResponseFromFile(t, http.StatusOK, "./pull_test/api/release-some-codeql-version-on-main.json", response)
154-
})
152+
}).Methods("GET")
155153
githubTestServer.HandleFunc("/api/v3/repos/github/codeql-action/releases/tags/some-codeql-version-on-v1-and-v2", func(response http.ResponseWriter, request *http.Request) {
156154
test.ServeHTTPResponseFromFile(t, http.StatusOK, "./pull_test/api/release-some-codeql-version-on-v1-and-v2.json", response)
157-
})
155+
}).Methods("GET")
158156
githubTestServer.HandleFunc("/api/v3/repos/github/codeql-action/releases/assets/2", func(response http.ResponseWriter, request *http.Request) {
159-
require.Equal(t, "application/octet-stream", request.Header.Get("accept"))
160157
test.ServeHTTPResponseFromFile(t, http.StatusOK, "./pull_test/api/asset-some-codeql-version-on-v1-and-v2.bin", response)
161-
})
158+
}).Methods("GET").Headers("accept", "application/octet-stream")
162159
pullService = getTestPullService(t, temporaryDirectory, initialActionRepository, githubURL)
163160
err = pullService.pullReleases()
164161
require.NoError(t, err)

test/test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"os"
88
"testing"
99

10+
"github.com/gorilla/mux"
1011
"github.com/stretchr/testify/require"
1112
)
1213

@@ -19,8 +20,8 @@ func CreateTemporaryDirectory(t *testing.T) string {
1920
return directory
2021
}
2122

22-
func GetTestHTTPServer(t *testing.T) (*http.ServeMux, string) {
23-
mux := http.NewServeMux()
23+
func GetTestHTTPServer(t *testing.T) (*mux.Router, string) {
24+
mux := mux.NewRouter()
2425
mux.HandleFunc("/", func(response http.ResponseWriter, request *http.Request) {
2526
require.Failf(t, "Unexpected HTTP request: %s %s", request.Method, request.URL.Path)
2627
})

0 commit comments

Comments
 (0)