//go:build e2e // +build e2e package e2e import ( "net/http" "testing" "time" "github.com/gavv/httpexpect/v2" ) var waitingTime = 10 * time.Second func Test_Dynamic(t *testing.T) { e := httpexpect.New(t, "http://localhost:8080/dynamic/") e.GET("/whoami"). Expect(). Status(http.StatusAccepted). Body(). Contains(`

Dynamic Whoami is loading...

`). Contains(`Your instance will shutdown automatically after 1 minutes of inactivity.`) time.Sleep(waitingTime) e.GET("/whoami"). Expect(). Status(http.StatusOK). Body().Contains(`Host: localhost:8080`) } func Test_Blocking(t *testing.T) { e := httpexpect.New(t, "http://localhost:8080/blocking/") e.GET("/whoami"). Expect(). Status(http.StatusOK). Body().Contains(`Host: localhost:8080`) } func Test_Multiple(t *testing.T) { e := httpexpect.New(t, "http://localhost:8080/multiple/") e.GET("/whoami"). Expect(). Status(http.StatusAccepted). Body(). Contains(`

Multiple Whoami is loading...

`). Contains(`Your instance will shutdown automatically after 1 minutes of inactivity.`) time.Sleep(waitingTime) e.GET("/whoami"). Expect(). Status(http.StatusOK). Body().Contains(`Host: localhost:8080`) e.GET("/nginx"). Expect(). Status(http.StatusNotFound). Body().Contains(`nginx/1.23.1`) } func Test_Healthy(t *testing.T) { e := httpexpect.New(t, "http://localhost:8080/healthy/") e.GET("/nginx"). Expect(). Status(http.StatusAccepted). Body(). Contains(`

Healthy Nginx is loading...

`). Contains(`Your instance will shutdown automatically after 1 minutes of inactivity.`) e.GET("/nginx"). Expect(). Status(http.StatusAccepted). Body(). Contains(`

Healthy Nginx is loading...

`). Contains(`Your instance will shutdown automatically after 1 minutes of inactivity.`) time.Sleep(waitingTime) e.GET("/nginx"). Expect(). Status(http.StatusNotFound). Body().Contains(`nginx/1.23.1`) }