Skip to content

Commit 98c0d35

Browse files
authored
Merge pull request #160 from erizocosmico/fix/bitbucket-provider-checkpoint
fix how the last checkpoint of bitbucket provider is obtained
2 parents a67b7ad + b425981 commit 98c0d35

3 files changed

Lines changed: 28 additions & 5 deletions

File tree

providers/bitbucket/provider.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func (p *provider) needsMoreData() bool {
4848
func (p *provider) initializeCheckpoint() error {
4949
result, err := p.repositoryStore.FindOne(
5050
model.NewRepositoryQuery().
51-
Order(kallax.Asc(model.Schema.Repository.CreatedAt)),
51+
Order(kallax.Desc(model.Schema.Repository.CreatedAt)),
5252
)
5353

5454
switch err {

providers/bitbucket/provider_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"errors"
66
"io"
77
"testing"
8+
"time"
89

910
"github.com/src-d/rovers/core"
1011
"github.com/src-d/rovers/providers/bitbucket/model"
@@ -108,3 +109,26 @@ func (s *ProviderSuite) TestProvider_NextAckNext(c *C) {
108109
c.Assert(err, IsNil)
109110
c.Assert(r, Not(DeepEquals), r2)
110111
}
112+
113+
func (s *ProviderSuite) TestInitializeCheckpoint(c *C) {
114+
p := NewProvider(s.DB).(*provider)
115+
c.Assert(p.initializeCheckpoint(), IsNil)
116+
c.Assert("", Equals, p.lastCheckpoint)
117+
118+
now := time.Now()
119+
c.Assert(p.repositoryStore.Insert(mkRepo(now.Add(-1*time.Hour), "1")), IsNil)
120+
c.Assert(p.repositoryStore.Insert(mkRepo(now.Add(-1*time.Minute), "2")), IsNil)
121+
122+
c.Assert(p.initializeCheckpoint(), IsNil)
123+
c.Assert("2", Equals, p.lastCheckpoint)
124+
}
125+
126+
func mkRepo(createdAt time.Time, next string) *model.Repository {
127+
r := &model.Repository{
128+
ID: kallax.NewULID(),
129+
Next: next,
130+
}
131+
132+
r.CreatedAt = createdAt
133+
return r
134+
}

providers/bitbucket/replayer.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@ import (
1010
)
1111

1212
type replayer struct {
13-
store *model.RepositoryStore
14-
rs *model.RepositoryResultSet
15-
isInitialized bool
13+
store *model.RepositoryStore
14+
rs *model.RepositoryResultSet
1615
}
1716

1817
func NewReplayer(db *sql.DB) core.RepoProvider {
@@ -52,5 +51,5 @@ func (r *replayer) Close() error {
5251
}
5352

5453
func (r *replayer) Name() string {
55-
return core.GithubProviderName
54+
return core.BitbucketProviderName
5655
}

0 commit comments

Comments
 (0)