ychaker-zeep_it 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +65 -0
- data/Rakefile +54 -0
- data/generators/zeep_it_route/zeep_it_route_generator.rb +7 -0
- data/install.rb +1 -0
- data/lib/app/controllers/zeep_sms_controller.rb +104 -0
- data/lib/app/helpers/zeep_sms_helper.rb +11 -0
- data/lib/app/models/zeep_sms.rb +101 -0
- data/lib/app/views/zeep_sms/_form.erb +10 -0
- data/lib/app/views/zeep_sms/incoming.erb +0 -0
- data/lib/app/views/zeep_sms/index.erb +6 -0
- data/lib/db/migrate/20090719024916_create_zeep_sms.rb +13 -0
- data/lib/zeep/LICENSE +18 -0
- data/lib/zeep/README +42 -0
- data/lib/zeep/auth.rb +51 -0
- data/lib/zeep/messaging.rb +79 -0
- data/lib/zeep/responses.rb +122 -0
- data/lib/zeep_it.rb +15 -0
- data/lib/zeep_it/commands.rb +39 -0
- data/lib/zeep_it/routing.rb +11 -0
- data/rails/init.rb +1 -0
- data/tasks/zeep_it_tasks.rake +51 -0
- data/test/database.yml +22 -0
- data/test/debug.log +2459 -0
- data/test/route_generator_test.rb +51 -0
- data/test/routing_test.rb +20 -0
- data/test/schema.rb +8 -0
- data/test/test_helper.rb +33 -0
- data/test/zeep_it_test.rb +13 -0
- data/test/zeep_sms_controller_test.rb +28 -0
- data/test/zeep_sms_helper_test.rb +12 -0
- data/test/zeep_sms_test.rb +41 -0
- data/uninstall.rb +1 -0
- metadata +85 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
require 'rails_generator'
|
3
|
+
require 'rails_generator/scripts/generate'
|
4
|
+
require 'rails_generator/scripts/destroy'
|
5
|
+
|
6
|
+
class RouteGeneratorTest < Test::Unit::TestCase
|
7
|
+
|
8
|
+
def setup
|
9
|
+
FileUtils.mkdir_p(File.join(fake_rails_root, "config"))
|
10
|
+
end
|
11
|
+
|
12
|
+
def teardown
|
13
|
+
FileUtils.rm_r(fake_rails_root)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_generates_route
|
17
|
+
content = <<-END
|
18
|
+
ActionController::Routing::Routes.draw do |map|
|
19
|
+
map.connect ':controller/:action/:id'
|
20
|
+
map.connect ':controller/:action/:id.:format'
|
21
|
+
end
|
22
|
+
END
|
23
|
+
File.open(routes_path, 'wb') {|f| f.write(content) }
|
24
|
+
|
25
|
+
Rails::Generator::Scripts::Generate.new.run(["zeep_it_route"], :destination => fake_rails_root)
|
26
|
+
assert_match /map\.resources \:zeep_sms/, File.read(routes_path)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_destroys_route
|
30
|
+
content = <<-END
|
31
|
+
ActionController::Routing::Routes.draw do |map|
|
32
|
+
map.zeep_sms
|
33
|
+
map.connect ':controller/:action/:id'
|
34
|
+
map.connect ':controller/:action/:id.:format'
|
35
|
+
end
|
36
|
+
END
|
37
|
+
|
38
|
+
File.open(routes_path, 'wb') {|f| f.write(content) }
|
39
|
+
Rails::Generator::Scripts::Destroy.new.run(["zeep_it_route"], :destination => fake_rails_root)
|
40
|
+
assert_no_match /map\.resources \:zeep_sms/, File.read(routes_path)
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
def fake_rails_root
|
45
|
+
File.join(File.dirname(__FILE__), "rails_root")
|
46
|
+
end
|
47
|
+
|
48
|
+
def routes_path
|
49
|
+
File.join(fake_rails_root, "config", "routes.rb")
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require "#{File.dirname(__FILE__)}/test_helper"
|
2
|
+
|
3
|
+
class RoutingTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
ActionController::Routing::Routes.draw do |map|
|
7
|
+
map.zeep_sms
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_zeep_sms_route
|
12
|
+
assert_recognition :get, "/zeep_sms", :controller => "zeep_sms", :action => "index"
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
def assert_recognition(method, path, options)
|
17
|
+
result = ActionController::Routing::Routes.recognize_path(path, :method => method)
|
18
|
+
assert_equal options, result
|
19
|
+
end
|
20
|
+
end
|
data/test/schema.rb
ADDED
data/test/test_helper.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
ENV['RAILS_ENV'] = 'test'
|
2
|
+
ENV['RAILS_ROOT'] ||= File.dirname(__FILE__) + '/../../../..'
|
3
|
+
|
4
|
+
require 'test/unit'
|
5
|
+
require File.expand_path(File.join(ENV['RAILS_ROOT'], 'config/environment.rb'))
|
6
|
+
|
7
|
+
def load_schema
|
8
|
+
config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
|
9
|
+
ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
|
10
|
+
|
11
|
+
db_adapter = ENV['DB']
|
12
|
+
|
13
|
+
# no db passed, try one of these fine config-free DBs before bombing.
|
14
|
+
db_adapter ||=
|
15
|
+
begin
|
16
|
+
require 'rubygems'
|
17
|
+
require 'sqlite'
|
18
|
+
'sqlite'
|
19
|
+
rescue MissingSourceFile
|
20
|
+
begin
|
21
|
+
require 'sqlite3'
|
22
|
+
'sqlite3'
|
23
|
+
rescue MissingSourceFile
|
24
|
+
end
|
25
|
+
end
|
26
|
+
if db_adapter.nil?
|
27
|
+
raise "No DB Adapter selected. Pass the DB= option to pick one, or install Sqlite or Sqlite3."
|
28
|
+
end
|
29
|
+
|
30
|
+
ActiveRecord::Base.establish_connection(config[db_adapter])
|
31
|
+
load(File.dirname(__FILE__) + "/schema.rb")
|
32
|
+
require File.dirname(__FILE__) + '/../rails/init.rb'
|
33
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
require 'zeep_sms_controller'
|
3
|
+
require 'action_controller/test_process'
|
4
|
+
|
5
|
+
class ZeepSmsController; def rescue_action(e) raise e end; end
|
6
|
+
|
7
|
+
class ZeepSmsControllerTest < ActionController::TestCase
|
8
|
+
|
9
|
+
def setup
|
10
|
+
@controller = ZeepSmsController.new
|
11
|
+
@request = ActionController::TestRequest.new
|
12
|
+
@response = ActionController::TestResponse.new
|
13
|
+
|
14
|
+
ActionController::Routing::Routes.draw do |map|
|
15
|
+
map.resources :woodpeckers
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_index
|
20
|
+
get :index
|
21
|
+
assert_response :success
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_incoming
|
25
|
+
get :incoming
|
26
|
+
assert_response :success
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
require 'action_view/test_case'
|
3
|
+
|
4
|
+
include ZeepSmsHelper
|
5
|
+
|
6
|
+
class ZeepSmsHelperTest < ActionView::TestCase
|
7
|
+
|
8
|
+
# TODO: find out how to get the render helper method to work in test
|
9
|
+
# def test_zeep_form
|
10
|
+
# puts zeep_form('user_id')
|
11
|
+
# end
|
12
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
|
3
|
+
class ZeepSMSTest < ActiveRecord::TestCase
|
4
|
+
load_schema
|
5
|
+
|
6
|
+
def test_zeep_sms
|
7
|
+
assert_kind_of ZeepSms, ZeepSms.new
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_pluralize_name
|
11
|
+
assert_equal "ZeepSms", "ZeepSms".pluralize
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_fetching_keys
|
15
|
+
assert_not_nil ZeepSms::API_KEY
|
16
|
+
assert_not_nil ZeepSms::SECRET_KEY
|
17
|
+
end
|
18
|
+
|
19
|
+
# def test_send_sms_with_bad_authorization
|
20
|
+
# assert_kind_of Zeep::InvalidAuthorization, ZeepSms::send_sms("fake_login", "fake body")
|
21
|
+
# end
|
22
|
+
|
23
|
+
def test_parse_for_keyword
|
24
|
+
sms = ZeepSms.new(:login => 'zeep_it', :raw => 'ZeepIt123 user:ychaker spotted at DT mall')
|
25
|
+
user = sms.parse_sms(:keyword => 'user:')
|
26
|
+
assert_equal 'ychaker', user[:key]
|
27
|
+
|
28
|
+
sms = ZeepSms.new(:login => 'zeep_it', :raw => 'ZeepIt123 @ychaker spotted at DT mall')
|
29
|
+
user = sms.parse_sms(:pattern => /@/)
|
30
|
+
assert_equal 'ychaker', user[:key]
|
31
|
+
|
32
|
+
sms = ZeepSms.new(:login => 'zeep_it', :raw => 'ZeepIt123 ay caramba! @ychaker spotted at DT mall')
|
33
|
+
user = sms.parse_sms(:common => 'twitter')
|
34
|
+
assert_equal 'ychaker', user[:key]
|
35
|
+
assert_equal 'ay caramba! spotted at DT mall', user[:rest]
|
36
|
+
|
37
|
+
sms = ZeepSms.new(:login => 'zeep_it', :raw => 'ZeepIt123 y!chaker spotted at DT mall')
|
38
|
+
user = sms.parse_sms({:common => 'bang'}, true)
|
39
|
+
assert_equal 'ychaker', user[:key]
|
40
|
+
end
|
41
|
+
end
|
data/uninstall.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# Uninstall hook code here
|
metadata
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ychaker-zeep_it
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Youssef Chaker
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-05-16 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: Get your app Zeep Mobile ready
|
17
|
+
email: youssefchaker@youhhoo.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- README.rdoc
|
24
|
+
files:
|
25
|
+
- README.rdoc
|
26
|
+
- MIT-LICENSE
|
27
|
+
- Rakefile
|
28
|
+
- install.rb
|
29
|
+
- uninstall.rb
|
30
|
+
- generators/zeep_it_route/zeep_it_route_generator.rb
|
31
|
+
- lib/app/controllers/zeep_sms_controller.rb
|
32
|
+
- lib/app/helpers/zeep_sms_helper.rb
|
33
|
+
- lib/app/models/zeep_sms.rb
|
34
|
+
- lib/app/views/zeep_sms/index.erb
|
35
|
+
- lib/app/views/zeep_sms/incoming.erb
|
36
|
+
- lib/app/views/zeep_sms/_form.erb
|
37
|
+
- lib/db/migrate/20090719024916_create_zeep_sms.rb
|
38
|
+
- lib/zeep/auth.rb
|
39
|
+
- lib/zeep/messaging.rb
|
40
|
+
- lib/zeep/responses.rb
|
41
|
+
- lib/zeep/LICENSE
|
42
|
+
- lib/zeep/README
|
43
|
+
- lib/zeep_it/commands.rb
|
44
|
+
- lib/zeep_it/routing.rb
|
45
|
+
- lib/zeep_it.rb
|
46
|
+
- rails/init.rb
|
47
|
+
- tasks/zeep_it_tasks.rake
|
48
|
+
- test/database.yml
|
49
|
+
- test/debug.log
|
50
|
+
- test/route_generator_test.rb
|
51
|
+
- test/routing_test.rb
|
52
|
+
- test/schema.rb
|
53
|
+
- test/zeep_it_test.rb
|
54
|
+
- test/test_helper.rb
|
55
|
+
- test/zeep_sms_controller_test.rb
|
56
|
+
- test/zeep_sms_helper_test.rb
|
57
|
+
- test/zeep_sms_test.rb
|
58
|
+
has_rdoc: true
|
59
|
+
homepage: http://github.com/ychaker/zeep_it
|
60
|
+
post_install_message:
|
61
|
+
rdoc_options: []
|
62
|
+
|
63
|
+
require_paths:
|
64
|
+
- lib
|
65
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: "0"
|
70
|
+
version:
|
71
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: "0"
|
76
|
+
version:
|
77
|
+
requirements: []
|
78
|
+
|
79
|
+
rubyforge_project:
|
80
|
+
rubygems_version: 1.2.0
|
81
|
+
signing_key:
|
82
|
+
specification_version: 2
|
83
|
+
summary: Get your app Zeep Mobile ready
|
84
|
+
test_files: []
|
85
|
+
|