mirror of
https://github.com/mattermost/focalboard.git
synced 2025-02-01 19:14:35 +02:00
c8e729b6fe
* refactor: updated dependency for focalboard server * chore: more dependency fixes * refactor: removed the unless code * refactor: added ctx for login and removed unnessary code * refactor: bump up go version * refactor: removed the commented code * chore: upgraded golinter version * fix: linter issue * refactor: removed feature flg fix golinter * refactor: removed feature flag from code * revert: statistic and it's function * refactor: removed ProductLimit related code * refactor: removed isWithinViewsLimit implementation * refactor: moved function GetUsedCardsCount to statistics.go from cloud.go * refactor: removed insight code board * refactor: removed limit dialog * refactor: updated dependencies for linux * chore: golinter fix * chore: updated helper test function to use newLogger * fix: go test * refactor: db ping attempts from config * revert: feature in action * revert: feature flag in action * revert: boardsEditor setting --------- Co-authored-by: Rajat Dabade <rajat@Rajats-MacBook-Pro.local>
144 lines
3.6 KiB
Go
144 lines
3.6 KiB
Go
package api
|
|
|
|
import (
|
|
"encoding/json"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"runtime"
|
|
"testing"
|
|
|
|
"github.com/mattermost/focalboard/server/app"
|
|
"github.com/mattermost/focalboard/server/model"
|
|
"github.com/mattermost/mattermost/server/public/shared/mlog"
|
|
)
|
|
|
|
func TestHello(t *testing.T) {
|
|
testAPI := API{logger: mlog.CreateConsoleTestLogger(t)}
|
|
|
|
t.Run("Returns 'Hello' on success", func(t *testing.T) {
|
|
request, _ := http.NewRequest(http.MethodGet, "/hello", nil)
|
|
response := httptest.NewRecorder()
|
|
|
|
testAPI.handleHello(response, request)
|
|
|
|
got := response.Body.String()
|
|
want := "Hello"
|
|
|
|
if got != want {
|
|
t.Errorf("got %q want %q", got, want)
|
|
}
|
|
|
|
if response.Code != http.StatusOK {
|
|
t.Errorf("got HTTP %d want %d", response.Code, http.StatusOK)
|
|
}
|
|
})
|
|
}
|
|
|
|
func TestPing(t *testing.T) {
|
|
testAPI := API{logger: mlog.CreateConsoleTestLogger(t)}
|
|
|
|
t.Run("Returns metadata on success", func(t *testing.T) {
|
|
request, _ := http.NewRequest(http.MethodGet, "/ping", nil)
|
|
response := httptest.NewRecorder()
|
|
|
|
testAPI.handlePing(response, request)
|
|
|
|
var got app.ServerMetadata
|
|
err := json.NewDecoder(response.Body).Decode(&got)
|
|
if err != nil {
|
|
t.Fatalf("Unable to JSON decode response body %q", response.Body)
|
|
}
|
|
|
|
want := app.ServerMetadata{
|
|
Version: model.CurrentVersion,
|
|
BuildNumber: model.BuildNumber,
|
|
BuildDate: model.BuildDate,
|
|
Commit: model.BuildHash,
|
|
Edition: model.Edition,
|
|
DBType: "",
|
|
DBVersion: "",
|
|
OSType: runtime.GOOS,
|
|
OSArch: runtime.GOARCH,
|
|
SKU: "personal_server",
|
|
}
|
|
|
|
if got != want {
|
|
t.Errorf("got %q want %q", got, want)
|
|
}
|
|
|
|
if response.Code != http.StatusOK {
|
|
t.Errorf("got HTTP %d want %d", response.Code, http.StatusOK)
|
|
}
|
|
})
|
|
|
|
t.Run("Sets SKU to 'personal_desktop' when in single-user mode", func(t *testing.T) {
|
|
testAPI.singleUserToken = "abc-123-xyz-456"
|
|
request, _ := http.NewRequest(http.MethodGet, "/ping", nil)
|
|
response := httptest.NewRecorder()
|
|
|
|
testAPI.handlePing(response, request)
|
|
|
|
var got app.ServerMetadata
|
|
err := json.NewDecoder(response.Body).Decode(&got)
|
|
if err != nil {
|
|
t.Fatalf("Unable to JSON decode response body %q", response.Body)
|
|
}
|
|
|
|
want := app.ServerMetadata{
|
|
Version: model.CurrentVersion,
|
|
BuildNumber: model.BuildNumber,
|
|
BuildDate: model.BuildDate,
|
|
Commit: model.BuildHash,
|
|
Edition: model.Edition,
|
|
DBType: "",
|
|
DBVersion: "",
|
|
OSType: runtime.GOOS,
|
|
OSArch: runtime.GOARCH,
|
|
SKU: "personal_desktop",
|
|
}
|
|
|
|
if got != want {
|
|
t.Errorf("got %q want %q", got, want)
|
|
}
|
|
|
|
if response.Code != http.StatusOK {
|
|
t.Errorf("got HTTP %d want %d", response.Code, http.StatusOK)
|
|
}
|
|
})
|
|
|
|
t.Run("Sets SKU to 'suite' when in plugin mode", func(t *testing.T) {
|
|
model.Edition = "plugin"
|
|
request, _ := http.NewRequest(http.MethodGet, "/ping", nil)
|
|
response := httptest.NewRecorder()
|
|
|
|
testAPI.handlePing(response, request)
|
|
|
|
var got app.ServerMetadata
|
|
err := json.NewDecoder(response.Body).Decode(&got)
|
|
if err != nil {
|
|
t.Fatalf("Unable to JSON decode response body %q", response.Body)
|
|
}
|
|
|
|
want := app.ServerMetadata{
|
|
Version: model.CurrentVersion,
|
|
BuildNumber: model.BuildNumber,
|
|
BuildDate: model.BuildDate,
|
|
Commit: model.BuildHash,
|
|
Edition: "plugin",
|
|
DBType: "",
|
|
DBVersion: "",
|
|
OSType: runtime.GOOS,
|
|
OSArch: runtime.GOARCH,
|
|
SKU: "suite",
|
|
}
|
|
|
|
if got != want {
|
|
t.Errorf("got %q want %q", got, want)
|
|
}
|
|
|
|
if response.Code != http.StatusOK {
|
|
t.Errorf("got HTTP %d want %d", response.Code, http.StatusOK)
|
|
}
|
|
})
|
|
}
|