@@ -80,13 +80,6 @@ func TestCheckRepositoryConnection(t *testing.T) {
8080 assert .True (t , err != nil )
8181 assert .Contains (t , err .Error (), "repository URL is empty" )
8282
83- // empty branch name
84- repoSpec .Spec .Git .Repo = "https://example.com/repo.git"
85- repoSpec .Spec .Git .Branch = ""
86- err = gf .CheckRepositoryConnection (context .TODO (), repoSpec , externalrepotypes.ExternalRepoOptions {})
87- assert .True (t , err != nil )
88- assert .Contains (t , err .Error (), "target branch is empty" )
89-
9083 tempDir := t .TempDir ()
9184 tarfile := filepath .Join ("testdata" , "trivial-repository.tar" )
9285 branch := "main"
@@ -105,6 +98,31 @@ func TestCheckRepositoryConnection(t *testing.T) {
10598 err = gf .CheckRepositoryConnection (context .TODO (), repoSpec , externalrepotypes.ExternalRepoOptions {})
10699 assert .NoError (t , err )
107100
101+ // empty branch defaults to main
102+ repoSpec = & configapi.Repository {
103+ Spec : configapi.RepositorySpec {
104+ Git : & configapi.GitRepository {
105+ Repo : address ,
106+ Branch : "" , // empty branch should default to main
107+ },
108+ },
109+ }
110+ err = gf .CheckRepositoryConnection (context .TODO (), repoSpec , externalrepotypes.ExternalRepoOptions {})
111+ assert .NoError (t , err )
112+
113+ // branch not found but createBranch is set to true
114+ repoSpec = & configapi.Repository {
115+ Spec : configapi.RepositorySpec {
116+ Git : & configapi.GitRepository {
117+ Repo : address ,
118+ Branch : "nonexistent-branch" ,
119+ CreateBranch : true ,
120+ },
121+ },
122+ }
123+ err = gf .CheckRepositoryConnection (context .TODO (), repoSpec , externalrepotypes.ExternalRepoOptions {})
124+ assert .NoError (t , err )
125+
108126 // branch not found
109127 repoSpec = & configapi.Repository {
110128 Spec : configapi.RepositorySpec {
0 commit comments