mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
accf28a7db
The server configuration already keeps the current version if the daemon. This patch changes the middleware logic to use it rather than using the global value. This removes the dockerversion package dependency from the api. Signed-off-by: David Calavera <david.calavera@gmail.com>
42 lines
957 B
Go
42 lines
957 B
Go
package server
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/docker/docker/api/server/httputils"
|
|
|
|
"golang.org/x/net/context"
|
|
)
|
|
|
|
func TestMiddlewares(t *testing.T) {
|
|
cfg := &Config{
|
|
Version: "0.1omega2",
|
|
}
|
|
srv := &Server{
|
|
cfg: cfg,
|
|
}
|
|
|
|
req, _ := http.NewRequest("GET", "/containers/json", nil)
|
|
resp := httptest.NewRecorder()
|
|
ctx := context.Background()
|
|
|
|
localHandler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
|
|
if httputils.VersionFromContext(ctx) == "" {
|
|
t.Fatalf("Expected version, got empty string")
|
|
}
|
|
|
|
if sv := w.Header().Get("Server"); !strings.Contains(sv, "Docker/0.1omega2") {
|
|
t.Fatalf("Expected server version in the header `Docker/0.1omega2`, got %s", sv)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
handlerFunc := srv.handleWithGlobalMiddlewares(localHandler)
|
|
if err := handlerFunc(ctx, resp, req, map[string]string{}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|