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,70 +0,0 @@
1
- $:.unshift File.expand_path(File.dirname(__FILE__) + "/../lib")
2
- require 'eventmachine'
3
- require 'socket'
4
- require 'test/unit'
5
-
6
- class TestPause < Test::Unit::TestCase
7
- TestHost = "127.0.0.1"
8
- TestPort = 9070
9
-
10
- def setup
11
- assert(!EM.reactor_running?)
12
- end
13
-
14
- def teardown
15
- assert(!EM.reactor_running?)
16
- end
17
-
18
- #-------------------------------------
19
-
20
- def test_pause_resume
21
- test = self
22
- server = nil
23
-
24
- s_rx = c_rx = 0
25
-
26
- EM.run do
27
- EM.start_server TestHost, TestPort, Module.new {
28
- define_method :post_init do
29
- server = self
30
- end
31
-
32
- define_method :receive_data do |data|
33
- s_rx += 1
34
-
35
- EM.add_periodic_timer(0.01) { send_data 'hi' }
36
- send_data 'hi'
37
-
38
- # pause server, now no outgoing data will actually
39
- # be sent and no more incoming data will be received
40
- pause
41
- end
42
- }
43
-
44
- c = EM.connect TestHost, TestPort, Module.new {
45
- define_method :receive_data do |data|
46
- c_rx += 1
47
- end
48
- }
49
- EM.add_periodic_timer(0.01) { c.send_data 'hi' }
50
-
51
- EM.add_timer(1) do
52
- test.assert_equal 1, s_rx
53
- test.assert_equal 0, c_rx
54
- test.assert server.paused?
55
-
56
- # resume server, queued outgoing and incoming data will be flushed
57
- server.resume
58
-
59
- test.assert ! server.paused?
60
-
61
- EM.add_timer(1) do
62
- test.assert server.paused?
63
- test.assert s_rx >= 2
64
- test.assert c_rx >= 1
65
- EM.stop_event_loop
66
- end
67
- end
68
- end
69
- end
70
- end
@@ -1,48 +0,0 @@
1
- $:.unshift "../lib"
2
- require 'eventmachine'
3
- require 'test/unit'
4
-
5
- class TestPendingConnectTimeout < Test::Unit::TestCase
6
-
7
- def test_default
8
- $timeout = nil
9
- EM.run {
10
- c = EM.connect("127.0.0.1", 54321)
11
- $timeout = c.pending_connect_timeout
12
- EM.stop
13
- }
14
-
15
- assert_equal(20.0, $timeout)
16
- end
17
-
18
- def test_set_and_get
19
- $timeout = nil
20
- EM.run {
21
- c = EM.connect("1.2.3.4", 54321)
22
- c.pending_connect_timeout = 2.5
23
- $timeout = c.pending_connect_timeout
24
- EM.stop
25
- }
26
-
27
- assert_equal(2.5, $timeout)
28
- end
29
-
30
- module TimeoutHandler
31
- def unbind
32
- EM.stop
33
- end
34
- end
35
-
36
- def test_for_real
37
- $timeout = nil
38
- EM.run {
39
- EM.heartbeat_interval = 0.1
40
- $start = Time.now
41
- c = EM.connect("1.2.3.4", 54321, TimeoutHandler)
42
- c.pending_connect_timeout = 5
43
- }
44
-
45
- assert_in_delta(5, (Time.now - $start), 0.3)
46
- end
47
-
48
- end
@@ -1,48 +0,0 @@
1
- $:.unshift "../lib"
2
- require 'eventmachine'
3
- require 'test/unit'
4
-
5
- class TestProcessWatch < Test::Unit::TestCase
6
- module ParentProcessWatcher
7
- def process_forked
8
- $forked = true
9
- end
10
- end
11
-
12
- module ChildProcessWatcher
13
- def process_exited
14
- $exited = true
15
- end
16
- def unbind
17
- $unbind = true
18
- EM.stop
19
- end
20
- end
21
-
22
- def setup
23
- EM.kqueue = true if EM.kqueue?
24
- end
25
-
26
- def teardown
27
- EM.kqueue = false if EM.kqueue?
28
- end
29
-
30
- def test_events
31
- EM.run{
32
- # watch ourselves for a fork notification
33
- EM.watch_process(Process.pid, ParentProcessWatcher)
34
- $fork_pid = fork{ sleep }
35
- child = EM.watch_process($fork_pid, ChildProcessWatcher)
36
- $pid = child.pid
37
-
38
- EM.add_timer(0.5){
39
- Process.kill('TERM', $fork_pid)
40
- }
41
- }
42
-
43
- assert_equal($pid, $fork_pid)
44
- assert($forked)
45
- assert($exited)
46
- assert($unbind)
47
- end
48
- end
@@ -1,128 +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 TestProcesses < Test::Unit::TestCase
32
-
33
- # EM::DeferrableChildProcess is a sugaring of a common use-case
34
- # involving EM::popen.
35
- # Call the #open method on EM::DeferrableChildProcess, passing
36
- # a command-string. #open immediately returns an EM::Deferrable
37
- # object. It also schedules the forking of a child process, which
38
- # will execute the command passed to #open.
39
- # When the forked child terminates, the Deferrable will be signalled
40
- # and execute its callbacks, passing the data that the child process
41
- # wrote to stdout.
42
- #
43
- def test_deferrable_child_process
44
- ls = ""
45
- EM.run {
46
- d = EM::DeferrableChildProcess.open( "ls -ltr" )
47
- d.callback {|data_from_child|
48
- ls = data_from_child
49
- EM.stop
50
- }
51
- }
52
- assert( ls.length > 0)
53
- end
54
-
55
- def setup
56
- $out = nil
57
- $status = nil
58
- end
59
-
60
- def test_em_system
61
- EM.run{
62
- EM.system('ls'){ |out,status| $out, $status = out, status; EM.stop }
63
- }
64
-
65
- assert( $out.length > 0 )
66
- assert_equal($status.exitstatus, 0)
67
- assert_equal($status.class, Process::Status)
68
- end
69
-
70
- def test_em_system_pid
71
- $pids = []
72
-
73
- EM.run{
74
- $pids << EM.system('echo hi', proc{ |out,status|$pids << status.pid; EM.stop })
75
- }
76
-
77
- assert_equal $pids[0], $pids[1]
78
- end
79
-
80
- def test_em_system_with_proc
81
- EM.run{
82
- EM.system('ls', proc{ |out,status| $out, $status = out, status; EM.stop })
83
- }
84
-
85
- assert( $out.length > 0 )
86
- assert_equal($status.exitstatus, 0)
87
- assert_equal($status.class, Process::Status)
88
- end
89
-
90
- def test_em_system_with_two_procs
91
- EM.run{
92
- EM.system('sh', proc{ |process|
93
- process.send_data("echo hello\n")
94
- process.send_data("exit\n")
95
- }, proc{ |out,status|
96
- $out = out
97
- $status = status
98
- EM.stop
99
- })
100
- }
101
-
102
- assert_equal("hello\n", $out)
103
- end
104
-
105
- def test_em_system_cmd_arguments
106
- EM.run{
107
- EM.system('sh', '--version', proc{ |process|
108
- }, proc{ |out,status|
109
- $out = out
110
- $status = status
111
- EM.stop
112
- })
113
- }
114
-
115
- assert_match(/version/i, $out)
116
- end
117
-
118
- def test_em_system_spaced_arguments
119
- EM.run{
120
- EM.system('ruby', '-e', 'puts "hello"', proc{ |out,status|
121
- $out = out
122
- EM.stop
123
- })
124
- }
125
-
126
- assert_equal("hello\n", $out)
127
- end
128
- end
@@ -1,92 +0,0 @@
1
- $:.unshift "../lib"
2
- require 'eventmachine'
3
- require 'test/unit'
4
-
5
- class TestProxyConnection < Test::Unit::TestCase
6
-
7
- module ProxyConnection
8
- def initialize(client, request)
9
- @client, @request = client, request
10
- end
11
-
12
- def post_init
13
- EM::enable_proxy(self, @client)
14
- end
15
-
16
- def connection_completed
17
- EM.next_tick {
18
- send_data @request
19
- }
20
- end
21
-
22
- def proxy_target_unbound
23
- $unbound_early = true
24
- EM.stop
25
- end
26
-
27
- def unbind
28
- @client.close_connection_after_writing
29
- end
30
- end
31
-
32
- module Client
33
- def connection_completed
34
- send_data "EventMachine rocks!"
35
- end
36
-
37
- def receive_data(data)
38
- $client_data = data
39
- end
40
-
41
- def unbind
42
- EM.stop
43
- end
44
- end
45
-
46
- module Client2
47
- include Client
48
- def unbind; end
49
- end
50
-
51
- module Server
52
- def receive_data(data)
53
- send_data "I know!" if data == "EventMachine rocks!"
54
- close_connection_after_writing
55
- end
56
- end
57
-
58
- module ProxyServer
59
- def receive_data(data)
60
- EM.connect("127.0.0.1", 54321, ProxyConnection, self, data)
61
- end
62
- end
63
-
64
- module EarlyClosingProxy
65
- def receive_data(data)
66
- EM.connect("127.0.0.1", 54321, ProxyConnection, self, data)
67
- close_connection
68
- end
69
- end
70
-
71
- def test_proxy_connection
72
- EM.run {
73
- EM.start_server("127.0.0.1", 54321, Server)
74
- EM.start_server("127.0.0.1", 12345, ProxyServer)
75
- EM.connect("127.0.0.1", 12345, Client)
76
- }
77
-
78
- assert_equal("I know!", $client_data)
79
- end
80
-
81
- def test_early_close
82
- $client_data = nil
83
- EM.run {
84
- EM.start_server("127.0.0.1", 54321, Server)
85
- EM.start_server("127.0.0.1", 12345, EarlyClosingProxy)
86
- EM.connect("127.0.0.1", 12345, Client2)
87
- }
88
-
89
- assert($unbound_early)
90
- end
91
-
92
- end
@@ -1,125 +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 TestPure < Test::Unit::TestCase
32
-
33
-
34
- Host,Port = "0.0.0.0", 9060
35
-
36
-
37
- # These tests are intended to exercise problems that come up in the
38
- # pure-Ruby implementation. However, we DON'T constrain them such that
39
- # they only run in pure-Ruby. These tests need to work identically in
40
- # any implementation.
41
-
42
- def setup
43
- end
44
-
45
- def teardown
46
- end
47
-
48
- #-------------------------------------
49
-
50
- # The EM reactor needs to run down open connections and release other resources
51
- # when it stops running. Make sure this happens even if user code throws a Ruby
52
- # exception.
53
- # One way to see this is to run identical tests that open a TCP server and throw
54
- # an exception. (We do this twice because an exception aborts a test. We make the
55
- # two tests identical except for the method name because we can't predict the order
56
- # in which the test harness will run them.)
57
- # If exception handling is incorrect, the second test will fail with a no-bind error
58
- # because the TCP server opened in the first test will not have been closed.
59
- #
60
- def run_exception
61
- EM.run {
62
- EM.start_server Host, Port
63
- raise "an exception"
64
- }
65
- end
66
- def test_exception_1
67
- assert_raises( RuntimeError ) { run_exception }
68
- end
69
- def test_exception_2
70
- ex_class = RUBY_PLATFORM == 'java' ? NativeException : RuntimeError
71
- assert_raises( ex_class ) { run_exception }
72
- end
73
-
74
-
75
- # Under some circumstances, the pure Ruby library would emit an Errno::ECONNREFUSED
76
- # exception on certain kinds of TCP connect-errors.
77
- # It's always been something of an open question whether EM should throw an exception
78
- # in these cases but the defined answer has always been to catch it the unbind method.
79
- # With a connect failure, the latter will always fire, but connection_completed will
80
- # never fire. So even though the point is arguable, it's incorrect for the pure Ruby
81
- # version to throw an exception.
82
- module TestConnrefused
83
- def unbind
84
- EM.stop
85
- end
86
- def connection_completed
87
- raise "should never get here"
88
- end
89
- end
90
- def test_connrefused
91
- EM.run {
92
- EM.connect "0.0.0.0", 60001, TestConnrefused
93
- }
94
- end
95
-
96
-
97
- # Make sure connection_completed gets called as expected with TCP clients. This is the
98
- # opposite of test_connrefused.
99
- # If the test fails, it will hang because EM.stop never gets called.
100
- #
101
- module TestConnaccepted
102
- def connection_completed
103
- EM.stop
104
- end
105
- end
106
- def test_connaccepted
107
- timeout = false
108
- EM.run {
109
- EM.start_server "0.0.0.0", 60002
110
- EM.connect "0.0.0.0", 60002, TestConnaccepted
111
- EM::Timer.new(1) {timeout = true; EM.stop}
112
- }
113
- assert_equal( false, timeout )
114
- end
115
-
116
- def test_reactor_running
117
- a = false
118
- EM.run {
119
- a = EM.reactor_running?
120
- EM.next_tick {EM.stop}
121
- }
122
- assert a
123
- end
124
-
125
- end
@@ -1,44 +0,0 @@
1
- $:.unshift "../lib"
2
- require 'eventmachine'
3
- require 'test/unit'
4
-
5
- class TestEventMachineQueue < Test::Unit::TestCase
6
- def test_queue_push
7
- s = 0
8
- EM.run do
9
- q = EM::Queue.new
10
- q.push(1)
11
- EM.next_tick { s = q.size; EM.stop }
12
- end
13
- assert_equal 1, s
14
- end
15
-
16
- def test_queue_pop
17
- x,y,z = nil
18
- EM.run do
19
- q = EM::Queue.new
20
- q.push(1,2,3)
21
- q.pop { |v| x = v }
22
- q.pop { |v| y = v }
23
- q.pop { |v| z = v; EM.stop }
24
- end
25
- assert_equal 1, x
26
- assert_equal 2, y
27
- assert_equal 3, z
28
- end
29
-
30
- def test_queue_reactor_thread
31
- q = EM::Queue.new
32
-
33
- Thread.new { q.push(1,2,3) }.join
34
- assert q.empty?
35
- EM.run { EM.next_tick { EM.stop } }
36
- assert_equal 3, q.size
37
-
38
- x = nil
39
- Thread.new { q.pop { |v| x = v } }.join
40
- assert_equal nil, x
41
- EM.run { EM.next_tick { EM.stop } }
42
- assert_equal 1, x
43
- end
44
- end
@@ -1,42 +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 TestRunning < Test::Unit::TestCase
32
- def test_running
33
- assert_equal( false, EM::reactor_running? )
34
- r = false
35
- EM.run {
36
- r = EM::reactor_running?
37
- EM.stop
38
- }
39
- assert_equal( true, r )
40
- end
41
- end
42
-
@@ -1,72 +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
-
32
- class TestSASL < Test::Unit::TestCase
33
-
34
- # SASL authentication is usually done with UNIX-domain sockets, but
35
- # we'll use TCP so this test will work on Windows. As far as the
36
- # protocol handlers are concerned, there's no difference.
37
-
38
- Host,Port = "127.0.0.1",9560
39
- TestUser,TestPsw = "someone", "password"
40
-
41
- class SaslServer < EM::Connection
42
- include EM::Protocols::SASLauth
43
- def validate usr, psw, sys, realm
44
- usr == TestUser and psw == TestPsw
45
- end
46
- end
47
-
48
- class SaslClient < EM::Connection
49
- include EM::Protocols::SASLauthclient
50
- end
51
-
52
- def test_sasl
53
- resp = nil
54
- EM.run {
55
- EM.start_server( Host, Port, SaslServer )
56
-
57
- c = EM.connect( Host, Port, SaslClient )
58
- d = c.validate?( TestUser, TestPsw )
59
- d.timeout 2
60
- d.callback {
61
- resp = true
62
- EM.stop
63
- }
64
- d.errback {
65
- resp = false
66
- EM.stop
67
- }
68
- }
69
- assert_equal( true, resp )
70
- end
71
-
72
- end