aboutsummaryrefslogtreecommitdiffstats
path: root/switchtower/test/scm/cvs_test.rb
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2005-08-30 20:53:32 +0000
committerJamis Buck <jamis@37signals.com>2005-08-30 20:53:32 +0000
commit6b1864a048ffb9343d4658ec11c32494d7f038db (patch)
tree6c1ad3f9131d644afab6cc6188001cfb73775e33 /switchtower/test/scm/cvs_test.rb
parentbb7f60ca1cd191fd775fef261b4d2bc7af223604 (diff)
downloadrails-6b1864a048ffb9343d4658ec11c32494d7f038db.tar.gz
rails-6b1864a048ffb9343d4658ec11c32494d7f038db.tar.bz2
rails-6b1864a048ffb9343d4658ec11c32494d7f038db.zip
Move switchtower to the tools directory, to decouple it from rails
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2074 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'switchtower/test/scm/cvs_test.rb')
-rw-r--r--switchtower/test/scm/cvs_test.rb164
1 files changed, 0 insertions, 164 deletions
diff --git a/switchtower/test/scm/cvs_test.rb b/switchtower/test/scm/cvs_test.rb
deleted file mode 100644
index 4532870826..0000000000
--- a/switchtower/test/scm/cvs_test.rb
+++ /dev/null
@@ -1,164 +0,0 @@
-$:.unshift File.dirname(__FILE__) + "/../../lib"
-
-require File.dirname(__FILE__) + "/../utils"
-require 'test/unit'
-require 'switchtower/scm/cvs'
-
-class ScmCvsTest < Test::Unit::TestCase
- class CvsTest < SwitchTower::SCM::Cvs
- attr_accessor :story
- attr_reader :last_path
-
- def cvs_log(path)
- @last_path = path
- story.shift
- end
- end
-
- class MockChannel
- attr_reader :sent_data
-
- def send_data(data)
- @sent_data ||= []
- @sent_data << data
- end
-
- def [](name)
- "value"
- end
- end
-
- class MockActor
- attr_reader :command
- attr_reader :channels
- attr_accessor :story
-
- def initialize(config)
- @config = config
- end
-
- def run(command)
- @command = command
- @channels ||= []
- @channels << MockChannel.new
- story.each { |stream, line| yield @channels.last, stream, line }
- end
-
- def release_path
- (@config[:now] || Time.now.utc).strftime("%Y%m%d%H%M%S")
- end
-
- def method_missing(sym, *args)
- @config.send(sym, *args)
- end
- end
-
- def setup
- @config = MockConfiguration.new
- @config[:repository] = ":ext:joetester@rubyforge.org:/hello/world"
- @config[:local] = "/hello/world"
- @config[:cvs] = "/path/to/cvs"
- @config[:password] = "chocolatebrownies"
- @config[:now] = Time.utc(2005,8,24,12,0,0)
- @scm = CvsTest.new(@config)
- @actor = MockActor.new(@config)
- @log_msg = <<MSG.strip
-RCS file: /var/cvs/copland/copland/LICENSE,v
-Working file: LICENSE
-head: 1.1
-branch:
-locks: strict
-access list:
-keyword substitution: kv
-total revisions: 1; selected revisions: 1
-description:
-----------------------------
-revision 1.1
-date: 2004/08/29 04:23:36; author: minam; state: Exp;
-New implementation.
-=============================================================================
-
-RCS file: /var/cvs/copland/copland/Rakefile,v
-Working file: Rakefile
-head: 1.7
-branch:
-locks: strict
-access list:
-keyword substitution: kv
-total revisions: 7; selected revisions: 1
-description:
-----------------------------
-revision 1.7
-date: 2004/09/15 16:35:01; author: minam; state: Exp; lines: +2 -1
-Rakefile now publishes package documentation from doc/packages instead of
-doc/packrat. Updated "latest updates" in manual.
-=============================================================================
-
-RCS file: /var/cvs/copland/copland/TODO,v
-Working file: TODO
-head: 1.18
-branch:
-locks: strict
-access list:
-keyword substitution: kv
-total revisions: 18; selected revisions: 1
-description:
-----------------------------
-revision 1.18
-date: 2004/10/12 02:21:02; author: minam; state: Exp; lines: +4 -1
-Added RubyConf 2004 presentation.
-=============================================================================
-
-RCS file: /var/cvs/copland/copland/Attic/build-gemspec.rb,v
-Working file: build-gemspec.rb
-head: 1.5
-branch:
-locks: strict
-access list:
-keyword substitution: kv
-total revisions: 5; selected revisions: 1
-description:
-----------------------------
-revision 1.5
-date: 2004/08/29 04:10:17; author: minam; state: dead; lines: +0 -0
-Here we go -- point of no return. Deleting existing implementation to make
-way for new implementation.
-=============================================================================
-
-RCS file: /var/cvs/copland/copland/copland.gemspec,v
-Working file: copland.gemspec
-head: 1.12
-branch:
-locks: strict
-access list:
-keyword substitution: kv
-total revisions: 13; selected revisions: 1
-description:
-----------------------------
-revision 1.12
-date: 2004/09/11 21:45:58; author: minam; state: Exp; lines: +4 -4
-Minor change in how version is communicated to gemspec.
-=============================================================================
-MSG
- @scm.story = [ @log_msg ]
- end
-
- def test_latest_revision
- @scm.story = [ @log_msg ]
- assert_equal "2004-10-12 02:21:02", @scm.latest_revision
- assert_equal "/hello/world", @scm.last_path
- end
-
- def test_checkout
- @actor.story = []
- assert_nothing_raised { @scm.checkout(@actor) }
- assert_nil @actor.channels.last.sent_data
- assert_match %r{/path/to/cvs}, @actor.command
- end
-
- def test_checkout_needs_ssh_password
- @actor.story = [[:out, "joetester@rubyforge.org's password: "]]
- assert_nothing_raised { @scm.checkout(@actor) }
- assert_equal ["chocolatebrownies\n"], @actor.channels.last.sent_data
- end
-end