sidekick-client 0.2.1 → 0.2.2

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.
Files changed (162) hide show
  1. data/VERSION +1 -1
  2. data/lib/sidekick/client/sidekick_client.rb +0 -3
  3. data/lib/sidekick/shared/sidekick_queue_publisher.rb +1 -1
  4. data/sidekick-client.gemspec +1 -158
  5. metadata +1 -158
  6. data/lib/ext/eventmachine-0.12.10/.gitignore +0 -14
  7. data/lib/ext/eventmachine-0.12.10/README +0 -82
  8. data/lib/ext/eventmachine-0.12.10/Rakefile +0 -374
  9. data/lib/ext/eventmachine-0.12.10/docs/COPYING +0 -60
  10. data/lib/ext/eventmachine-0.12.10/docs/ChangeLog +0 -211
  11. data/lib/ext/eventmachine-0.12.10/docs/DEFERRABLES +0 -133
  12. data/lib/ext/eventmachine-0.12.10/docs/EPOLL +0 -141
  13. data/lib/ext/eventmachine-0.12.10/docs/GNU +0 -281
  14. data/lib/ext/eventmachine-0.12.10/docs/INSTALL +0 -13
  15. data/lib/ext/eventmachine-0.12.10/docs/KEYBOARD +0 -38
  16. data/lib/ext/eventmachine-0.12.10/docs/LEGAL +0 -25
  17. data/lib/ext/eventmachine-0.12.10/docs/LIGHTWEIGHT_CONCURRENCY +0 -70
  18. data/lib/ext/eventmachine-0.12.10/docs/PURE_RUBY +0 -75
  19. data/lib/ext/eventmachine-0.12.10/docs/RELEASE_NOTES +0 -94
  20. data/lib/ext/eventmachine-0.12.10/docs/SMTP +0 -2
  21. data/lib/ext/eventmachine-0.12.10/docs/SPAWNED_PROCESSES +0 -89
  22. data/lib/ext/eventmachine-0.12.10/docs/TODO +0 -8
  23. data/lib/ext/eventmachine-0.12.10/eventmachine.gemspec +0 -40
  24. data/lib/ext/eventmachine-0.12.10/examples/ex_channel.rb +0 -43
  25. data/lib/ext/eventmachine-0.12.10/examples/ex_queue.rb +0 -2
  26. data/lib/ext/eventmachine-0.12.10/examples/helper.rb +0 -2
  27. data/lib/ext/eventmachine-0.12.10/ext/binder.cpp +0 -125
  28. data/lib/ext/eventmachine-0.12.10/ext/binder.h +0 -46
  29. data/lib/ext/eventmachine-0.12.10/ext/cmain.cpp +0 -827
  30. data/lib/ext/eventmachine-0.12.10/ext/cplusplus.cpp +0 -202
  31. data/lib/ext/eventmachine-0.12.10/ext/ed.cpp +0 -1893
  32. data/lib/ext/eventmachine-0.12.10/ext/ed.h +0 -424
  33. data/lib/ext/eventmachine-0.12.10/ext/em.cpp +0 -2282
  34. data/lib/ext/eventmachine-0.12.10/ext/em.h +0 -232
  35. data/lib/ext/eventmachine-0.12.10/ext/emwin.cpp +0 -300
  36. data/lib/ext/eventmachine-0.12.10/ext/emwin.h +0 -94
  37. data/lib/ext/eventmachine-0.12.10/ext/epoll.cpp +0 -26
  38. data/lib/ext/eventmachine-0.12.10/ext/epoll.h +0 -25
  39. data/lib/ext/eventmachine-0.12.10/ext/eventmachine.h +0 -122
  40. data/lib/ext/eventmachine-0.12.10/ext/eventmachine_cpp.h +0 -96
  41. data/lib/ext/eventmachine-0.12.10/ext/extconf.rb +0 -148
  42. data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/extconf.rb +0 -83
  43. data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/mapper.cpp +0 -214
  44. data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/mapper.h +0 -59
  45. data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/rubymain.cpp +0 -127
  46. data/lib/ext/eventmachine-0.12.10/ext/files.cpp +0 -94
  47. data/lib/ext/eventmachine-0.12.10/ext/files.h +0 -65
  48. data/lib/ext/eventmachine-0.12.10/ext/kb.cpp +0 -81
  49. data/lib/ext/eventmachine-0.12.10/ext/page.cpp +0 -107
  50. data/lib/ext/eventmachine-0.12.10/ext/page.h +0 -51
  51. data/lib/ext/eventmachine-0.12.10/ext/pipe.cpp +0 -349
  52. data/lib/ext/eventmachine-0.12.10/ext/project.h +0 -151
  53. data/lib/ext/eventmachine-0.12.10/ext/rubymain.cpp +0 -1166
  54. data/lib/ext/eventmachine-0.12.10/ext/sigs.cpp +0 -89
  55. data/lib/ext/eventmachine-0.12.10/ext/sigs.h +0 -32
  56. data/lib/ext/eventmachine-0.12.10/ext/ssl.cpp +0 -460
  57. data/lib/ext/eventmachine-0.12.10/ext/ssl.h +0 -94
  58. data/lib/ext/eventmachine-0.12.10/java/.classpath +0 -8
  59. data/lib/ext/eventmachine-0.12.10/java/.project +0 -17
  60. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EmReactor.java +0 -570
  61. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EmReactorException.java +0 -40
  62. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableChannel.java +0 -69
  63. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableDatagramChannel.java +0 -189
  64. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableSocketChannel.java +0 -364
  65. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Application.java +0 -194
  66. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Connection.java +0 -74
  67. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/ConnectionFactory.java +0 -37
  68. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/DefaultConnectionFactory.java +0 -46
  69. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/PeriodicTimer.java +0 -38
  70. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Timer.java +0 -54
  71. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/ApplicationTest.java +0 -109
  72. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/ConnectTest.java +0 -148
  73. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/EMTest.java +0 -80
  74. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestDatagrams.java +0 -53
  75. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestServers.java +0 -75
  76. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestTimers.java +0 -90
  77. data/lib/ext/eventmachine-0.12.10/lib/em/buftok.rb +0 -138
  78. data/lib/ext/eventmachine-0.12.10/lib/em/callback.rb +0 -26
  79. data/lib/ext/eventmachine-0.12.10/lib/em/channel.rb +0 -57
  80. data/lib/ext/eventmachine-0.12.10/lib/em/connection.rb +0 -564
  81. data/lib/ext/eventmachine-0.12.10/lib/em/deferrable.rb +0 -192
  82. data/lib/ext/eventmachine-0.12.10/lib/em/file_watch.rb +0 -54
  83. data/lib/ext/eventmachine-0.12.10/lib/em/future.rb +0 -61
  84. data/lib/ext/eventmachine-0.12.10/lib/em/messages.rb +0 -66
  85. data/lib/ext/eventmachine-0.12.10/lib/em/process_watch.rb +0 -44
  86. data/lib/ext/eventmachine-0.12.10/lib/em/processes.rb +0 -119
  87. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/header_and_content.rb +0 -138
  88. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/httpclient.rb +0 -263
  89. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/httpclient2.rb +0 -590
  90. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/line_and_text.rb +0 -125
  91. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/linetext2.rb +0 -161
  92. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/memcache.rb +0 -323
  93. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/object_protocol.rb +0 -45
  94. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/postgres3.rb +0 -247
  95. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/saslauth.rb +0 -175
  96. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/smtpclient.rb +0 -357
  97. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/smtpserver.rb +0 -547
  98. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/socks4.rb +0 -66
  99. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/stomp.rb +0 -200
  100. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/tcptest.rb +0 -53
  101. data/lib/ext/eventmachine-0.12.10/lib/em/protocols.rb +0 -36
  102. data/lib/ext/eventmachine-0.12.10/lib/em/queue.rb +0 -61
  103. data/lib/ext/eventmachine-0.12.10/lib/em/spawnable.rb +0 -85
  104. data/lib/ext/eventmachine-0.12.10/lib/em/streamer.rb +0 -130
  105. data/lib/ext/eventmachine-0.12.10/lib/em/timers.rb +0 -56
  106. data/lib/ext/eventmachine-0.12.10/lib/em/version.rb +0 -3
  107. data/lib/ext/eventmachine-0.12.10/lib/eventmachine.rb +0 -1592
  108. data/lib/ext/eventmachine-0.12.10/lib/evma/callback.rb +0 -32
  109. data/lib/ext/eventmachine-0.12.10/lib/evma/container.rb +0 -75
  110. data/lib/ext/eventmachine-0.12.10/lib/evma/factory.rb +0 -77
  111. data/lib/ext/eventmachine-0.12.10/lib/evma/protocol.rb +0 -87
  112. data/lib/ext/eventmachine-0.12.10/lib/evma/reactor.rb +0 -48
  113. data/lib/ext/eventmachine-0.12.10/lib/evma.rb +0 -32
  114. data/lib/ext/eventmachine-0.12.10/lib/jeventmachine.rb +0 -257
  115. data/lib/ext/eventmachine-0.12.10/lib/pr_eventmachine.rb +0 -1022
  116. data/lib/ext/eventmachine-0.12.10/setup.rb +0 -1585
  117. data/lib/ext/eventmachine-0.12.10/tasks/cpp.rake_example +0 -77
  118. data/lib/ext/eventmachine-0.12.10/tests/client.crt +0 -31
  119. data/lib/ext/eventmachine-0.12.10/tests/client.key +0 -51
  120. data/lib/ext/eventmachine-0.12.10/tests/test_attach.rb +0 -126
  121. data/lib/ext/eventmachine-0.12.10/tests/test_basic.rb +0 -284
  122. data/lib/ext/eventmachine-0.12.10/tests/test_channel.rb +0 -63
  123. data/lib/ext/eventmachine-0.12.10/tests/test_connection_count.rb +0 -35
  124. data/lib/ext/eventmachine-0.12.10/tests/test_defer.rb +0 -47
  125. data/lib/ext/eventmachine-0.12.10/tests/test_epoll.rb +0 -160
  126. data/lib/ext/eventmachine-0.12.10/tests/test_error_handler.rb +0 -35
  127. data/lib/ext/eventmachine-0.12.10/tests/test_errors.rb +0 -82
  128. data/lib/ext/eventmachine-0.12.10/tests/test_exc.rb +0 -55
  129. data/lib/ext/eventmachine-0.12.10/tests/test_file_watch.rb +0 -49
  130. data/lib/ext/eventmachine-0.12.10/tests/test_futures.rb +0 -198
  131. data/lib/ext/eventmachine-0.12.10/tests/test_get_sock_opt.rb +0 -30
  132. data/lib/ext/eventmachine-0.12.10/tests/test_handler_check.rb +0 -37
  133. data/lib/ext/eventmachine-0.12.10/tests/test_hc.rb +0 -218
  134. data/lib/ext/eventmachine-0.12.10/tests/test_httpclient.rb +0 -218
  135. data/lib/ext/eventmachine-0.12.10/tests/test_httpclient2.rb +0 -153
  136. data/lib/ext/eventmachine-0.12.10/tests/test_inactivity_timeout.rb +0 -50
  137. data/lib/ext/eventmachine-0.12.10/tests/test_kb.rb +0 -60
  138. data/lib/ext/eventmachine-0.12.10/tests/test_ltp.rb +0 -182
  139. data/lib/ext/eventmachine-0.12.10/tests/test_ltp2.rb +0 -317
  140. data/lib/ext/eventmachine-0.12.10/tests/test_next_tick.rb +0 -133
  141. data/lib/ext/eventmachine-0.12.10/tests/test_object_protocol.rb +0 -37
  142. data/lib/ext/eventmachine-0.12.10/tests/test_pause.rb +0 -70
  143. data/lib/ext/eventmachine-0.12.10/tests/test_pending_connect_timeout.rb +0 -48
  144. data/lib/ext/eventmachine-0.12.10/tests/test_process_watch.rb +0 -48
  145. data/lib/ext/eventmachine-0.12.10/tests/test_processes.rb +0 -128
  146. data/lib/ext/eventmachine-0.12.10/tests/test_proxy_connection.rb +0 -92
  147. data/lib/ext/eventmachine-0.12.10/tests/test_pure.rb +0 -125
  148. data/lib/ext/eventmachine-0.12.10/tests/test_queue.rb +0 -44
  149. data/lib/ext/eventmachine-0.12.10/tests/test_running.rb +0 -42
  150. data/lib/ext/eventmachine-0.12.10/tests/test_sasl.rb +0 -72
  151. data/lib/ext/eventmachine-0.12.10/tests/test_send_file.rb +0 -242
  152. data/lib/ext/eventmachine-0.12.10/tests/test_servers.rb +0 -76
  153. data/lib/ext/eventmachine-0.12.10/tests/test_smtpclient.rb +0 -83
  154. data/lib/ext/eventmachine-0.12.10/tests/test_smtpserver.rb +0 -85
  155. data/lib/ext/eventmachine-0.12.10/tests/test_spawn.rb +0 -322
  156. data/lib/ext/eventmachine-0.12.10/tests/test_ssl_args.rb +0 -79
  157. data/lib/ext/eventmachine-0.12.10/tests/test_ssl_methods.rb +0 -50
  158. data/lib/ext/eventmachine-0.12.10/tests/test_ssl_verify.rb +0 -82
  159. data/lib/ext/eventmachine-0.12.10/tests/test_timers.rb +0 -162
  160. data/lib/ext/eventmachine-0.12.10/tests/test_ud.rb +0 -36
  161. data/lib/ext/eventmachine-0.12.10/tests/testem.rb +0 -31
  162. data/lib/ext/eventmachine-0.12.10/web/whatis +0 -7
@@ -1,242 +0,0 @@
1
- # $Id$
2
- #
3
- # Author:: Francis Cianfrocca (gmail: blackhedd)
4
- # Homepage:: http://rubyeventmachine.com
5
- # Date:: 8 April 2006
6
- #
7
- # See EventMachine and EventMachine::Connection for documentation and
8
- # usage examples.
9
- #
10
- #----------------------------------------------------------------------------
11
- #
12
- # Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
13
- # Gmail: blackhedd
14
- #
15
- # This program is free software; you can redistribute it and/or modify
16
- # it under the terms of either: 1) the GNU General Public License
17
- # as published by the Free Software Foundation; either version 2 of the
18
- # License, or (at your option) any later version; or 2) Ruby's License.
19
- #
20
- # See the file COPYING for complete licensing information.
21
- #
22
- #---------------------------------------------------------------------------
23
- #
24
- #
25
- #
26
-
27
- $:.unshift "../lib"
28
- require 'eventmachine'
29
- require 'socket'
30
- require 'test/unit'
31
-
32
- class TestSendFile < Test::Unit::TestCase
33
-
34
- module TestModule
35
- def post_init
36
- send_file_data TestFilename
37
- close_connection_after_writing
38
- end
39
- end
40
-
41
- module TestClient
42
- def data_to(&blk)
43
- @data_to = blk
44
- end
45
-
46
- def receive_data(data)
47
- @data_to.call(data) if @data_to
48
- end
49
-
50
- def unbind
51
- EM.stop
52
- end
53
- end
54
-
55
- TestHost = "0.0.0.0"
56
- TestPort = 9055
57
- TestFilename = "./xxxxxx"
58
-
59
- def setup
60
- end
61
-
62
- def teardown
63
- File.unlink( TestFilename ) if File.exist?( TestFilename )
64
- end
65
-
66
- def test_send_file
67
- File.open( TestFilename, "w" ) {|f|
68
- f << ("A" * 5000)
69
- }
70
-
71
- data = ''
72
-
73
- EM.run {
74
- EM.start_server TestHost, TestPort, TestModule
75
- EM.add_timer(2) {EM.stop} # avoid hanging in case of error
76
-
77
- EM.connect TestHost, TestPort, TestClient do |c|
78
- c.data_to { |d| data << d }
79
- end
80
- }
81
-
82
- assert_equal( "A" * 5000, data )
83
- File.unlink TestFilename
84
- end
85
-
86
- # EventMachine::Connection#send_file_data has a strict upper limit on the filesize it will work with.
87
- def test_send_large_file
88
- File.open( TestFilename, "w" ) {|f|
89
- f << ("A" * 1000000)
90
- }
91
-
92
- data = ''
93
-
94
- ex_class = RUBY_PLATFORM == 'java' ? NativeException : RuntimeError
95
- assert_raises( ex_class ) {
96
- EM.run {
97
- EM.start_server TestHost, TestPort, TestModule
98
- EM.add_timer(2) {EM.stop} # avoid hanging in case of error
99
- EM.connect TestHost, TestPort, TestClient do |c|
100
- c.data_to { |d| data << d }
101
- end
102
- }
103
- }
104
-
105
- File.unlink TestFilename
106
- end
107
-
108
-
109
- module StreamTestModule
110
- def post_init
111
- EM::Deferrable.future( stream_file_data(TestFilename)) {
112
- close_connection_after_writing
113
- }
114
- end
115
- end
116
-
117
- module ChunkStreamTestModule
118
- def post_init
119
- EM::Deferrable.future( stream_file_data(TestFilename, :http_chunks=>true)) {
120
- close_connection_after_writing
121
- }
122
- end
123
- end
124
-
125
- def test_stream_file_data
126
- File.open( TestFilename, "w" ) {|f|
127
- f << ("A" * 1000)
128
- }
129
-
130
- data = ''
131
-
132
- EM.run {
133
- EM.start_server TestHost, TestPort, StreamTestModule
134
- EM.add_timer(2) {EM.stop} # avoid hanging in case of error
135
- EM.connect TestHost, TestPort, TestClient do |c|
136
- c.data_to { |d| data << d }
137
- end
138
- }
139
-
140
- assert_equal( "A" * 1000, data )
141
-
142
- File.unlink TestFilename
143
- end
144
-
145
- def test_stream_chunked_file_data
146
- File.open( TestFilename, "w" ) {|f|
147
- f << ("A" * 1000)
148
- }
149
-
150
- data = ''
151
-
152
- EM.run {
153
- EM.start_server TestHost, TestPort, ChunkStreamTestModule
154
- EM.add_timer(2) {EM.stop} # avoid hanging in case of error
155
- EM.connect TestHost, TestPort, TestClient do |c|
156
- c.data_to { |d| data << d }
157
- end
158
- }
159
-
160
- assert_equal( "3e8\r\n#{"A" * 1000}\r\n0\r\n\r\n", data )
161
-
162
- File.unlink TestFilename
163
- end
164
-
165
- module BadFileTestModule
166
- def post_init
167
- de = stream_file_data( TestFilename+"..." )
168
- de.errback {|msg|
169
- send_data msg
170
- close_connection_after_writing
171
- }
172
- end
173
- end
174
- def test_stream_bad_file
175
- data = ''
176
- EM.run {
177
- EM.start_server TestHost, TestPort, BadFileTestModule
178
- EM.add_timer(2) {EM.stop} # avoid hanging in case of error
179
- EM.connect TestHost, TestPort, TestClient do |c|
180
- c.data_to { |d| data << d }
181
- end
182
- }
183
-
184
- assert_equal( "file not found", data )
185
- end
186
-
187
- def test_stream_large_file_data
188
- begin
189
- require 'fastfilereaderext'
190
- rescue LoadError
191
- return
192
- end
193
- File.open( TestFilename, "w" ) {|f|
194
- f << ("A" * 10000)
195
- }
196
-
197
- data = ''
198
-
199
- EM.run {
200
- EM.start_server TestHost, TestPort, StreamTestModule
201
- EM.add_timer(2) {EM.stop} # avoid hanging in case of error
202
- EM.connect TestHost, TestPort, TestClient do |c|
203
- c.data_to { |d| data << d }
204
- end
205
- }
206
-
207
- assert_equal( "A" * 10000, data )
208
-
209
- File.unlink TestFilename
210
- end
211
-
212
- def test_stream_large_chunked_file_data
213
- begin
214
- require 'fastfilereaderext'
215
- rescue LoadError
216
- return
217
- end
218
- File.open( TestFilename, "w" ) {|f|
219
- f << ("A" * 100000)
220
- }
221
-
222
- data = ''
223
-
224
- EM.run {
225
- EM.start_server TestHost, TestPort, ChunkStreamTestModule
226
- EM.add_timer(2) {EM.stop} # avoid hanging in case of error
227
- EM.connect TestHost, TestPort, TestClient do |c|
228
- c.data_to { |d| data << d }
229
- end
230
- }
231
-
232
- expected = [
233
- "4000\r\n#{"A" * 16384}\r\n" * 6,
234
- "6a0\r\n#{"A" * 0x6a0}\r\n",
235
- "0\r\n\r\n"
236
- ].join
237
- assert_equal( expected, data )
238
-
239
- File.unlink TestFilename
240
- end
241
-
242
- end
@@ -1,76 +0,0 @@
1
- # $Id$
2
- #
3
- # Author:: Francis Cianfrocca (gmail: blackhedd)
4
- # Homepage:: http://rubyeventmachine.com
5
- # Date:: 8 April 2006
6
- #
7
- # See EventMachine and EventMachine::Connection for documentation and
8
- # usage examples.
9
- #
10
- #----------------------------------------------------------------------------
11
- #
12
- # Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
13
- # Gmail: blackhedd
14
- #
15
- # This program is free software; you can redistribute it and/or modify
16
- # it under the terms of either: 1) the GNU General Public License
17
- # as published by the Free Software Foundation; either version 2 of the
18
- # License, or (at your option) any later version; or 2) Ruby's License.
19
- #
20
- # See the file COPYING for complete licensing information.
21
- #
22
- #---------------------------------------------------------------------------
23
- #
24
- #
25
- #
26
-
27
- $:.unshift "../lib"
28
- require 'eventmachine'
29
- require 'socket'
30
- require 'test/unit'
31
-
32
- class TestServers < Test::Unit::TestCase
33
-
34
- Host = "127.0.0.1"
35
- Port = 9555
36
-
37
- module NetstatHelper
38
- GlobalUdp4Rexp = /udp.*\s+(?:\*|(?:0\.){3}0)[:.](\d+)\s/i
39
- GlobalTcp4Rexp = /tcp.*\s+(?:\*|(?:0\.){3}0)[:.](\d+)\s/i
40
- LocalUdpRexp = /udp.*\s+(?:127\.0\.0\.1|::1)[:.](\d+)\s/i
41
- LocalTcpRexp = /tcp.*\s+(?:127\.0\.0\.1|::1)[:.](\d+)\s/i
42
- def grep_netstat(pattern)
43
- `netstat -an`.scan(/^.*$/).grep(pattern)
44
- end
45
- end
46
- include NetstatHelper
47
-
48
- class TestStopServer < EM::Connection
49
- def initialize *args
50
- super
51
- end
52
- def post_init
53
- # TODO,sucks that this isn't OOPy enough.
54
- EM.stop_server @server_instance
55
- end
56
- end
57
-
58
- def run_test_stop_server
59
- EM.run {
60
- sig = EM.start_server(Host, Port)
61
- assert(grep_netstat(LocalTcpRexp).grep(%r(#{Port})).size >= 1, "Server didn't start")
62
- EM.stop_server sig
63
- # Give the server some time to shutdown.
64
- EM.add_timer(0.1) {
65
- assert(grep_netstat(LocalTcpRexp).grep(%r(#{Port})).empty?, "Servers didn't stop")
66
- EM.stop
67
- }
68
- }
69
- end
70
- def test_stop_server
71
- assert(grep_netstat(LocalTcpRexp).grep(Port).empty?, "Port already in use")
72
- 5.times {run_test_stop_server}
73
- assert(grep_netstat(LocalTcpRexp).grep(%r(#{Port})).empty?, "Servers didn't stop")
74
- end
75
-
76
- end
@@ -1,83 +0,0 @@
1
- # $Id$
2
- #
3
- # Author:: Francis Cianfrocca (gmail: blackhedd)
4
- # Homepage:: http://rubyeventmachine.com
5
- # Date:: 8 April 2006
6
- #
7
- # See EventMachine and EventMachine::Connection for documentation and
8
- # usage examples.
9
- #
10
- #----------------------------------------------------------------------------
11
- #
12
- # Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
13
- # Gmail: blackhedd
14
- #
15
- # This program is free software; you can redistribute it and/or modify
16
- # it under the terms of either: 1) the GNU General Public License
17
- # as published by the Free Software Foundation; either version 2 of the
18
- # License, or (at your option) any later version; or 2) Ruby's License.
19
- #
20
- # See the file COPYING for complete licensing information.
21
- #
22
- #---------------------------------------------------------------------------
23
- #
24
- #
25
- #
26
-
27
- $:.unshift "../lib"
28
- require 'eventmachine'
29
- require 'test/unit'
30
-
31
- class TestSmtpClient < Test::Unit::TestCase
32
-
33
- Localhost = "127.0.0.1"
34
- Localport = 9801
35
-
36
- def setup
37
- end
38
-
39
- def teardown
40
- end
41
-
42
- def test_a
43
- # No real tests until we have a server implementation to test against.
44
- # This is what the call looks like, though:
45
- err = nil
46
- EM.run {
47
- d = EM::Protocols::SmtpClient.send :domain=>"example.com",
48
- :host=>Localhost,
49
- :port=>Localport, # optional, defaults 25
50
- :starttls=>true,
51
- :from=>"sender@example.com",
52
- :to=> ["to_1@example.com", "to_2@example.com"],
53
- :header=> {"Subject" => "This is a subject line"},
54
- :body=> "This is the body of the email",
55
- :verbose=>true
56
- d.errback {|e|
57
- err = e
58
- EM.stop
59
- }
60
- }
61
- assert(err)
62
- end
63
-
64
- def test_content
65
- err = nil
66
- EM.run {
67
- d = EM::Protocols::SmtpClient.send :domain=>"example.com",
68
- :host=>Localhost,
69
- :port=>Localport, # optional, defaults 25
70
- :starttls=>true,
71
- :from=>"sender@example.com",
72
- :to=> ["to_1@example.com", "to_2@example.com"],
73
- :content => ["Subject: xxx\r\n\r\ndata\r\n.\r\n"],
74
- :verbose=>true
75
- d.errback {|e|
76
- err = e
77
- EM.stop
78
- }
79
- }
80
- assert(err)
81
- end
82
-
83
- end
@@ -1,85 +0,0 @@
1
- # $Id$
2
- #
3
- # Author:: Francis Cianfrocca (gmail: blackhedd)
4
- # Homepage:: http://rubyeventmachine.com
5
- # Date:: 8 April 2006
6
- #
7
- # See EventMachine and EventMachine::Connection for documentation and
8
- # usage examples.
9
- #
10
- #----------------------------------------------------------------------------
11
- #
12
- # Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
13
- # Gmail: blackhedd
14
- #
15
- # This program is free software; you can redistribute it and/or modify
16
- # it under the terms of either: 1) the GNU General Public License
17
- # as published by the Free Software Foundation; either version 2 of the
18
- # License, or (at your option) any later version; or 2) Ruby's License.
19
- #
20
- # See the file COPYING for complete licensing information.
21
- #
22
- #---------------------------------------------------------------------------
23
- #
24
- #
25
- #
26
-
27
- $:.unshift "../lib"
28
- require 'eventmachine'
29
- require 'test/unit'
30
-
31
- class TestSmtpServer < Test::Unit::TestCase
32
-
33
- # Don't test on port 25. It requires superuser and there's probably
34
- # a mail server already running there anyway.
35
- Localhost = "127.0.0.1"
36
- Localport = 25001
37
-
38
- # This class is an example of what you need to write in order
39
- # to implement a mail server. You override the methods you are
40
- # interested in. Some, but not all, of these are illustrated here.
41
- #
42
- class Mailserver < EM::Protocols::SmtpServer
43
-
44
- attr_reader :my_msg_body, :my_sender, :my_recipients
45
-
46
- def initialize *args
47
- super
48
- end
49
- def receive_sender sender
50
- @my_sender = sender
51
- #p sender
52
- true
53
- end
54
- def receive_recipient rcpt
55
- @my_recipients ||= []
56
- @my_recipients << rcpt
57
- true
58
- end
59
- def receive_data_chunk c
60
- @my_msg_body = c.last
61
- end
62
- def connection_ended
63
- EM.stop
64
- end
65
- end
66
-
67
- def test_mail
68
- c = nil
69
- EM.run {
70
- EM.start_server( Localhost, Localport, Mailserver ) {|conn| c = conn}
71
- EM::Timer.new(2) {EM.stop} # prevent hanging the test suite in case of error
72
- EM::Protocols::SmtpClient.send :host=>Localhost,
73
- :port=>Localport,
74
- :domain=>"bogus",
75
- :from=>"me@example.com",
76
- :to=>"you@example.com",
77
- :header=> {"Subject"=>"Email subject line", "Reply-to"=>"me@example.com"},
78
- :body=>"Not much of interest here."
79
-
80
- }
81
- assert_equal( "Not much of interest here.", c.my_msg_body )
82
- assert_equal( "<me@example.com>", c.my_sender )
83
- assert_equal( ["<you@example.com>"], c.my_recipients )
84
- end
85
- end