mirror of
https://github.com/pocketbase/pocketbase.git
synced 2024-12-03 19:26:50 +02:00
72 lines
1.8 KiB
Go
72 lines
1.8 KiB
Go
package apis_test
|
|
|
|
import (
|
|
"net/http"
|
|
"testing"
|
|
|
|
"github.com/pocketbase/pocketbase/tests"
|
|
)
|
|
|
|
func TestHealthAPI(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
scenarios := []tests.ApiScenario{
|
|
{
|
|
Name: "GET health status (guest)",
|
|
Method: http.MethodGet, // automatically matches also HEAD as a side-effect of the Go std mux
|
|
URL: "/api/health",
|
|
ExpectedStatus: 200,
|
|
ExpectedContent: []string{
|
|
`"code":200`,
|
|
`"data":{}`,
|
|
},
|
|
NotExpectedContent: []string{
|
|
"canBackup",
|
|
"realIP",
|
|
"possibleProxyHeader",
|
|
},
|
|
ExpectedEvents: map[string]int{"*": 0},
|
|
},
|
|
{
|
|
Name: "GET health status (regular user)",
|
|
Method: http.MethodGet,
|
|
URL: "/api/health",
|
|
Headers: map[string]string{
|
|
"Authorization": "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6IjRxMXhsY2xtZmxva3UzMyIsInR5cGUiOiJhdXRoIiwiY29sbGVjdGlvbklkIjoiX3BiX3VzZXJzX2F1dGhfIiwiZXhwIjoyNTI0NjA0NDYxLCJyZWZyZXNoYWJsZSI6dHJ1ZX0.ZT3F0Z3iM-xbGgSG3LEKiEzHrPHr8t8IuHLZGGNuxLo",
|
|
},
|
|
ExpectedStatus: 200,
|
|
ExpectedContent: []string{
|
|
`"code":200`,
|
|
`"data":{}`,
|
|
},
|
|
NotExpectedContent: []string{
|
|
"canBackup",
|
|
"realIP",
|
|
"possibleProxyHeader",
|
|
},
|
|
ExpectedEvents: map[string]int{"*": 0},
|
|
},
|
|
{
|
|
Name: "GET health status (superuser)",
|
|
Method: http.MethodGet,
|
|
URL: "/api/health",
|
|
Headers: map[string]string{
|
|
"Authorization": "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6InN5d2JoZWNuaDQ2cmhtMCIsInR5cGUiOiJhdXRoIiwiY29sbGVjdGlvbklkIjoiX3BiY18zMzIzODY2MzM5IiwiZXhwIjoyNTI0NjA0NDYxLCJyZWZyZXNoYWJsZSI6dHJ1ZX0.v_bMAygr6hXPwD2DpPrFpNQ7dd68Q3pGstmYAsvNBJg",
|
|
},
|
|
ExpectedStatus: 200,
|
|
ExpectedContent: []string{
|
|
`"code":200`,
|
|
`"data":{`,
|
|
`"canBackup":true`,
|
|
`"realIP"`,
|
|
`"possibleProxyHeader"`,
|
|
},
|
|
ExpectedEvents: map[string]int{"*": 0},
|
|
},
|
|
}
|
|
|
|
for _, scenario := range scenarios {
|
|
scenario.Test(t)
|
|
}
|
|
}
|