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…
	
	Add table
		Add a link
		
	
		Reference in a new issue