client_test.go 772 B

12345678910111213141516171819202122232425262728293031323334
  1. package ssh
  2. import (
  3. "net"
  4. "testing"
  5. )
  6. func testClientVersion(t *testing.T, config *ClientConfig, expected string) {
  7. clientConn, serverConn := net.Pipe()
  8. receivedVersion := make(chan string, 1)
  9. go func() {
  10. version, err := readVersion(serverConn)
  11. if err != nil {
  12. receivedVersion <- ""
  13. } else {
  14. receivedVersion <- string(version)
  15. }
  16. serverConn.Close()
  17. }()
  18. Client(clientConn, config)
  19. actual := <-receivedVersion
  20. if actual != expected {
  21. t.Fatalf("got %s; want %s", actual, expected)
  22. }
  23. }
  24. func TestCustomClientVersion(t *testing.T) {
  25. version := "Test-Client-Version-0.0"
  26. testClientVersion(t, &ClientConfig{ClientVersion: version}, version)
  27. }
  28. func TestDefaultClientVersion(t *testing.T) {
  29. testClientVersion(t, &ClientConfig{}, packageVersion)
  30. }