##// END OF EJS Templates
Added basic support for CVS and Mercurial SCMs....
Added basic support for CVS and Mercurial SCMs. Browsing, changesets fetching and diff viewing are implemented. Only tested with local repositories. Thanks to Ralph Vater for CVS specific code. git-svn-id: http://redmine.rubyforge.org/svn/trunk@559 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r556:438161ad1fd3
r556:438161ad1fd3
Show More
repository_test.rb
56 lines | 1.9 KiB | text/x-ruby | RubyLexer
/ test / unit / repository_test.rb
Jean-Philippe Lang
Commit messages are now scanned for referenced or fixed issue IDs....
r470 # redMine - project management software
# Copyright (C) 2006-2007 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require File.dirname(__FILE__) + '/../test_helper'
class RepositoryTest < Test::Unit::TestCase
Jean-Philippe Lang
Fixed: performance issue on RepositoriesController#revisions when a changeset has a great number of changes (eg. 100,000)....
r532 fixtures :projects, :repositories, :issues, :issue_statuses, :changesets, :changes
def setup
@repository = Project.find(1).repository
end
Jean-Philippe Lang
Commit messages are now scanned for referenced or fixed issue IDs....
r470
def test_create
Jean-Philippe Lang
Added basic support for CVS and Mercurial SCMs....
r556 repository = Repository::Subversion.new(:project => Project.find(2))
Jean-Philippe Lang
Commit messages are now scanned for referenced or fixed issue IDs....
r470 assert !repository.save
repository.url = "svn://localhost"
assert repository.save
repository.reload
project = Project.find(2)
assert_equal repository, project.repository
end
def test_scan_changesets_for_issue_ids
# choosing a status to apply to fix issues
Setting.commit_fix_status_id = IssueStatus.find(:first, :conditions => ["is_closed = ?", true]).id
# make sure issue 1 is not already closed
assert !Issue.find(1).status.is_closed?
Repository.scan_changesets_for_issue_ids
assert_equal [101, 102], Issue.find(3).changeset_ids
# fixed issues
assert Issue.find(1).status.is_closed?
assert_equal [101], Issue.find(1).changeset_ids
# ignoring commits referencing an issue of another project
assert_equal [], Issue.find(4).changesets
end
end