wip: migrate to mono-repo. SPN has already been moved to spn/
This commit is contained in:
33
spn/ships/http_shared_test.go
Normal file
33
spn/ships/http_shared_test.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package ships
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestSharedHTTP(t *testing.T) { //nolint:paralleltest // Test checks global state.
|
||||
const testPort = 65100
|
||||
|
||||
// Register multiple handlers.
|
||||
err := addHTTPHandler(testPort, "", ServeInfoPage)
|
||||
assert.NoError(t, err, "should be able to share http listener")
|
||||
err = addHTTPHandler(testPort, "/test", ServeInfoPage)
|
||||
assert.NoError(t, err, "should be able to share http listener")
|
||||
err = addHTTPHandler(testPort, "/test2", ServeInfoPage)
|
||||
assert.NoError(t, err, "should be able to share http listener")
|
||||
err = addHTTPHandler(testPort, "/", ServeInfoPage)
|
||||
assert.Error(t, err, "should fail to register path twice")
|
||||
|
||||
// Unregister
|
||||
assert.NoError(t, removeHTTPHandler(testPort, ""))
|
||||
assert.NoError(t, removeHTTPHandler(testPort, "/test"))
|
||||
assert.NoError(t, removeHTTPHandler(testPort, "/not-registered")) // removing unregistered handler does not error
|
||||
assert.NoError(t, removeHTTPHandler(testPort, "/test2"))
|
||||
assert.NoError(t, removeHTTPHandler(testPort, "/not-registered")) // removing unregistered handler does not error
|
||||
|
||||
// Check if all handlers are gone again.
|
||||
sharedHTTPServersLock.Lock()
|
||||
defer sharedHTTPServersLock.Unlock()
|
||||
assert.Equal(t, 0, len(sharedHTTPServers), "shared http handlers should be back to zero")
|
||||
}
|
||||
Reference in New Issue
Block a user