Skip to content

Commit b2c24a7

Browse files
committed
Fix test
1 parent 79a6bab commit b2c24a7

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

models/repo/transfer.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,11 +206,25 @@ func CreatePendingRepositoryTransfer(ctx context.Context, doer, newOwner *user_m
206206
return err
207207
}
208208

209+
if _, err := user_model.GetUserByID(ctx, newOwner.ID); err != nil {
210+
return err
211+
}
212+
209213
// Make sure repo is ready to transfer
210214
if err := TestRepositoryReadyForTransfer(repo.Status); err != nil {
211215
return err
212216
}
213217

218+
_, err = GetPendingRepositoryTransfer(ctx, repo)
219+
if err == nil {
220+
return ErrRepoTransferInProgress{
221+
Uname: repo.Owner.LowerName,
222+
Name: repo.Name,
223+
}
224+
} else if !IsErrNoPendingTransfer(err) {
225+
return err
226+
}
227+
214228
repo.Status = RepositoryPendingTransfer
215229
if err := UpdateRepositoryCols(ctx, repo, "status"); err != nil {
216230
return err

services/repository/transfer_test.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ func TestTransferOwnership(t *testing.T) {
6464
func TestStartRepositoryTransferSetPermission(t *testing.T) {
6565
assert.NoError(t, unittest.PrepareTestDatabase())
6666

67-
doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 3})
67+
doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
6868
recipient := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 5})
69-
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 3})
70-
repo.Owner = unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID})
69+
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
70+
assert.NoError(t, repo.LoadOwner(db.DefaultContext))
7171

7272
hasAccess, err := access_model.HasAnyUnitAccess(db.DefaultContext, recipient.ID, repo)
7373
assert.NoError(t, err)
@@ -85,7 +85,7 @@ func TestStartRepositoryTransferSetPermission(t *testing.T) {
8585
func TestRepositoryTransfer(t *testing.T) {
8686
assert.NoError(t, unittest.PrepareTestDatabase())
8787

88-
doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 3})
88+
doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
8989
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 3})
9090

9191
transfer, err := repo_model.GetPendingRepositoryTransfer(db.DefaultContext, repo)
@@ -116,10 +116,12 @@ func TestRepositoryTransfer(t *testing.T) {
116116
assert.Error(t, err)
117117
assert.True(t, repo_model.IsErrRepoTransferInProgress(err))
118118

119-
// Unknown user
120-
err = repo_model.CreatePendingRepositoryTransfer(db.DefaultContext, doer, &user_model.User{ID: 1000, LowerName: "user1000"}, repo.ID, nil)
119+
repo2 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
120+
// Unknown user, transfer non-existent transfer repo id = 2
121+
err = repo_model.CreatePendingRepositoryTransfer(db.DefaultContext, doer, &user_model.User{ID: 1000, LowerName: "user1000"}, repo2.ID, nil)
121122
assert.Error(t, err)
122123

123124
// Cancel transfer
124-
assert.NoError(t, RejectRepositoryTransfer(db.DefaultContext, repo, doer))
125+
err = RejectRepositoryTransfer(db.DefaultContext, repo2, doer)
126+
assert.True(t, repo_model.IsErrNoPendingTransfer(err))
125127
}

0 commit comments

Comments
 (0)