diff test/unit/repository_subversion_test.rb @ 1526:404aa68d4227

Merge from live branch
author Chris Cannam
date Thu, 11 Sep 2014 12:46:20 +0100
parents dffacf8a6908
children
line wrap: on
line diff
--- a/test/unit/repository_subversion_test.rb	Mon Mar 17 08:57:04 2014 +0000
+++ b/test/unit/repository_subversion_test.rb	Thu Sep 11 12:46:20 2014 +0100
@@ -1,5 +1,5 @@
 # Redmine - project management software
-# Copyright (C) 2006-2012  Jean-Philippe Lang
+# Copyright (C) 2006-2014  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
@@ -20,15 +20,43 @@
 class RepositorySubversionTest < ActiveSupport::TestCase
   fixtures :projects, :repositories, :enabled_modules, :users, :roles
 
+  include Redmine::I18n
+
   NUM_REV = 11
 
   def setup
     @project = Project.find(3)
     @repository = Repository::Subversion.create(:project => @project,
-             :url => self.class.subversion_repository_url)
+                    :url => self.class.subversion_repository_url)
     assert @repository
   end
 
+  def test_invalid_url
+    set_language_if_valid 'en'
+    ['invalid', 'http://', 'svn://', 'svn+ssh://', 'file://'].each do |url|
+      repo = Repository::Subversion.new(
+                            :project      => @project,
+                            :identifier   => 'test',
+                            :url => url
+                          )
+      assert !repo.save
+      assert_equal ["is invalid"], repo.errors[:url]
+    end
+  end
+
+  def test_valid_url
+    ['http://valid', 'svn://valid', 'svn+ssh://valid', 'file://valid'].each do |url|
+      repo = Repository::Subversion.new(
+                            :project      => @project,
+                            :identifier   => 'test',
+                            :url => url
+                          )
+      assert repo.save
+      assert_equal [], repo.errors[:url]
+      assert repo.destroy
+    end
+  end
+
   if repository_configured?('subversion')
     def test_fetch_changesets_from_scratch
       assert_equal 0, @repository.changesets.count
@@ -47,8 +75,9 @@
       assert_equal NUM_REV, @repository.changesets.count
 
       # Remove changesets with revision > 5
-      @repository.changesets.find(:all).each {|c| c.destroy if c.revision.to_i > 5}
+      @repository.changesets.each {|c| c.destroy if c.revision.to_i > 5}
       @project.reload
+      @repository.reload
       assert_equal 5, @repository.changesets.count
 
       @repository.fetch_changesets