empp 0.0.3

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/test/helper.rb ADDED
@@ -0,0 +1,3 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
2
+
3
+ require 'test/unit'
data/test/test_empp.rb ADDED
@@ -0,0 +1,161 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/helper")
2
+ require 'empp/tcp_connection'
3
+ require 'empp/empp'
4
+ require 'empp/constants'
5
+ require 'empp/empp_result_listener'
6
+ require 'empp/empp_msg_listener'
7
+ require 'iconv'
8
+
9
+ module Empp
10
+
11
+ class TestEmpp < Test::Unit::TestCase
12
+
13
+ def setup
14
+ @host = "211.136.163.68"
15
+ @port = 9981
16
+ @service_id= "hpthenry"
17
+ @account_id = "10657001024157"
18
+ @password = "1qazxsw231415926"
19
+
20
+ Empp.config(
21
+ :host => @host,
22
+ :port => @port,
23
+ :account_id => @account_id,
24
+ :service_id => @service_id,
25
+ :password => @password,
26
+ :logfile => "/tmp/empp_test.log",
27
+ :loglevel => 0
28
+ )
29
+
30
+ end
31
+
32
+ def test_connect
33
+ # empp_api = EmppApi.new
34
+ # listener = MyListener.new
35
+ # empp_api.connect(@hostname, @port, @accountId, @password, @serviceId, listener)
36
+ # assert( empp_api.alive?, "Fails to connect ESMP" )
37
+ #
38
+ # empp_api.disconnect
39
+ # empp_api.reconnect
40
+ # assert( empp_api.alive?, "Fails to reconnect ESMP" )
41
+ #
42
+ # empp_api.disconnect
43
+ # empp_api.connect(@hostname, @port, "wrong", "wrong", @serviceId, listener)
44
+ #
45
+ # assert(!empp_api.alive?, "Wrong state of EmppApi connect when connect by wrong info")
46
+ end
47
+
48
+
49
+
50
+ def test_submit_message
51
+ # empp_api = EmppApi.new
52
+ # listener = MyListener.new
53
+ # empp_api.connect(@hostname, @port, @accountId, @password, @serviceId, listener)
54
+ #
55
+ # empp_api.submitMsg(["15021116022", "13691033882"], "just for 测试, no need to reply.")
56
+ #
57
+ # sleep 30
58
+ #
59
+ # assert( (listener.in_success_list?"15021116022"), "Failed to send message")
60
+ # assert( (listener.in_failing_list?"13691033882"), "Get unknow state from EmppAPI")
61
+ # #empp_api.submitMsg("15021116022", "Rongping short message test:请用中文回复,谢谢!")
62
+ # # empp_api.submitMsg("13691033882", "Rongping short message testing:中文字符, can you see")
63
+
64
+ res_listener = MyResultListener.new
65
+
66
+ msg_listener1 = MyMsgListener.new
67
+ msg_listener2 = MyMsgListener.new
68
+
69
+ Empp.register_msg_listener(msg_listener1)
70
+ Empp.register_msg_listener(msg_listener2)
71
+
72
+ # Empp.send_msg("18621976620", "from email", res_listener)
73
+ Empp.send_msg(["18621976620"], "00000000001234567890我我我我我1234567890我我我我我1234567890我我我我我1234567890我我我我我1234567890我我我我我1234567890我我我我我1234567890我我我我我", res_listener)
74
+
75
+ # Empp.send_msg(["15021116022"], "1234567890我我我我我1234567890我我我我我1234567890我我我我我1234567890我我我我我1234567890我我我我我", res_listener)
76
+
77
+ sleep 30 * 60
78
+
79
+ assert(res_listener.in_success_list?"18621976620")
80
+ assert(res_listener.in_failing_list?"13691033882")
81
+
82
+
83
+ end
84
+
85
+
86
+ end
87
+
88
+
89
+ class MyMsgListener < EmppMsgListener
90
+
91
+ def on_message(terminal_id, msg_content)
92
+ puts "#{terminal_id} = #{msg_content} self=#{self}"
93
+ end
94
+
95
+ end
96
+
97
+
98
+
99
+ class MyResultListener < EmppResultListener
100
+
101
+ def initialize
102
+ @success_list = []
103
+ @failing_list = []
104
+ end
105
+
106
+ def in_success_list?(terminal_id)
107
+ @success_list.include? terminal_id
108
+ end
109
+
110
+ def in_failing_list?(terminal_id)
111
+ @failing_list.include? terminal_id
112
+ end
113
+
114
+ def on_result(terminal_id, status)
115
+ puts "#{terminal_id} = #{status}"
116
+ if status
117
+ @success_list << terminal_id
118
+ else
119
+ @failing_list << terminal_id
120
+ end
121
+
122
+ end
123
+
124
+ end
125
+
126
+ end
127
+
128
+ # class MyListener < EmppListener
129
+ #
130
+ # def initialize
131
+ # @success_list = []
132
+ # @failing_list = []
133
+ # end
134
+ #
135
+ # def in_success_list?(terminal_id)
136
+ # @success_list.include?terminal_id
137
+ # end
138
+ #
139
+ # def in_failing_list?(terminal_id)
140
+ # @failing_list.include?terminal_id
141
+ # end
142
+ #
143
+ # def onResponse(code, status = nil, terminalId = nil)
144
+ # puts "responsing arrives code=#{code} status=#{status} terminalId=#{terminalId}"
145
+ # if code == Constants::EMPP_DELIVER && status == Constants::EMPP_DELIVER_SUCCESS
146
+ # @success_list << terminalId
147
+ # puts "short message send to #{terminalId} successfully"
148
+ # elsif code == Constants::EMPP_DELIVER && status == Constants::EMPP_DELIVER_FAIL
149
+ # puts "short message send to #{terminalId} fails"
150
+ # @failing_list << terminalId
151
+ # end
152
+ #
153
+ # end
154
+ #
155
+ # def onMessage(terminalId, message)
156
+ # puts "Message arrives"
157
+ # puts "#{terminalId} = #{message}"
158
+ # end
159
+ # end
160
+ #
161
+ # end
@@ -0,0 +1,16 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/helper")
2
+ require 'empp/msg_submit'
3
+
4
+ module Empp
5
+
6
+ class TestMsgSubmit < Test::Unit::TestCase
7
+ def test_package
8
+ msg = MsgSubmit.new("13691033882", "hello我们", "999999", "88888888")
9
+ bytes = msg.package
10
+ puts msg.total_length
11
+ puts bytes.length
12
+ assert(bytes.length == msg.total_length)
13
+ end
14
+ end
15
+
16
+ end
@@ -0,0 +1,29 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/helper")
2
+ require 'empp/tcp_connection'
3
+
4
+ module Empp
5
+
6
+ class TestTCPConnection < Test::Unit::TestCase
7
+ def setup
8
+ @host = "211.136.163.68"
9
+ @port = 9981
10
+ end
11
+
12
+ def test_tcpip_connect
13
+ connection = nil
14
+ begin
15
+ connection = TcpConnection.getConnection(@host, @port)
16
+ connection.connect
17
+ rescue
18
+ end
19
+ assert(connection != nil && connection.alive?, "测试TCP/IP连接失败")
20
+
21
+ if connection
22
+ connection.close
23
+ end
24
+
25
+ end
26
+
27
+ end
28
+
29
+ end
@@ -0,0 +1,49 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/helper")
2
+ require 'empp/utils/utils'
3
+
4
+ module Empp
5
+ class TestUtils < Test::Unit::TestCase
6
+
7
+ def test_utf8_to_gbk
8
+ utf8str = "hello中国"
9
+ puts utf8str[-1]
10
+ gbkstr = Utils::Utils.convert_utf8_to_gbk(utf8str)
11
+ puts gbkstr
12
+ puts gbkstr.length
13
+ assert(gbkstr.length == 9)
14
+ end
15
+
16
+
17
+ def test_utf8_to_utf16
18
+ utf8str = "hello中国"
19
+ gbkstr = Utils::Utils.convert_utf8_to_gbk(utf8str)
20
+ puts gbkstr.length
21
+ assert(gbkstr.length == 9)
22
+ end
23
+
24
+
25
+ def test_get_splitted_msgs
26
+ utf8str = "1234567890我我我我我1234567890我我我我我1234567890我我我我我1234567890我我我我我1234567890我我我我我"
27
+ gbkstr = Utils::Utils.convert_utf8_to_gbk(utf8str)
28
+ puts gbkstr
29
+ puts gbkstr.length
30
+ msgs = Utils::Utils.get_splitted_msgs(gbkstr)
31
+ puts msgs[0]
32
+ puts msgs[1]
33
+ assert(msgs[0].length == 69)
34
+ assert(msgs[1].length == 31)
35
+ end
36
+
37
+ def test_deal_with_terminal_id
38
+ str = "13691033882"
39
+ str86 = "8613691033882"
40
+ strp86 = "+8613691033882"
41
+
42
+ assert(Utils::Utils.deal_with_terminal_id(str) == str)
43
+ assert(Utils::Utils.deal_with_terminal_id(str86) == str)
44
+ assert(Utils::Utils.deal_with_terminal_id(strp86) == str)
45
+
46
+ end
47
+
48
+ end
49
+ end
metadata ADDED
@@ -0,0 +1,157 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: empp
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 3
9
+ version: 0.0.3
10
+ platform: ruby
11
+ authors:
12
+ - lijianjun
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-01-21 00:00:00 +08:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ type: :development
22
+ name: shoulda
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ requirement: *id001
31
+ prerelease: false
32
+ - !ruby/object:Gem::Dependency
33
+ type: :development
34
+ name: bundler
35
+ version_requirements: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 1
41
+ - 0
42
+ - 0
43
+ version: 1.0.0
44
+ requirement: *id002
45
+ prerelease: false
46
+ - !ruby/object:Gem::Dependency
47
+ type: :development
48
+ name: jeweler
49
+ version_requirements: &id003 !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 1
55
+ - 5
56
+ - 2
57
+ version: 1.5.2
58
+ requirement: *id003
59
+ prerelease: false
60
+ - !ruby/object:Gem::Dependency
61
+ type: :development
62
+ name: rcov
63
+ version_requirements: &id004 !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ segments:
68
+ - 0
69
+ version: "0"
70
+ requirement: *id004
71
+ prerelease: false
72
+ - !ruby/object:Gem::Dependency
73
+ type: :runtime
74
+ name: bindata
75
+ version_requirements: &id005 !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "="
78
+ - !ruby/object:Gem::Version
79
+ segments:
80
+ - 1
81
+ - 2
82
+ - 1
83
+ version: 1.2.1
84
+ requirement: *id005
85
+ prerelease: false
86
+ description: API for sending or receiving sms
87
+ email: jjli418@gmail.com
88
+ executables: []
89
+
90
+ extensions: []
91
+
92
+ extra_rdoc_files:
93
+ - LICENSE.txt
94
+ - README
95
+ - README.rdoc
96
+ files:
97
+ - lib/empp.rb
98
+ - lib/empp/constants.rb
99
+ - lib/empp/delivery_state.rb
100
+ - lib/empp/empp.rb
101
+ - lib/empp/empp_base.rb
102
+ - lib/empp/empp_connection.rb
103
+ - lib/empp/empp_logger.rb
104
+ - lib/empp/empp_msg_listener.rb
105
+ - lib/empp/empp_parser.rb
106
+ - lib/empp/empp_result_listener.rb
107
+ - lib/empp/msg_active_test.rb
108
+ - lib/empp/msg_active_test_resp.rb
109
+ - lib/empp/msg_connect.rb
110
+ - lib/empp/msg_connect_resp.rb
111
+ - lib/empp/msg_delivery.rb
112
+ - lib/empp/msg_delivery_resp.rb
113
+ - lib/empp/msg_submit.rb
114
+ - lib/empp/msg_submit_resp.rb
115
+ - lib/empp/tcp_connection.rb
116
+ - lib/empp/utils/bytebuffer.rb
117
+ - lib/empp/utils/hashtable.rb
118
+ - lib/empp/utils/utils.rb
119
+ - LICENSE.txt
120
+ - README
121
+ - README.rdoc
122
+ has_rdoc: true
123
+ homepage: http://github.com/temptest/empp
124
+ licenses:
125
+ - MIT
126
+ post_install_message:
127
+ rdoc_options: []
128
+
129
+ require_paths:
130
+ - lib
131
+ required_ruby_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ segments:
136
+ - 0
137
+ version: "0"
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ segments:
143
+ - 0
144
+ version: "0"
145
+ requirements: []
146
+
147
+ rubyforge_project:
148
+ rubygems_version: 1.3.6
149
+ signing_key:
150
+ specification_version: 3
151
+ summary: API for sending or receiving sms
152
+ test_files:
153
+ - test/helper.rb
154
+ - test/test_empp.rb
155
+ - test/test_msg_submit.rb
156
+ - test/test_tcp_connection.rb
157
+ - test/test_utils.rb