(t *testing.T)
| 6 | import "testing" |
| 7 | |
| 8 | func TestApplySSHOverrides(t *testing.T) { |
| 9 | tests := []struct { |
| 10 | name string |
| 11 | sshArg string |
| 12 | login string |
| 13 | port string |
| 14 | want string |
| 15 | wantErr bool |
| 16 | }{ |
| 17 | { |
| 18 | name: "no overrides preserves target", |
| 19 | sshArg: "root@bar.com:2022", |
| 20 | want: "root@bar.com:2022", |
| 21 | }, |
| 22 | { |
| 23 | name: "login override replaces parsed user", |
| 24 | sshArg: "root@bar.com", |
| 25 | login: "foo", |
| 26 | want: "foo@bar.com", |
| 27 | }, |
| 28 | { |
| 29 | name: "port override replaces parsed port", |
| 30 | sshArg: "root@bar.com:2022", |
| 31 | port: "2222", |
| 32 | want: "root@bar.com:2222", |
| 33 | }, |
| 34 | { |
| 35 | name: "both overrides replace parsed user and port", |
| 36 | sshArg: "root@bar.com:2022", |
| 37 | login: "foo", |
| 38 | port: "2200", |
| 39 | want: "foo@bar.com:2200", |
| 40 | }, |
| 41 | { |
| 42 | name: "login override adds user to bare host", |
| 43 | sshArg: "bar.com", |
| 44 | login: "foo", |
| 45 | want: "foo@bar.com", |
| 46 | }, |
| 47 | { |
| 48 | name: "port override adds port to bare host", |
| 49 | sshArg: "bar.com", |
| 50 | port: "2200", |
| 51 | want: "bar.com:2200", |
| 52 | }, |
| 53 | { |
| 54 | name: "invalid target returns parse error when override requested", |
| 55 | sshArg: "bad host", |
| 56 | login: "foo", |
| 57 | wantErr: true, |
| 58 | }, |
| 59 | } |
| 60 | |
| 61 | for _, tt := range tests { |
| 62 | t.Run(tt.name, func(t *testing.T) { |
| 63 | got, err := applySSHOverrides(tt.sshArg, tt.login, tt.port) |
| 64 | if (err != nil) != tt.wantErr { |
| 65 | t.Fatalf("applySSHOverrides() error = %v, wantErr %v", err, tt.wantErr) |
nothing calls this directly
no test coverage detected