59 lines
1.2 KiB
Go
59 lines
1.2 KiB
Go
package staticpages
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestIfNoDeployPageExist(t *testing.T) {
|
|
dir, err := ioutil.TempDir("", "deploy")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer os.RemoveAll(dir)
|
|
|
|
w := httptest.NewRecorder()
|
|
|
|
executed := false
|
|
st := &Static{dir}
|
|
st.DeployPage(http.HandlerFunc(func(_ http.ResponseWriter, _ *http.Request) {
|
|
executed = true
|
|
})).ServeHTTP(w, nil)
|
|
if !executed {
|
|
t.Error("The handler should get executed")
|
|
}
|
|
}
|
|
|
|
func TestIfDeployPageExist(t *testing.T) {
|
|
dir, err := ioutil.TempDir("", "deploy")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer os.RemoveAll(dir)
|
|
|
|
deployPage := "DEPLOY"
|
|
ioutil.WriteFile(filepath.Join(dir, "index.html"), []byte(deployPage), 0600)
|
|
|
|
w := httptest.NewRecorder()
|
|
|
|
executed := false
|
|
st := &Static{dir}
|
|
st.DeployPage(http.HandlerFunc(func(_ http.ResponseWriter, _ *http.Request) {
|
|
executed = true
|
|
})).ServeHTTP(w, nil)
|
|
if executed {
|
|
t.Error("The handler should not get executed")
|
|
}
|
|
w.Flush()
|
|
|
|
require.Equal(t, 200, w.Code)
|
|
testhelper.RequireResponseBody(t, w, deployPage)
|
|
}
|