package srv import ( "net/http" "net/http/httptest" "reflect" "strings" "testing" "github.com/ghodss/yaml" "github.com/julienschmidt/httprouter" "github.com/linkerd/linkerd2/controller/api/public" "github.com/linkerd/linkerd2/controller/gen/apis/serviceprofile/v1alpha1" pb "github.com/linkerd/linkerd2/controller/gen/public" helpers "github.com/linkerd/linkerd2/pkg/profiles" ) func TestHandleIndex(t *testing.T) { mockAPIClient := &public.MockAPIClient{ VersionInfoToReturn: &pb.VersionInfo{ GoVersion: "the best one", BuildDate: "never", ReleaseVersion: "0.3.3", }, } server := FakeServer() handler := &handler{ render: server.RenderTemplate, apiClient: mockAPIClient, } recorder := httptest.NewRecorder() req := httptest.NewRequest("GET", "/", nil) handler.handleIndex(recorder, req, httprouter.Params{}) if recorder.Code != http.StatusOK { t.Errorf("Incorrect StatusCode: %+v", recorder.Code) t.Errorf("Expected %+v", http.StatusOK) } header := http.Header{ "Content-Type": []string{"text/html"}, } if !reflect.DeepEqual(recorder.Header(), header) { t.Errorf("Incorrect headers: %+v", recorder.Header()) t.Errorf("Expected: %+v", header) } actualBody := recorder.Body.String() expectedSubstrings := []string{ "