42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package common_test
|
|
|
|
import (
|
|
"net/http"
|
|
"testing"
|
|
|
|
"allaboutapps.dev/aw/go-starter/internal/api"
|
|
"allaboutapps.dev/aw/go-starter/internal/test"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestGetReadyReadiness(t *testing.T) {
|
|
test.WithTestServer(t, func(s *api.Server) {
|
|
res := test.PerformRequest(t, s, "GET", "/-/ready", nil, nil)
|
|
require.Equal(t, http.StatusOK, res.Result().StatusCode)
|
|
require.Equal(t, "Ready.", res.Body.String())
|
|
})
|
|
}
|
|
|
|
func TestGetReadyReadinessBroken(t *testing.T) {
|
|
test.WithTestServer(t, func(s *api.Server) {
|
|
// forcefully remove an initialized component to check if ready state works
|
|
s.Mailer = nil
|
|
|
|
res := test.PerformRequest(t, s, "GET", "/-/ready", nil, nil)
|
|
require.Equal(t, 521, res.Result().StatusCode)
|
|
require.Equal(t, "Not ready.", res.Body.String())
|
|
})
|
|
}
|
|
|
|
func TestGetReadyDBBrokenNotReady(t *testing.T) {
|
|
test.WithTestServer(t, func(s *api.Server) {
|
|
// forcefully remove pg
|
|
err := s.DB.Close()
|
|
require.NoError(t, err)
|
|
|
|
res := test.PerformRequest(t, s, "GET", "/-/ready", nil, nil)
|
|
require.Equal(t, 521, res.Result().StatusCode)
|
|
require.Equal(t, "Not ready.", res.Body.String())
|
|
})
|
|
}
|