diff options
Diffstat (limited to 'cache/repo_cache_test.go')
-rw-r--r-- | cache/repo_cache_test.go | 53 |
1 files changed, 48 insertions, 5 deletions
diff --git a/cache/repo_cache_test.go b/cache/repo_cache_test.go index e5f8a037..e5603fca 100644 --- a/cache/repo_cache_test.go +++ b/cache/repo_cache_test.go @@ -1,8 +1,11 @@ package cache import ( + "fmt" "testing" + "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/MichaelMure/git-bug/query" @@ -101,11 +104,6 @@ func TestCache(t *testing.T) { require.NoError(t, err) _, err = cache.ResolveBugPrefix(bug1.Id().String()[:10]) require.NoError(t, err) - - // Possible to delete a bug - err = cache.RemoveBug(bug1.Id().Human(), "") - require.NoError(t, err) - require.Equal(t, len(cache.AllBugsIds()), 1) } func TestPushPull(t *testing.T) { @@ -162,3 +160,48 @@ func TestPushPull(t *testing.T) { require.Len(t, cacheA.AllBugsIds(), 2) } + +func TestRemove(t *testing.T) { + repo := repository.CreateTestRepo(false) + remoteA := repository.CreateTestRepo(true) + remoteB := repository.CreateTestRepo(true) + defer repository.CleanupTestRepos(repo, remoteA, remoteB) + + err := repo.AddRemote("remoteA", "file://"+remoteA.GetPath()) + require.NoError(t, err) + + err = repo.AddRemote("remoteB", "file://"+remoteB.GetPath()) + require.NoError(t, err) + + repoCache, err := NewRepoCache(repo) + require.NoError(t, err) + + // generate a bunch of bugs + rene, err := repoCache.NewIdentity("René Descartes", "rene@descartes.fr") + require.NoError(t, err) + + for i := 0; i < 100; i++ { + _, _, err := repoCache.NewBugRaw(rene, time.Now().Unix(), "title", fmt.Sprintf("message%v", i), nil, nil) + require.NoError(t, err) + } + + // and one more for testing + b1, _, err := repoCache.NewBugRaw(rene, time.Now().Unix(), "title", "message", nil, nil) + require.NoError(t, err) + + _, err = repoCache.Push("remoteA") + require.NoError(t, err) + + _, err = repoCache.Push("remoteB") + require.NoError(t, err) + + _, err = repoCache.Fetch("remoteA") + require.NoError(t, err) + + _, err = repoCache.Fetch("remoteB") + require.NoError(t, err) + + err = repoCache.RemoveBug(b1.Id().String()) + require.NoError(t, err) + assert.Equal(t, 100, len(repoCache.bugs)) +} |