mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-26 04:47:45 +08:00
Merge pull request #2001 from ipfs/version-commit
gateway: /version tests, add CurrentCommit
This commit is contained in:
commit
7d0d1afb42
@ -148,6 +148,7 @@ var rootROSubcommands = map[string]*cmds.Command{
|
||||
},
|
||||
"refs": RefsROCmd,
|
||||
//"resolve": ResolveCmd,
|
||||
"version": VersionCmd,
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
||||
@ -53,7 +53,7 @@ Prints out information about your computer to aid in easier debugging.
|
||||
}
|
||||
|
||||
info["ipfs_version"] = config.CurrentVersionNumber
|
||||
info["ipfs_git_sha"] = config.CurrentCommit
|
||||
info["ipfs_commit"] = config.CurrentCommit
|
||||
res.SetOutput(info)
|
||||
},
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import (
|
||||
|
||||
core "github.com/ipfs/go-ipfs/core"
|
||||
id "github.com/ipfs/go-ipfs/p2p/protocol/identify"
|
||||
config "github.com/ipfs/go-ipfs/repo/config"
|
||||
)
|
||||
|
||||
// Gateway should be instantiated using NewGateway
|
||||
@ -58,7 +59,8 @@ func GatewayOption(writable bool) ServeOption {
|
||||
func VersionOption() ServeOption {
|
||||
return func(n *core.IpfsNode, _ net.Listener, mux *http.ServeMux) (*http.ServeMux, error) {
|
||||
mux.HandleFunc("/version", func(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintf(w, "Client Version: %s\n", id.ClientVersion)
|
||||
fmt.Fprintf(w, "Commit: %s\n", config.CurrentCommit)
|
||||
fmt.Fprintf(w, "Client Version: %s\n", id.ClientVersion)
|
||||
fmt.Fprintf(w, "Protocol Version: %s\n", id.IpfsVersion)
|
||||
})
|
||||
return mux, nil
|
||||
|
||||
@ -14,6 +14,7 @@ import (
|
||||
coreunix "github.com/ipfs/go-ipfs/core/coreunix"
|
||||
namesys "github.com/ipfs/go-ipfs/namesys"
|
||||
ci "github.com/ipfs/go-ipfs/p2p/crypto"
|
||||
id "github.com/ipfs/go-ipfs/p2p/protocol/identify"
|
||||
path "github.com/ipfs/go-ipfs/path"
|
||||
repo "github.com/ipfs/go-ipfs/repo"
|
||||
config "github.com/ipfs/go-ipfs/repo/config"
|
||||
@ -95,6 +96,7 @@ func newTestServerAndNode(t *testing.T, ns mockNamesys) (*httptest.Server, *core
|
||||
|
||||
dh.Handler, err = makeHandler(n,
|
||||
ts.Listener,
|
||||
VersionOption(),
|
||||
IPNSHostnameOption(),
|
||||
GatewayOption(false),
|
||||
)
|
||||
@ -397,3 +399,39 @@ func TestIPNSHostnameBacklinks(t *testing.T) {
|
||||
t.Fatalf("expected file in directory listing")
|
||||
}
|
||||
}
|
||||
|
||||
func TestVersion(t *testing.T) {
|
||||
config.CurrentCommit = "theshortcommithash"
|
||||
|
||||
ns := mockNamesys{}
|
||||
ts, _ := newTestServerAndNode(t, ns)
|
||||
t.Logf("test server url: %s", ts.URL)
|
||||
defer ts.Close()
|
||||
|
||||
req, err := http.NewRequest("GET", ts.URL+"/version", nil)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
res, err := doWithoutRedirect(req)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
body, err := ioutil.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
t.Fatalf("error reading response: %s", err)
|
||||
}
|
||||
s := string(body)
|
||||
|
||||
if !strings.Contains(s, "Commit: theshortcommithash") {
|
||||
t.Fatalf("response doesn't contain commit:\n%s", s)
|
||||
}
|
||||
|
||||
if !strings.Contains(s, "Client Version: "+id.ClientVersion) {
|
||||
t.Fatalf("response doesn't contain client version:\n%s", s)
|
||||
}
|
||||
|
||||
if !strings.Contains(s, "Protocol Version: "+id.IpfsVersion) {
|
||||
t.Fatalf("response doesn't contain protocol version:\n%s", s)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user