genofire/hs_monolith
genofire
/
hs_monolith
Archived
1
0
Fork 0
This repository has been archived on 2020-09-27. You can view files and clone it, but cannot push or open issues or pull requests.
hs_monolith/http/status_test.go

46 lines
1.0 KiB
Go

package http
import (
"net/http"
"testing"
"github.com/genofire/hs_master-kss-monolith/lib/database"
"github.com/genofire/hs_master-kss-monolith/models"
"github.com/genofire/hs_master-kss-monolith/test"
)
func TestStatus(t *testing.T) {
assertion, router := test.Init(t)
BindAPI(router)
session := test.NewSession(router)
database.Write.Create(&models.Good{
ProductID: 3,
Comment: "regal 1",
})
database.Write.Create(&models.Good{
ProductID: 3,
Comment: "regal 2",
})
database.Write.Create(&models.Good{
ProductID: 1,
Comment: "regal 10",
})
r, w := session.JSONRequest("GET", "/api/status", nil)
result := r.(map[string]interface{})
assertion.Equal(http.StatusOK, w.StatusCode)
assertion.Equal("running", result["status"])
db := result["database"].(map[string]interface{})
assertion.Equal(true, db["read"])
assertion.Equal(true, db["write"])
good := result["good"].(map[string]interface{})
assertion.Equal(float64(3), good["count"])
assertion.Equal(float64(1.5), good["avg"])
test.Close()
}