Unit tests for repo redirects (#961)
This commit is contained in:
		
							parent
							
								
									4c12e2a4b9
								
							
						
					
					
						commit
						140967f002
					
				
					 2 changed files with 79 additions and 0 deletions
				
			
		
							
								
								
									
										5
									
								
								models/fixtures/repo_redirect.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								models/fixtures/repo_redirect.yml
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | |||
| - | ||||
|   id: 1 | ||||
|   owner_id: 2 | ||||
|   lower_name: oldrepo1 | ||||
|   redirect_repo_id: 1 | ||||
							
								
								
									
										74
									
								
								models/repo_redirect_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								models/repo_redirect_test.go
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,74 @@ | |||
| // Copyright 2017 The Gitea Authors. All rights reserved.
 | ||||
| // Use of this source code is governed by a MIT-style
 | ||||
| // license that can be found in the LICENSE file.
 | ||||
| 
 | ||||
| package models | ||||
| 
 | ||||
| import ( | ||||
| 	"testing" | ||||
| 
 | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| ) | ||||
| 
 | ||||
| func TestLookupRepoRedirect(t *testing.T) { | ||||
| 	assert.NoError(t, PrepareTestDatabase()) | ||||
| 
 | ||||
| 	repoID, err := LookupRepoRedirect(2, "oldrepo1") | ||||
| 	assert.NoError(t, err) | ||||
| 	assert.EqualValues(t, 1, repoID) | ||||
| 
 | ||||
| 	_, err = LookupRepoRedirect(NonexistentID, "doesnotexist") | ||||
| 	assert.True(t, IsErrRepoRedirectNotExist(err)) | ||||
| } | ||||
| 
 | ||||
| func TestNewRepoRedirect(t *testing.T) { | ||||
| 	// redirect to a completely new name
 | ||||
| 	assert.NoError(t, PrepareTestDatabase()) | ||||
| 
 | ||||
| 	repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||
| 	assert.NoError(t, NewRepoRedirect(repo.OwnerID, repo.ID, repo.Name, "newreponame")) | ||||
| 
 | ||||
| 	AssertExistsAndLoadBean(t, &RepoRedirect{ | ||||
| 		OwnerID:        repo.OwnerID, | ||||
| 		LowerName:      repo.LowerName, | ||||
| 		RedirectRepoID: repo.ID, | ||||
| 	}) | ||||
| 	AssertExistsAndLoadBean(t, &RepoRedirect{ | ||||
| 		OwnerID:        repo.OwnerID, | ||||
| 		LowerName:      "oldrepo1", | ||||
| 		RedirectRepoID: repo.ID, | ||||
| 	}) | ||||
| } | ||||
| 
 | ||||
| func TestNewRepoRedirect2(t *testing.T) { | ||||
| 	// redirect to previously used name
 | ||||
| 	assert.NoError(t, PrepareTestDatabase()) | ||||
| 
 | ||||
| 	repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository) | ||||
| 	assert.NoError(t, NewRepoRedirect(repo.OwnerID, repo.ID, repo.Name, "oldrepo1")) | ||||
| 
 | ||||
| 	AssertExistsAndLoadBean(t, &RepoRedirect{ | ||||
| 		OwnerID:        repo.OwnerID, | ||||
| 		LowerName:      repo.LowerName, | ||||
| 		RedirectRepoID: repo.ID, | ||||
| 	}) | ||||
| 	AssertNotExistsBean(t, &RepoRedirect{ | ||||
| 		OwnerID:        repo.OwnerID, | ||||
| 		LowerName:      "oldrepo1", | ||||
| 		RedirectRepoID: repo.ID, | ||||
| 	}) | ||||
| } | ||||
| 
 | ||||
| func TestNewRepoRedirect3(t *testing.T) { | ||||
| 	// redirect for a previously-unredirected repo
 | ||||
| 	assert.NoError(t, PrepareTestDatabase()) | ||||
| 
 | ||||
| 	repo := AssertExistsAndLoadBean(t, &Repository{ID: 2}).(*Repository) | ||||
| 	assert.NoError(t, NewRepoRedirect(repo.OwnerID, repo.ID, repo.Name, "newreponame")) | ||||
| 
 | ||||
| 	AssertExistsAndLoadBean(t, &RepoRedirect{ | ||||
| 		OwnerID:        repo.OwnerID, | ||||
| 		LowerName:      repo.LowerName, | ||||
| 		RedirectRepoID: repo.ID, | ||||
| 	}) | ||||
| } | ||||
		Loading…
	
		Reference in a new issue