snitch 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.txt +0 -0
- data/README.txt +39 -0
- data/Rakefile +54 -0
- data/bin/snitch +3 -0
- data/lib/snitch.rb +12 -0
- data/lib/snitch/base.rb +29 -0
- data/lib/snitch/config.rb +43 -0
- data/lib/snitch/exceptions.rb +4 -0
- data/lib/snitch/patches/hash.rb +11 -0
- data/lib/snitch/patches/tinder.rb +9 -0
- data/lib/snitch/service.rb +32 -0
- data/lib/snitch/services/campfire.rb +23 -0
- data/lib/snitch/services/twitter.rb +18 -0
- data/lib/snitch/svnlook.rb +71 -0
- data/lib/snitch/version.rb +9 -0
- data/setup.rb +1585 -0
- data/test/test_helper.rb +21 -0
- data/test/unit/base_test.rb +18 -0
- data/test/unit/service_test.rb +31 -0
- data/test/unit/services/campfire_test.rb +20 -0
- data/test/unit/services/twitter_test.rb +20 -0
- data/test/unit/svnlook_test.rb +36 -0
- metadata +71 -0
data/test/test_helper.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.dirname(__FILE__) + '/../lib/snitch.rb'
|
3
|
+
require 'mocha'
|
4
|
+
require 'stubba'
|
5
|
+
|
6
|
+
class << Test::Unit::TestCase
|
7
|
+
def test(name, &block)
|
8
|
+
test_name = :"test_#{name.gsub(' ','_')}"
|
9
|
+
raise ArgumentError, "#{test_name} is already defined" if self.instance_methods.include? test_name.to_s
|
10
|
+
define_method test_name, &block
|
11
|
+
end
|
12
|
+
|
13
|
+
def expect(expected_value, &block)
|
14
|
+
define_method :"test_#{caller.first.split("/").last}" do
|
15
|
+
assert_equal expected_value, instance_eval(&block)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
CONFIG = Snitch::Config::load
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
class BaseTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@snitch = Snitch::Base.new('/Volumes/ndwebgroup-app.railsmachina.com/var/www/apps/conductor/repos', 100)
|
6
|
+
end
|
7
|
+
|
8
|
+
test 'should add services from config file' do
|
9
|
+
assert_equal 2, @snitch.services.size
|
10
|
+
end
|
11
|
+
|
12
|
+
# Remote test, uncomment to run
|
13
|
+
# TODO: move these to remote folder so that remote and not are seperate
|
14
|
+
# test 'should be able to tattle to each service that is being used' do
|
15
|
+
# puts 'Be sure to check the live services in the config file'
|
16
|
+
# @snitch.tattle
|
17
|
+
# end
|
18
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
class ServiceTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@s = Snitch::Service.new(:login => 'john', :password => 'secret')
|
6
|
+
end
|
7
|
+
|
8
|
+
test 'should have attributes' do
|
9
|
+
assert_equal({:login => 'john', :password => 'secret'}, @s.attributes)
|
10
|
+
end
|
11
|
+
|
12
|
+
test 'should be able to access keys in the attributes hash like reader methods' do
|
13
|
+
assert_equal 'john', @s.login
|
14
|
+
assert_equal 'secret', @s.password
|
15
|
+
end
|
16
|
+
|
17
|
+
test 'should be able to change key values in the attributes hash like writer methods' do
|
18
|
+
@s.login = 'jdog'
|
19
|
+
assert_equal 'jdog', @s.login
|
20
|
+
end
|
21
|
+
|
22
|
+
test 'should be able to set key values in the attributes hash that were not in initialize' do
|
23
|
+
@s.fart = 't'
|
24
|
+
assert_equal('t', @s.fart)
|
25
|
+
end
|
26
|
+
|
27
|
+
test 'should be able to create new instance from name' do
|
28
|
+
assert_kind_of Snitch::Services::Twitter, Snitch::Service.new_from_name(:twitter, {})
|
29
|
+
assert_kind_of Snitch::Services::Campfire, Snitch::Service.new_from_name(:campfire, {})
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../test_helper'
|
2
|
+
|
3
|
+
class CampfireTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@config = CONFIG[:services][:campfire]
|
6
|
+
@service = Snitch::Services::Campfire.new(@config)
|
7
|
+
end
|
8
|
+
|
9
|
+
test 'should have attributes' do
|
10
|
+
assert_equal @config, @service.attributes
|
11
|
+
end
|
12
|
+
|
13
|
+
test 'should have a class instance attribute for the message length' do
|
14
|
+
assert_equal :long, Snitch::Services::Campfire.message_length
|
15
|
+
end
|
16
|
+
|
17
|
+
test 'should connect to campfire room' do
|
18
|
+
assert_kind_of Tinder::Room, @service.connection
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../test_helper'
|
2
|
+
|
3
|
+
class TwitterTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@config = CONFIG[:services][:twitter]
|
6
|
+
@service = Snitch::Services::Twitter.new(@config)
|
7
|
+
end
|
8
|
+
|
9
|
+
test 'should have attributes' do
|
10
|
+
assert_equal @config, @service.attributes
|
11
|
+
end
|
12
|
+
|
13
|
+
test 'should have a class instance attribute for the message length' do
|
14
|
+
assert_equal :short, Snitch::Services::Twitter.message_length
|
15
|
+
end
|
16
|
+
|
17
|
+
test 'should connect to campfire room' do
|
18
|
+
assert_kind_of Twitter::Base, @service.connection
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
# TODO: move this test to remote folder
|
4
|
+
|
5
|
+
class SvnlookTest < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@svnlook = Snitch::SvnLook.new(CONFIG[:sshfs_repo], 100, '/usr/local/bin/svnlook')
|
8
|
+
end
|
9
|
+
|
10
|
+
test 'should be able to build long message' do
|
11
|
+
cmt_msg = <<EOF
|
12
|
+
[conductor] Revision 100 Committed by deploy:
|
13
|
+
- Drop additions
|
14
|
+
|
15
|
+
Changed Files:
|
16
|
+
- U trunk/app/controllers/conductor_controller.rb
|
17
|
+
- A trunk/app/drops/page_drop.rb
|
18
|
+
- U trunk/app/drops/site_drop.rb
|
19
|
+
- U trunk/app/models/page.rb
|
20
|
+
EOF
|
21
|
+
assert_equal cmt_msg, @svnlook.to_s(:long)
|
22
|
+
end
|
23
|
+
|
24
|
+
test 'should be able to build short message' do
|
25
|
+
cmt_msg = "[conductor] Revision 100 Committed by deploy: - Drop additions "
|
26
|
+
assert_equal cmt_msg, @svnlook.to_s(:short)
|
27
|
+
end
|
28
|
+
|
29
|
+
test 'should be able to find author' do
|
30
|
+
assert_equal 'deploy', @svnlook.author
|
31
|
+
end
|
32
|
+
|
33
|
+
test 'should be able to find project' do
|
34
|
+
assert_equal 'conductor', @svnlook.project
|
35
|
+
end
|
36
|
+
end
|
metadata
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.9.2
|
3
|
+
specification_version: 1
|
4
|
+
name: snitch
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 0.1.0
|
7
|
+
date: 2007-03-25 00:00:00 -04:00
|
8
|
+
summary: Makes tattling on your svn commits to other services simple
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
email: nunemaker@gmail.com
|
12
|
+
homepage: http://snitch.rubyforge.org
|
13
|
+
rubyforge_project: snitch
|
14
|
+
description: Makes tattling on your svn commits to other services simple
|
15
|
+
autorequire:
|
16
|
+
default_executable:
|
17
|
+
bindir: bin
|
18
|
+
has_rdoc: true
|
19
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
24
|
+
version:
|
25
|
+
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
28
|
+
post_install_message:
|
29
|
+
authors:
|
30
|
+
- John Nunemaker
|
31
|
+
files:
|
32
|
+
- Rakefile
|
33
|
+
- README.txt
|
34
|
+
- CHANGELOG.txt
|
35
|
+
- setup.rb
|
36
|
+
- lib/snitch.rb
|
37
|
+
- lib/snitch/base.rb
|
38
|
+
- lib/snitch/config.rb
|
39
|
+
- lib/snitch/exceptions.rb
|
40
|
+
- lib/snitch/patches/hash.rb
|
41
|
+
- lib/snitch/patches/tinder.rb
|
42
|
+
- lib/snitch/service.rb
|
43
|
+
- lib/snitch/services/campfire.rb
|
44
|
+
- lib/snitch/services/twitter.rb
|
45
|
+
- lib/snitch/svnlook.rb
|
46
|
+
- lib/snitch/version.rb
|
47
|
+
- test/test_helper.rb
|
48
|
+
- test/unit/base_test.rb
|
49
|
+
- test/unit/service_test.rb
|
50
|
+
- test/unit/services/campfire_test.rb
|
51
|
+
- test/unit/services/twitter_test.rb
|
52
|
+
- test/unit/svnlook_test.rb
|
53
|
+
- bin/snitch
|
54
|
+
test_files:
|
55
|
+
- test/unit/base_test.rb
|
56
|
+
- test/unit/service_test.rb
|
57
|
+
- test/unit/svnlook_test.rb
|
58
|
+
- test/unit/services/campfire_test.rb
|
59
|
+
- test/unit/services/twitter_test.rb
|
60
|
+
rdoc_options: []
|
61
|
+
|
62
|
+
extra_rdoc_files: []
|
63
|
+
|
64
|
+
executables:
|
65
|
+
- snitch
|
66
|
+
extensions: []
|
67
|
+
|
68
|
+
requirements: []
|
69
|
+
|
70
|
+
dependencies: []
|
71
|
+
|