1
0
forked from baron/baron-sso
Files
2026-04-22 17:27:33 +09:00

35 lines
677 B
Go

package testsupport
import (
"context"
"net"
"github.com/testcontainers/testcontainers-go"
)
// PortBindingAvailable reports whether this environment can bind a local TCP listener.
func PortBindingAvailable() bool {
ln, err := net.Listen("tcp4", "127.0.0.1:0")
if err != nil {
return false
}
_ = ln.Close()
return true
}
// DockerAvailable reports whether Testcontainers can talk to a Docker provider.
func DockerAvailable() bool {
defer func() {
_ = recover()
}()
provider, err := testcontainers.ProviderDocker.GetProvider()
if err != nil {
return false
}
if err := provider.Health(context.Background()); err != nil {
return false
}
return true
}