34 lines
1.3 KiB
Go
34 lines
1.3 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/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestGetVersion(t *testing.T) {
|
|
test.WithTestServer(t, func(s *api.Server) {
|
|
res := test.PerformRequest(t, s, "GET", "/-/version?mgmt-secret="+s.Config.Management.Secret, nil, nil)
|
|
require.Equal(t, http.StatusOK, res.Result().StatusCode)
|
|
require.Equal(t, "build.local/misses/ldflags @ < 40 chars git commit hash via ldflags > (1970-01-01T00:00:00+00:00)", res.Body.String()) // build args are not injected during test time.
|
|
|
|
// caching: ensure this call is always uncached for browsers
|
|
assert.Equal(t, "no-cache, private, max-age=0", res.Header().Get("Cache-Control"))
|
|
assert.Equal(t, "Thu, 01 Jan 1970 00:00:00 UTC", res.Header().Get("Expires"))
|
|
assert.Equal(t, "0", res.Header().Get("X-Accel-Expires"))
|
|
assert.Equal(t, "no-cache", res.Header().Get("Pragma"))
|
|
|
|
// caching: unset
|
|
assert.Empty(t, res.Header().Get("ETag"))
|
|
assert.Empty(t, res.Header().Get("If-Modified-Since"))
|
|
assert.Empty(t, res.Header().Get("If-Match"))
|
|
assert.Empty(t, res.Header().Get("If-None-Match"))
|
|
assert.Empty(t, res.Header().Get("If-Range"))
|
|
assert.Empty(t, res.Header().Get("If-Unmodified-Since"))
|
|
})
|
|
}
|