Skip to content

Commit d6b8b4c

Browse files
authored
Merge pull request #4 from teaglebuilt/release/1.0.0
fix pull test
2 parents 01e26cf + a61a325 commit d6b8b4c

File tree

3 files changed

+36
-38
lines changed

3 files changed

+36
-38
lines changed

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
uses: cli/gh-extension-precompile@v2
4747
with:
4848
go-version: stable
49-
binary-name: 'gh-subrepo'
49+
binary-name: gh-subrepo
5050

5151
- name: Upload binaries to GitHub Release
5252
uses: softprops/action-gh-release@v2

cmd/pull/pull_test.go

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,37 @@ import (
55
"path/filepath"
66
"testing"
77

8-
"gopkg.in/ini.v1"
8+
"github.com/stretchr/testify/assert"
9+
utils "github.com/teaglebuilt/gh-subrepo/internal"
910
)
1011

11-
func TestLoadGitRepoFile(t *testing.T) {
12+
func TestPullCmd_NoGitRepo(t *testing.T) {
1213
tmpDir, err := os.MkdirTemp("", "test-pull-*")
13-
if err != nil {
14-
t.Fatal(err)
15-
}
16-
17-
subrepoDir := filepath.Join(tmpDir, "subrepo")
18-
os.Mkdir(subrepoDir, 0o755)
19-
20-
gitrepoContent := `[subrepo]
21-
remote = https://github.com/example/repo.git
22-
branch = main
23-
`
24-
gitrepoPath := filepath.Join(subrepoDir, ".gitrepo")
25-
if err := os.WriteFile(gitrepoPath, []byte(gitrepoContent), 0o644); err != nil {
26-
t.Fatalf("Failed to write .gitrepo: %v", err)
27-
}
28-
29-
cfg, err := ini.Load(gitrepoPath)
30-
if err != nil {
31-
t.Fatalf("Failed to load .gitrepo: %v", err)
32-
}
33-
34-
remote := cfg.Section("subrepo").Key("remote").String()
35-
if remote != "https://github.com/example/repo.git" {
36-
t.Fatalf("Expected remote URL to match, got %s", remote)
37-
}
38-
39-
branch := cfg.Section("subrepo").Key("branch").String()
40-
if branch != "main" {
41-
t.Fatalf("Expected branch to be 'main', got %s", branch)
42-
}
14+
assert.NoError(t, err)
15+
defer os.RemoveAll(tmpDir)
16+
17+
cwd, err := os.Getwd()
18+
assert.NoError(t, err)
19+
defer os.Chdir(cwd)
20+
21+
assert.NoError(t, os.Chdir(tmpDir))
22+
23+
_, err = utils.GitRepoRoot()
24+
assert.Error(t, err, "Expected error when not in a git repo")
25+
}
26+
27+
func TestPullCmd_MissingGitrepoFile(t *testing.T) {
28+
repoRoot, err := os.MkdirTemp("", "test-pull-gitrepo-*")
29+
assert.NoError(t, err)
30+
defer os.RemoveAll(repoRoot)
31+
32+
subdir := "vendor/lib"
33+
assert.NoError(t, os.MkdirAll(filepath.Join(repoRoot, subdir), 0o755))
34+
35+
err = utils.ExecCmd(repoRoot, "git", "init", "-b", "main")
36+
assert.NoError(t, err)
37+
38+
gitrepoPath := filepath.Join(repoRoot, subdir, ".gitrepo")
39+
_, err = os.Stat(gitrepoPath)
40+
assert.True(t, os.IsNotExist(err), "Expected .gitrepo file not to exist")
4341
}

cmd/push/push_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ func TestPushGitRepoFile(t *testing.T) {
1616
defer os.RemoveAll(tmpDir)
1717

1818
subrepoDir := filepath.Join(tmpDir, "subrepo")
19-
os.Mkdir(subrepoDir, 0755)
19+
os.Mkdir(subrepoDir, 0o755)
2020

2121
gitrepoContent := `[subrepo]
22-
remote = https://github.com/example/pushrepo.git
23-
branch = develop
24-
`
22+
remote = https://github.com/example/pushrepo.git
23+
branch = develop
24+
`
2525
gitrepoPath := filepath.Join(subrepoDir, ".gitrepo")
26-
if err := os.WriteFile(gitrepoPath, []byte(gitrepoContent), 0644); err != nil {
26+
if err := os.WriteFile(gitrepoPath, []byte(gitrepoContent), 0o644); err != nil {
2727
t.Fatalf("Failed to write .gitrepo: %v", err)
2828
}
2929

0 commit comments

Comments
 (0)