Skip to content

Commit 0110664

Browse files
committed
transportAuth(): Add checks for invalid transports
Signed-off-by: Sunny <[email protected]>
1 parent f9a3404 commit 0110664

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

pkg/git/gogit/transport.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ limitations under the License.
1717
package gogit
1818

1919
import (
20+
"fmt"
21+
2022
"github.com/go-git/go-git/v5/plumbing/transport"
2123
"github.com/go-git/go-git/v5/plumbing/transport/http"
2224
"github.com/go-git/go-git/v5/plumbing/transport/ssh"
@@ -53,6 +55,10 @@ func transportAuth(opts *git.AuthOptions) (transport.AuthMethod, error) {
5355
}
5456
return pk, nil
5557
}
58+
case "":
59+
return nil, fmt.Errorf("no transport type set")
60+
default:
61+
return nil, fmt.Errorf("unknown transport '%s'", opts.Transport)
5662
}
5763
return nil, nil
5864
}

pkg/git/gogit/transport_test.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,16 @@ func Test_transportAuth(t *testing.T) {
168168
wantErr: errors.New("knownhosts: knownhosts: missing host pattern"),
169169
},
170170
{
171-
name: "Empty",
172-
opts: &git.AuthOptions{},
173-
wantFunc: func(g *WithT, t transport.AuthMethod, opts *git.AuthOptions) {
174-
g.Expect(t).To(BeNil())
171+
name: "Empty",
172+
opts: &git.AuthOptions{},
173+
wantErr: errors.New("no transport type set"),
174+
},
175+
{
176+
name: "Unknown transport",
177+
opts: &git.AuthOptions{
178+
Transport: "foo",
175179
},
176-
wantErr: nil,
180+
wantErr: errors.New("unknown transport 'foo'"),
177181
},
178182
}
179183
for _, tt := range tests {

0 commit comments

Comments
 (0)