mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-05 00:53:58 -04:00
[client] Fix flaky JWT SSH test (#5181)
This commit is contained in:
@@ -54,7 +54,7 @@ func TestJWTEnforcement(t *testing.T) {
|
|||||||
server.SetAllowRootLogin(true)
|
server.SetAllowRootLogin(true)
|
||||||
|
|
||||||
serverAddr := StartTestServer(t, server)
|
serverAddr := StartTestServer(t, server)
|
||||||
defer require.NoError(t, server.Stop())
|
defer func() { require.NoError(t, server.Stop()) }()
|
||||||
|
|
||||||
host, portStr, err := net.SplitHostPort(serverAddr)
|
host, portStr, err := net.SplitHostPort(serverAddr)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
@@ -88,7 +88,7 @@ func TestJWTEnforcement(t *testing.T) {
|
|||||||
serverNoJWT.SetAllowRootLogin(true)
|
serverNoJWT.SetAllowRootLogin(true)
|
||||||
|
|
||||||
serverAddrNoJWT := StartTestServer(t, serverNoJWT)
|
serverAddrNoJWT := StartTestServer(t, serverNoJWT)
|
||||||
defer require.NoError(t, serverNoJWT.Stop())
|
defer func() { require.NoError(t, serverNoJWT.Stop()) }()
|
||||||
|
|
||||||
hostNoJWT, portStrNoJWT, err := net.SplitHostPort(serverAddrNoJWT)
|
hostNoJWT, portStrNoJWT, err := net.SplitHostPort(serverAddrNoJWT)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
@@ -213,7 +213,7 @@ func TestJWTDetection(t *testing.T) {
|
|||||||
server.SetAllowRootLogin(true)
|
server.SetAllowRootLogin(true)
|
||||||
|
|
||||||
serverAddr := StartTestServer(t, server)
|
serverAddr := StartTestServer(t, server)
|
||||||
defer require.NoError(t, server.Stop())
|
defer func() { require.NoError(t, server.Stop()) }()
|
||||||
|
|
||||||
host, portStr, err := net.SplitHostPort(serverAddr)
|
host, portStr, err := net.SplitHostPort(serverAddr)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
@@ -341,7 +341,7 @@ func TestJWTFailClose(t *testing.T) {
|
|||||||
server.SetAllowRootLogin(true)
|
server.SetAllowRootLogin(true)
|
||||||
|
|
||||||
serverAddr := StartTestServer(t, server)
|
serverAddr := StartTestServer(t, server)
|
||||||
defer require.NoError(t, server.Stop())
|
defer func() { require.NoError(t, server.Stop()) }()
|
||||||
|
|
||||||
host, portStr, err := net.SplitHostPort(serverAddr)
|
host, portStr, err := net.SplitHostPort(serverAddr)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
@@ -596,7 +596,7 @@ func TestJWTAuthentication(t *testing.T) {
|
|||||||
server.UpdateSSHAuth(authConfig)
|
server.UpdateSSHAuth(authConfig)
|
||||||
|
|
||||||
serverAddr := StartTestServer(t, server)
|
serverAddr := StartTestServer(t, server)
|
||||||
defer require.NoError(t, server.Stop())
|
defer func() { require.NoError(t, server.Stop()) }()
|
||||||
|
|
||||||
host, portStr, err := net.SplitHostPort(serverAddr)
|
host, portStr, err := net.SplitHostPort(serverAddr)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
@@ -715,7 +715,7 @@ func TestJWTMultipleAudiences(t *testing.T) {
|
|||||||
server.UpdateSSHAuth(authConfig)
|
server.UpdateSSHAuth(authConfig)
|
||||||
|
|
||||||
serverAddr := StartTestServer(t, server)
|
serverAddr := StartTestServer(t, server)
|
||||||
defer require.NoError(t, server.Stop())
|
defer func() { require.NoError(t, server.Stop()) }()
|
||||||
|
|
||||||
host, portStr, err := net.SplitHostPort(serverAddr)
|
host, portStr, err := net.SplitHostPort(serverAddr)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|||||||
@@ -8,19 +8,18 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// StartTestServer starts the SSH server and returns the address it's listening on.
|
||||||
func StartTestServer(t *testing.T, server *Server) string {
|
func StartTestServer(t *testing.T, server *Server) string {
|
||||||
started := make(chan string, 1)
|
started := make(chan string, 1)
|
||||||
errChan := make(chan error, 1)
|
errChan := make(chan error, 1)
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
// Use port 0 to let the OS assign a free port
|
|
||||||
addrPort := netip.MustParseAddrPort("127.0.0.1:0")
|
addrPort := netip.MustParseAddrPort("127.0.0.1:0")
|
||||||
if err := server.Start(context.Background(), addrPort); err != nil {
|
if err := server.Start(context.Background(), addrPort); err != nil {
|
||||||
errChan <- err
|
errChan <- err
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the actual listening address from the server
|
|
||||||
actualAddr := server.Addr()
|
actualAddr := server.Addr()
|
||||||
if actualAddr == nil {
|
if actualAddr == nil {
|
||||||
errChan <- fmt.Errorf("server started but no listener address available")
|
errChan <- fmt.Errorf("server started but no listener address available")
|
||||||
|
|||||||
Reference in New Issue
Block a user