mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
pkg/plugins: don't share plugin server between tests
Refactor setupRemotePluginServer() to be a helper, and to spin up a test- server for each test instead of sharing the same instance between tests. This allows the tests to be run in parallel without stepping on each-other's toes (tearing down the server). Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
@@ -18,21 +18,15 @@ import (
|
||||
is "gotest.tools/v3/assert/cmp"
|
||||
)
|
||||
|
||||
var (
|
||||
mux *http.ServeMux
|
||||
server *httptest.Server
|
||||
)
|
||||
|
||||
func setupRemotePluginServer() string {
|
||||
func setupRemotePluginServer(t *testing.T) (mux *http.ServeMux, addr string) {
|
||||
t.Helper()
|
||||
mux = http.NewServeMux()
|
||||
server = httptest.NewServer(mux)
|
||||
return server.URL
|
||||
}
|
||||
|
||||
func teardownRemotePluginServer() {
|
||||
if server != nil {
|
||||
server := httptest.NewServer(mux)
|
||||
t.Logf("started remote plugin server listening on: %s", server.URL)
|
||||
t.Cleanup(func() {
|
||||
server.Close()
|
||||
}
|
||||
})
|
||||
return mux, server.URL
|
||||
}
|
||||
|
||||
func TestFailedConnection(t *testing.T) {
|
||||
@@ -44,8 +38,7 @@ func TestFailedConnection(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFailOnce(t *testing.T) {
|
||||
addr := setupRemotePluginServer()
|
||||
defer teardownRemotePluginServer()
|
||||
mux, addr := setupRemotePluginServer(t)
|
||||
|
||||
failed := false
|
||||
mux.HandleFunc("/Test.FailOnce", func(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -64,8 +57,7 @@ func TestFailOnce(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestEchoInputOutput(t *testing.T) {
|
||||
addr := setupRemotePluginServer()
|
||||
defer teardownRemotePluginServer()
|
||||
mux, addr := setupRemotePluginServer(t)
|
||||
|
||||
m := Manifest{[]string{"VolumeDriver", "NetworkDriver"}}
|
||||
|
||||
@@ -157,8 +149,7 @@ func TestClientScheme(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestNewClientWithTimeout(t *testing.T) {
|
||||
addr := setupRemotePluginServer()
|
||||
defer teardownRemotePluginServer()
|
||||
mux, addr := setupRemotePluginServer(t)
|
||||
|
||||
m := Manifest{[]string{"VolumeDriver", "NetworkDriver"}}
|
||||
|
||||
@@ -178,8 +169,7 @@ func TestNewClientWithTimeout(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestClientStream(t *testing.T) {
|
||||
addr := setupRemotePluginServer()
|
||||
defer teardownRemotePluginServer()
|
||||
mux, addr := setupRemotePluginServer(t)
|
||||
|
||||
m := Manifest{[]string{"VolumeDriver", "NetworkDriver"}}
|
||||
var output Manifest
|
||||
@@ -208,8 +198,7 @@ func TestClientStream(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestClientSendFile(t *testing.T) {
|
||||
addr := setupRemotePluginServer()
|
||||
defer teardownRemotePluginServer()
|
||||
mux, addr := setupRemotePluginServer(t)
|
||||
|
||||
m := Manifest{[]string{"VolumeDriver", "NetworkDriver"}}
|
||||
var output Manifest
|
||||
|
||||
@@ -85,8 +85,7 @@ func TestGet(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestPluginWithNoManifest(t *testing.T) {
|
||||
addr := setupRemotePluginServer()
|
||||
defer teardownRemotePluginServer()
|
||||
mux, addr := setupRemotePluginServer(t)
|
||||
|
||||
m := Manifest{[]string{fruitImplements}}
|
||||
var buf bytes.Buffer
|
||||
|
||||
Reference in New Issue
Block a user