mirror of
https://github.com/pomerium/pomerium.git
synced 2025-06-07 05:12:45 +02:00
test that upstream banner is sent to client
This commit is contained in:
parent
95d0baf137
commit
fe2df405e0
1 changed files with 7 additions and 0 deletions
|
@ -28,6 +28,7 @@ func TestSSH(t *testing.T) {
|
||||||
|
|
||||||
// ssh client setup
|
// ssh client setup
|
||||||
var ki scenarios.EmptyKeyboardInteractiveChallenge
|
var ki scenarios.EmptyKeyboardInteractiveChallenge
|
||||||
|
var bannerReceived string
|
||||||
clientConfig := &ssh.ClientConfig{
|
clientConfig := &ssh.ClientConfig{
|
||||||
User: "demo@example",
|
User: "demo@example",
|
||||||
Auth: []ssh.AuthMethod{
|
Auth: []ssh.AuthMethod{
|
||||||
|
@ -35,6 +36,7 @@ func TestSSH(t *testing.T) {
|
||||||
ssh.KeyboardInteractive(ki.Do),
|
ssh.KeyboardInteractive(ki.Do),
|
||||||
},
|
},
|
||||||
HostKeyCallback: ssh.FixedHostKey(newPublicKey(t, serverHostKey.Public())),
|
HostKeyCallback: ssh.FixedHostKey(newPublicKey(t, serverHostKey.Public())),
|
||||||
|
BannerCallback: func(message string) error { bannerReceived = message; return nil },
|
||||||
}
|
}
|
||||||
|
|
||||||
// pomerium + upstream setup
|
// pomerium + upstream setup
|
||||||
|
@ -56,6 +58,9 @@ func TestSSH(t *testing.T) {
|
||||||
up := upstreams.SSH(
|
up := upstreams.SSH(
|
||||||
upstreams.WithHostKeys(newSignerFromKey(t, serverHostKey)),
|
upstreams.WithHostKeys(newSignerFromKey(t, serverHostKey)),
|
||||||
upstreams.WithPublicKeyCallback(certChecker.Authenticate),
|
upstreams.WithPublicKeyCallback(certChecker.Authenticate),
|
||||||
|
upstreams.WithBannerCallback(func(_ ssh.ConnMetadata) string {
|
||||||
|
return "UPSTREAM BANNER"
|
||||||
|
}),
|
||||||
)
|
)
|
||||||
up.SetServerConnCallback(echoShell{t}.handleConnection)
|
up.SetServerConnCallback(echoShell{t}.handleConnection)
|
||||||
r := up.Route().
|
r := up.Route().
|
||||||
|
@ -70,6 +75,8 @@ func TestSSH(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
defer client.Close()
|
defer client.Close()
|
||||||
|
|
||||||
|
assert.Equal(t, "UPSTREAM BANNER", bannerReceived)
|
||||||
|
|
||||||
sess, err := client.NewSession()
|
sess, err := client.NewSession()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
defer sess.Close()
|
defer sess.Close()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue