mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-23 22:27:38 -05:00
proxy: make tests workable when offline
Instead of accessing the google website, we setup a local server for test, then tests will work fine even we are offline. Fix issue #346 Signed-off-by: Tw <tw19881113@gmail.com>
This commit is contained in:
parent
37e3cf684d
commit
a5b117fcdf
1 changed files with 16 additions and 1 deletions
|
@ -1,9 +1,24 @@
|
||||||
package proxy
|
package proxy
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"net/http"
|
||||||
|
"net/http/httptest"
|
||||||
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var workableServer *httptest.Server
|
||||||
|
|
||||||
|
func TestMain(m *testing.M) {
|
||||||
|
workableServer = httptest.NewServer(http.HandlerFunc(
|
||||||
|
func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
// do nothing
|
||||||
|
}))
|
||||||
|
r := m.Run()
|
||||||
|
workableServer.Close()
|
||||||
|
os.Exit(r)
|
||||||
|
}
|
||||||
|
|
||||||
type customPolicy struct{}
|
type customPolicy struct{}
|
||||||
|
|
||||||
func (r *customPolicy) Select(pool HostPool) *UpstreamHost {
|
func (r *customPolicy) Select(pool HostPool) *UpstreamHost {
|
||||||
|
@ -13,7 +28,7 @@ func (r *customPolicy) Select(pool HostPool) *UpstreamHost {
|
||||||
func testPool() HostPool {
|
func testPool() HostPool {
|
||||||
pool := []*UpstreamHost{
|
pool := []*UpstreamHost{
|
||||||
{
|
{
|
||||||
Name: "http://google.com", // this should resolve (healthcheck test)
|
Name: workableServer.URL, // this should resolve (healthcheck test)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "http://shouldnot.resolve", // this shouldn't
|
Name: "http://shouldnot.resolve", // this shouldn't
|
||||||
|
|
Loading…
Reference in a new issue