Add error for fork already existing (#7185)
This commit is contained in:
		
							parent
							
								
									f9ec2f89f2
								
							
						
					
					
						commit
						744fd6a1c8
					
				
					 3 changed files with 22 additions and 4 deletions
				
			
		|  | @ -674,6 +674,23 @@ func (err ErrRepoAlreadyExist) Error() string { | |||
| 	return fmt.Sprintf("repository already exists [uname: %s, name: %s]", err.Uname, err.Name) | ||||
| } | ||||
| 
 | ||||
| // ErrForkAlreadyExist represents a "ForkAlreadyExist" kind of error.
 | ||||
| type ErrForkAlreadyExist struct { | ||||
| 	Uname    string | ||||
| 	RepoName string | ||||
| 	ForkName string | ||||
| } | ||||
| 
 | ||||
| // IsErrForkAlreadyExist checks if an error is an ErrForkAlreadyExist.
 | ||||
| func IsErrForkAlreadyExist(err error) bool { | ||||
| 	_, ok := err.(ErrForkAlreadyExist) | ||||
| 	return ok | ||||
| } | ||||
| 
 | ||||
| func (err ErrForkAlreadyExist) Error() string { | ||||
| 	return fmt.Sprintf("repository is already forked by user [uname: %s, repo path: %s, fork path: %s]", err.Uname, err.RepoName, err.ForkName) | ||||
| } | ||||
| 
 | ||||
| // ErrRepoRedirectNotExist represents a "RepoRedirectNotExist" kind of error.
 | ||||
| type ErrRepoRedirectNotExist struct { | ||||
| 	OwnerID  int64 | ||||
|  |  | |||
|  | @ -2395,9 +2395,10 @@ func ForkRepository(doer, u *User, oldRepo *Repository, name, desc string) (_ *R | |||
| 		return nil, err | ||||
| 	} | ||||
| 	if forkedRepo != nil { | ||||
| 		return nil, ErrRepoAlreadyExist{ | ||||
| 			Uname: u.Name, | ||||
| 			Name:  forkedRepo.Name, | ||||
| 		return nil, ErrForkAlreadyExist{ | ||||
| 			Uname:    u.Name, | ||||
| 			RepoName: oldRepo.FullName(), | ||||
| 			ForkName: forkedRepo.FullName(), | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -131,7 +131,7 @@ func TestForkRepository(t *testing.T) { | |||
| 	fork, err := ForkRepository(user, user, repo, "test", "test") | ||||
| 	assert.Nil(t, fork) | ||||
| 	assert.Error(t, err) | ||||
| 	assert.True(t, IsErrRepoAlreadyExist(err)) | ||||
| 	assert.True(t, IsErrForkAlreadyExist(err)) | ||||
| } | ||||
| 
 | ||||
| func TestRepoAPIURL(t *testing.T) { | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue