| 149 | } |
| 150 | |
| 151 | func TestClientRemotes_no_resolved_remote(t *testing.T) { |
| 152 | tempDir := t.TempDir() |
| 153 | initRepo(t, tempDir) |
| 154 | gitDir := filepath.Join(tempDir, ".git") |
| 155 | remoteFile := filepath.Join(gitDir, "config") |
| 156 | remotes := ` |
| 157 | [remote "origin"] |
| 158 | url = git@example.com:monalisa/origin.git |
| 159 | [remote "test"] |
| 160 | url = git://github.com/hubot/test.git |
| 161 | [remote "upstream"] |
| 162 | url = https://github.com/monalisa/upstream.git |
| 163 | [remote "github"] |
| 164 | url = git@github.com:hubot/github.git |
| 165 | ` |
| 166 | f, err := os.OpenFile(remoteFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0755) |
| 167 | assert.NoError(t, err) |
| 168 | _, err = f.Write([]byte(remotes)) |
| 169 | assert.NoError(t, err) |
| 170 | err = f.Close() |
| 171 | assert.NoError(t, err) |
| 172 | client := Client{ |
| 173 | RepoDir: tempDir, |
| 174 | } |
| 175 | rs, err := client.Remotes(context.Background()) |
| 176 | assert.NoError(t, err) |
| 177 | assert.Equal(t, 4, len(rs)) |
| 178 | assert.Equal(t, "upstream", rs[0].Name) |
| 179 | assert.Equal(t, "github", rs[1].Name) |
| 180 | assert.Equal(t, "origin", rs[2].Name) |
| 181 | assert.Equal(t, "", rs[2].Resolved) |
| 182 | assert.Equal(t, "test", rs[3].Name) |
| 183 | } |
| 184 | |
| 185 | func TestParseRemotes(t *testing.T) { |
| 186 | remoteList := []string{ |