mirror of
https://github.com/gojp/goreportcard.git
synced 2026-01-28 22:39:05 +08:00
55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
package download
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
)
|
|
|
|
func TestModuleName(t *testing.T) {
|
|
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
u := r.URL
|
|
switch u.Path {
|
|
case "/github.com/user/module/@latest":
|
|
fmt.Fprintf(w, `{"Version":"v0.1.0","Time":"2019-08-07T08:30:46Z"}`)
|
|
return
|
|
case "/github.com/user/module/@v/v0.1.0.mod":
|
|
fmt.Fprintf(w, `module github.com/user/module`)
|
|
return
|
|
}
|
|
}))
|
|
defer ts.Close()
|
|
|
|
c := NewProxyClient(ts.URL)
|
|
|
|
got, err := c.ModuleName("github.com/user/module")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
want := "github.com/user/module"
|
|
if got != want {
|
|
t.Errorf("got module name = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestLatestVersion(t *testing.T) {
|
|
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
fmt.Fprintf(w, `{"Version":"v0.1.0","Time":"2019-08-07T08:30:46Z"}`)
|
|
}))
|
|
defer ts.Close()
|
|
|
|
c := NewProxyClient(ts.URL)
|
|
|
|
got, err := c.LatestVersion("github.com/user/module")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
want := "v0.1.0"
|
|
if got != want {
|
|
t.Errorf("got latest version = %q, want %q", got, want)
|
|
}
|
|
}
|