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.
@@ -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
@@ -0,0 +1,8 @@
1
+ ActiveRecord::Schema.define(:version => 0) do
2
+ create_table "zeep_sms", :force => true do |t|
3
+ t.datetime "created_at"
4
+ t.datetime "updated_at"
5
+ t.string "raw"
6
+ t.string "login"
7
+ end
8
+ end
@@ -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,13 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class ZeeptItTest < Test::Unit::TestCase
4
+ load_schema
5
+
6
+ class Zeep < ActiveRecord::Base
7
+ end
8
+
9
+
10
+ def test_schema_has_loaded_correctly
11
+ assert_equal [], Zeep.all
12
+ end
13
+ 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
@@ -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
+