vines 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/README +1 -1
  2. data/Rakefile +12 -2
  3. data/conf/config.rb +1 -0
  4. data/lib/vines/config.rb +8 -0
  5. data/lib/vines/contact.rb +2 -4
  6. data/lib/vines/error.rb +1 -1
  7. data/lib/vines/router.rb +26 -18
  8. data/lib/vines/stanza/presence.rb +3 -1
  9. data/lib/vines/stanza.rb +8 -1
  10. data/lib/vines/stream/client/bind.rb +9 -1
  11. data/lib/vines/stream/client/session.rb +146 -0
  12. data/lib/vines/stream/client.rb +19 -78
  13. data/lib/vines/stream/component.rb +6 -2
  14. data/lib/vines/stream/http/auth.rb +22 -0
  15. data/lib/vines/stream/http/bind.rb +32 -0
  16. data/lib/vines/stream/http/bind_restart.rb +36 -0
  17. data/lib/vines/stream/http/ready.rb +25 -0
  18. data/lib/vines/stream/http/request.rb +33 -0
  19. data/lib/vines/stream/http/session.rb +116 -0
  20. data/lib/vines/stream/http/sessions.rb +65 -0
  21. data/lib/vines/stream/http/start.rb +23 -0
  22. data/lib/vines/stream/http.rb +119 -77
  23. data/lib/vines/stream/server.rb +8 -3
  24. data/lib/vines/stream/state.rb +6 -1
  25. data/lib/vines/stream.rb +31 -19
  26. data/lib/vines/user.rb +2 -4
  27. data/lib/vines/version.rb +1 -1
  28. data/lib/vines.rb +10 -4
  29. data/test/config_test.rb +34 -33
  30. data/test/contact_test.rb +42 -0
  31. data/test/error_test.rb +2 -2
  32. data/test/jid_test.rb +7 -7
  33. data/test/kit_test.rb +10 -10
  34. data/test/rake_test_loader.rb +9 -0
  35. data/test/router_test.rb +4 -3
  36. data/test/stanza/iq/roster_test.rb +8 -10
  37. data/test/stanza/iq/session_test.rb +2 -3
  38. data/test/stanza/iq/vcard_test.rb +4 -5
  39. data/test/stanza/message_test.rb +17 -11
  40. data/test/stanza/presence/subscribe_test.rb +3 -4
  41. data/test/storage/couchdb_test.rb +9 -10
  42. data/test/storage/ldap_test.rb +30 -37
  43. data/test/storage/local_test.rb +6 -6
  44. data/test/storage/redis_test.rb +6 -6
  45. data/test/storage/sql_test.rb +5 -5
  46. data/test/storage/storage_tests.rb +11 -11
  47. data/test/storage_test.rb +4 -5
  48. data/test/stream/client/auth_test.rb +15 -16
  49. data/test/stream/client/ready_test.rb +4 -5
  50. data/test/stream/client/session_test.rb +21 -0
  51. data/test/stream/component/handshake_test.rb +6 -7
  52. data/test/stream/component/ready_test.rb +9 -10
  53. data/test/stream/component/start_test.rb +6 -7
  54. data/test/stream/http/auth_test.rb +68 -0
  55. data/test/stream/http/ready_test.rb +56 -0
  56. data/test/stream/http/sessions_test.rb +50 -0
  57. data/test/stream/http/start_test.rb +51 -0
  58. data/test/stream/parser_test.rb +5 -5
  59. data/test/stream/server/outbound/auth_test.rb +12 -13
  60. data/test/stream/server/ready_test.rb +10 -11
  61. data/test/token_bucket_test.rb +7 -7
  62. data/test/user_test.rb +8 -6
  63. metadata +45 -14
  64. data/lib/vines/stream/http/http_request.rb +0 -22
  65. data/lib/vines/stream/http/http_state.rb +0 -139
  66. data/lib/vines/stream/http/http_states.rb +0 -53
@@ -1,10 +1,9 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require 'vines'
4
- require 'minitest/mock'
5
- require 'test/unit'
4
+ require 'minitest/autorun'
6
5
 
7
- class LdapTest < Test::Unit::TestCase
6
+ class LdapTest < MiniTest::Unit::TestCase
8
7
  ALICE_DN = 'uid=alice@wondlerand.lit,ou=People,dc=wonderland,dc=lit'
9
8
  CONTEXT = {}
10
9
 
@@ -29,31 +28,27 @@ class LdapTest < Test::Unit::TestCase
29
28
  end
30
29
  end
31
30
 
32
- def test_default_host_and_port
33
- assert_nothing_raised do
34
- Vines::Storage::Ldap.new do
35
- tls true
36
- dn 'cn=Directory Manager'
37
- password 'secr3t'
38
- basedn 'dc=wonderland,dc=lit'
39
- object_class 'person'
40
- user_attr 'uid'
41
- name_attr 'cn'
42
- end
31
+ def test_default_host_and_port_raises_no_errors
32
+ Vines::Storage::Ldap.new do
33
+ tls true
34
+ dn 'cn=Directory Manager'
35
+ password 'secr3t'
36
+ basedn 'dc=wonderland,dc=lit'
37
+ object_class 'person'
38
+ user_attr 'uid'
39
+ name_attr 'cn'
43
40
  end
44
41
  end
45
42
 
46
- def test_configured_host_and_port
47
- assert_nothing_raised do
48
- Vines::Storage::Ldap.new('0.0.0.1', 42) do
49
- tls true
50
- dn 'cn=Directory Manager'
51
- password 'secr3t'
52
- basedn 'dc=wonderland,dc=lit'
53
- object_class 'person'
54
- user_attr 'uid'
55
- name_attr 'cn'
56
- end
43
+ def test_configured_host_and_port_raises_no_errors
44
+ Vines::Storage::Ldap.new('0.0.0.1', 42) do
45
+ tls true
46
+ dn 'cn=Directory Manager'
47
+ password 'secr3t'
48
+ basedn 'dc=wonderland,dc=lit'
49
+ object_class 'person'
50
+ user_attr 'uid'
51
+ name_attr 'cn'
57
52
  end
58
53
  end
59
54
 
@@ -78,17 +73,15 @@ class LdapTest < Test::Unit::TestCase
78
73
  end
79
74
 
80
75
  # Make sure we properly handle boolean false values.
81
- def test_false_tls
82
- assert_nothing_raised do
83
- Vines::Storage::Ldap.new do
84
- tls false
85
- dn 'cn=Directory Manager'
86
- password 'secr3t'
87
- basedn 'dc=wonderland,dc=lit'
88
- object_class 'person'
89
- user_attr 'uid'
90
- name_attr 'cn'
91
- end
76
+ def test_false_tls_raises_no_errors
77
+ Vines::Storage::Ldap.new do
78
+ tls false
79
+ dn 'cn=Directory Manager'
80
+ password 'secr3t'
81
+ basedn 'dc=wonderland,dc=lit'
82
+ object_class 'person'
83
+ user_attr 'uid'
84
+ name_attr 'cn'
92
85
  end
93
86
  end
94
87
 
@@ -181,7 +174,7 @@ class LdapTest < Test::Unit::TestCase
181
174
  mock.expect(:bind, true)
182
175
  end
183
176
  user = ldap.authenticate('alice@wonderland.lit', 'passw0rd')
184
- assert_not_nil user
177
+ refute_nil user
185
178
  assert_equal 'alice@wonderland.lit', user.jid.to_s
186
179
  assert_equal 'Alice Liddell', user.name
187
180
  assert_equal [], user.roster
@@ -2,9 +2,9 @@
2
2
 
3
3
  require 'storage_tests'
4
4
  require 'vines'
5
- require 'test/unit'
5
+ require 'minitest/autorun'
6
6
 
7
- class LocalTest < Test::Unit::TestCase
7
+ class LocalTest < MiniTest::Unit::TestCase
8
8
  include StorageTests
9
9
 
10
10
  def setup
@@ -46,9 +46,9 @@ class LocalTest < Test::Unit::TestCase
46
46
  end
47
47
 
48
48
  def test_init
49
- assert_raise(RuntimeError) { Vines::Storage::Local.new {} }
50
- assert_raise(RuntimeError) { Vines::Storage::Local.new { dir 'bogus' } }
51
- assert_raise(RuntimeError) { Vines::Storage::Local.new { dir '/sbin' } }
52
- assert_nothing_raised { Vines::Storage::Local.new { dir '.' } }
49
+ assert_raises(RuntimeError) { Vines::Storage::Local.new {} }
50
+ assert_raises(RuntimeError) { Vines::Storage::Local.new { dir 'bogus' } }
51
+ assert_raises(RuntimeError) { Vines::Storage::Local.new { dir '/sbin' } }
52
+ Vines::Storage::Local.new { dir '.' } # shouldn't raise an error
53
53
  end
54
54
  end
@@ -2,9 +2,9 @@
2
2
 
3
3
  require 'storage_tests'
4
4
  require 'vines'
5
- require 'test/unit'
5
+ require 'minitest/autorun'
6
6
 
7
- class RedisTest < Test::Unit::TestCase
7
+ class RedisTest < MiniTest::Unit::TestCase
8
8
  include StorageTests
9
9
 
10
10
  MOCK_REDIS = Class.new do
@@ -65,11 +65,11 @@ class RedisTest < Test::Unit::TestCase
65
65
  storage
66
66
  end
67
67
 
68
- def test_init
68
+ def test_init_raises_no_errors
69
69
  EMLoop.new do
70
- assert_nothing_raised { Vines::Storage::Redis.new {} }
71
- assert_nothing_raised { Vines::Storage::Redis.new { host 'localhost' } }
72
- assert_nothing_raised { Vines::Storage::Redis.new { host'localhost'; port '6379' } }
70
+ Vines::Storage::Redis.new {}
71
+ Vines::Storage::Redis.new { host 'localhost' }
72
+ Vines::Storage::Redis.new { host'localhost'; port '6379' }
73
73
  end
74
74
  end
75
75
  end
@@ -2,9 +2,9 @@
2
2
 
3
3
  require 'storage_tests'
4
4
  require 'vines'
5
- require 'test/unit'
5
+ require 'minitest/autorun'
6
6
 
7
- class SqlTest < Test::Unit::TestCase
7
+ class SqlTest < MiniTest::Unit::TestCase
8
8
  include StorageTests
9
9
 
10
10
  DB_FILE = "./xmpp_testcase.db"
@@ -48,8 +48,8 @@ class SqlTest < Test::Unit::TestCase
48
48
  end
49
49
 
50
50
  def test_init
51
- assert_raise(RuntimeError) { Vines::Storage::Sql.new {} }
52
- assert_raise(RuntimeError) { Vines::Storage::Sql.new { adapter 'postgresql' } }
53
- assert_nothing_raised { Vines::Storage::Sql.new { adapter 'sqlite3'; database ':memory:' } }
51
+ assert_raises(RuntimeError) { Vines::Storage::Sql.new {} }
52
+ assert_raises(RuntimeError) { Vines::Storage::Sql.new { adapter 'postgresql' } }
53
+ Vines::Storage::Sql.new { adapter 'sqlite3'; database ':memory:' } # shouldn't raise an error
54
54
  end
55
55
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'vines'
4
4
  require 'ext/nokogiri'
5
- require 'test/unit'
5
+ require 'minitest/autorun'
6
6
 
7
7
  # Mixin methods for storage implementation test classes. The behavioral
8
8
  # tests are the same regardless of implementation so share those methods
@@ -37,11 +37,11 @@ module StorageTests
37
37
  assert_nil db.authenticate('clear_password@wonderland.lit', 'secret')
38
38
 
39
39
  user = db.authenticate('bcrypt_password@wonderland.lit', 'secret')
40
- assert_not_nil user
40
+ refute_nil user
41
41
  assert_equal('bcrypt_password@wonderland.lit', user.jid.to_s)
42
42
 
43
43
  user = db.authenticate('full@wonderland.lit', 'secret')
44
- assert_not_nil user
44
+ refute_nil user
45
45
  assert_equal 'Tester', user.name
46
46
  assert_equal 'full@wonderland.lit', user.jid.to_s
47
47
 
@@ -67,15 +67,15 @@ module StorageTests
67
67
  assert_nil user
68
68
 
69
69
  user = db.find_user('full@wonderland.lit')
70
- assert_not_nil user
70
+ refute_nil user
71
71
  assert_equal 'full@wonderland.lit', user.jid.to_s
72
72
 
73
73
  user = db.find_user(Vines::JID.new('full@wonderland.lit'))
74
- assert_not_nil user
74
+ refute_nil user
75
75
  assert_equal 'full@wonderland.lit', user.jid.to_s
76
76
 
77
77
  user = db.find_user(Vines::JID.new('full@wonderland.lit/resource'))
78
- assert_not_nil user
78
+ refute_nil user
79
79
  assert_equal 'full@wonderland.lit', user.jid.to_s
80
80
  end
81
81
  end
@@ -92,7 +92,7 @@ module StorageTests
92
92
  :name => 'Contact 1')
93
93
  db.save_user(user)
94
94
  user = db.find_user('save_user@domain.tld')
95
- assert_not_nil user
95
+ refute_nil user
96
96
  assert_equal 'save_user@domain.tld', user.jid.to_s
97
97
  assert_equal 'Save User', user.name
98
98
  assert_equal 1, user.roster.length
@@ -108,15 +108,15 @@ module StorageTests
108
108
  assert_nil card
109
109
 
110
110
  card = db.find_vcard('full@wonderland.lit')
111
- assert_not_nil card
111
+ refute_nil card
112
112
  assert_equal VCARD, card
113
113
 
114
114
  card = db.find_vcard(Vines::JID.new('full@wonderland.lit'))
115
- assert_not_nil card
115
+ refute_nil card
116
116
  assert_equal VCARD, card
117
117
 
118
118
  card = db.find_vcard(Vines::JID.new('full@wonderland.lit/resource'))
119
- assert_not_nil card
119
+ refute_nil card
120
120
  assert_equal VCARD, card
121
121
  end
122
122
  end
@@ -127,7 +127,7 @@ module StorageTests
127
127
  db.save_user(Vines::User.new(:jid => 'save_user@domain.tld'))
128
128
  db.save_vcard('save_user@domain.tld/resource1', VCARD)
129
129
  card = db.find_vcard('save_user@domain.tld')
130
- assert_not_nil card
130
+ refute_nil card
131
131
  assert_equal VCARD, card
132
132
  end
133
133
  end
data/test/storage_test.rb CHANGED
@@ -2,10 +2,9 @@
2
2
 
3
3
  require 'storage_tests'
4
4
  require 'vines'
5
- require 'minitest/mock'
6
- require 'test/unit'
5
+ require 'minitest/autorun'
7
6
 
8
- class StorageTest < Test::Unit::TestCase
7
+ class StorageTest < MiniTest::Unit::TestCase
9
8
  ALICE = 'alice@wonderland.lit'.freeze
10
9
 
11
10
  class MockLdapStorage < Vines::Storage
@@ -64,7 +63,7 @@ class StorageTest < Test::Unit::TestCase
64
63
  storage = MockLdapStorage.new(alice)
65
64
  storage.ldap.expect(:authenticate, alice, [ALICE, 'secr3t'])
66
65
  user = storage.authenticate(ALICE, 'secr3t')
67
- assert_not_nil user
66
+ refute_nil user
68
67
  assert_equal ALICE, user.jid.to_s
69
68
  assert_equal 0, storage.authenticate_calls
70
69
  assert_equal 1, storage.find_user_calls
@@ -79,7 +78,7 @@ class StorageTest < Test::Unit::TestCase
79
78
  storage = MockLdapStorage.new
80
79
  storage.ldap.expect(:authenticate, alice, [ALICE, 'secr3t'])
81
80
  user = storage.authenticate(ALICE, 'secr3t')
82
- assert_not_nil user
81
+ refute_nil user
83
82
  assert_equal ALICE, user.jid.to_s
84
83
  assert_equal 0, storage.authenticate_calls
85
84
  assert_equal 1, storage.find_user_calls
@@ -1,10 +1,9 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require 'vines'
4
- require 'minitest/mock'
5
- require 'test/unit'
4
+ require 'minitest/autorun'
6
5
 
7
- class ClientAuthTest < Test::Unit::TestCase
6
+ class ClientAuthTest < MiniTest::Unit::TestCase
8
7
  # disable logging for tests
9
8
  Class.new.extend(Vines::Log).log.level = Logger::FATAL
10
9
 
@@ -34,42 +33,42 @@ class ClientAuthTest < Test::Unit::TestCase
34
33
 
35
34
  def test_invalid_element
36
35
  node = node('<bogus/>')
37
- assert_raise(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
36
+ assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
38
37
  end
39
38
 
40
39
  def test_invalid_sasl_element
41
40
  node = node(%Q{<bogus xmlns="#{Vines::NAMESPACES[:sasl]}"/>})
42
- assert_raise(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
41
+ assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
43
42
  end
44
43
 
45
44
  def test_missing_namespace
46
45
  node = node('<auth/>')
47
- assert_raise(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
46
+ assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
48
47
  end
49
48
 
50
49
  def test_invalid_namespace
51
50
  node = node('<auth xmlns="bogus"/>')
52
- assert_raise(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
51
+ assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
53
52
  end
54
53
 
55
54
  def test_missing_mechanism
56
55
  @stream.expect(:error, nil, [Vines::SaslErrors::InvalidMechanism.new])
57
56
  node = node(%Q{<auth xmlns="#{Vines::NAMESPACES[:sasl]}">tokens</auth>})
58
- assert_nothing_raised { @state.node(node) }
57
+ @state.node(node)
59
58
  assert @stream.verify
60
59
  end
61
60
 
62
61
  def test_invalid_mechanism
63
62
  @stream.expect(:error, nil, [Vines::SaslErrors::InvalidMechanism.new])
64
63
  node = node(%Q{<auth xmlns="#{Vines::NAMESPACES[:sasl]}" mechanism="bogus">tokens</auth>})
65
- assert_nothing_raised { @state.node(node) }
64
+ @state.node(node)
66
65
  assert @stream.verify
67
66
  end
68
67
 
69
68
  def test_missing_text
70
69
  @stream.expect(:error, nil, [Vines::SaslErrors::MalformedRequest.new])
71
70
  node = node(%Q{<auth xmlns="#{Vines::NAMESPACES[:sasl]}" mechanism="PLAIN"></auth>})
72
- assert_nothing_raised { @state.node(node) }
71
+ @state.node(node)
73
72
  assert @stream.verify
74
73
  end
75
74
 
@@ -77,7 +76,7 @@ class ClientAuthTest < Test::Unit::TestCase
77
76
  @stream.expect(:storage, MockStorage.new(true))
78
77
  @stream.expect(:error, nil, [Vines::SaslErrors::TemporaryAuthFailure.new])
79
78
  node = node(%Q{<auth xmlns="#{Vines::NAMESPACES[:sasl]}" mechanism="PLAIN">tokens</auth>})
80
- assert_nothing_raised { @state.node(node) }
79
+ @state.node(node)
81
80
  assert @stream.verify
82
81
  end
83
82
 
@@ -85,7 +84,7 @@ class ClientAuthTest < Test::Unit::TestCase
85
84
  @stream.expect(:storage, MockStorage.new)
86
85
  @stream.expect(:error, nil, [Vines::SaslErrors::NotAuthorized.new])
87
86
  node = node(%Q{<auth xmlns="#{Vines::NAMESPACES[:sasl]}" mechanism="PLAIN">#{Base64.encode64("alice@wonderland.lit\000\000bogus")}</auth>})
88
- assert_nothing_raised { @state.node(node) }
87
+ @state.node(node)
89
88
  assert @stream.verify
90
89
  end
91
90
 
@@ -97,7 +96,7 @@ class ClientAuthTest < Test::Unit::TestCase
97
96
  @stream.expect(:write, nil, [%Q{<success xmlns="#{Vines::NAMESPACES[:sasl]}"/>}])
98
97
  @stream.expect(:advance, nil, [Vines::Stream::Client::BindRestart.new(@stream)])
99
98
  node = node(%Q{<auth xmlns="#{Vines::NAMESPACES[:sasl]}" mechanism="PLAIN">#{Base64.encode64("alice@wonderland.lit\000\000secr3t")}</auth>})
100
- assert_nothing_raised { @state.node(node) }
99
+ @state.node(node)
101
100
  assert @stream.verify
102
101
  end
103
102
 
@@ -108,14 +107,14 @@ class ClientAuthTest < Test::Unit::TestCase
108
107
  end
109
108
 
110
109
  @stream.expect(:error, nil, [Vines::SaslErrors::NotAuthorized.new])
111
- assert_nothing_raised { @state.node(node.call) }
110
+ @state.node(node.call)
112
111
  assert @stream.verify
113
112
 
114
- assert_nothing_raised { @state.node(node.call) }
113
+ @state.node(node.call)
115
114
  assert @stream.verify
116
115
 
117
116
  @stream.expect(:error, nil, [Vines::StreamErrors::PolicyViolation.new])
118
- assert_nothing_raised { @state.node(node.call) }
117
+ @state.node(node.call)
119
118
  assert @stream.verify
120
119
  end
121
120
 
@@ -1,10 +1,9 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require 'vines'
4
- require 'minitest/mock'
5
- require 'test/unit'
4
+ require 'minitest/autorun'
6
5
 
7
- class ClientReadyTest < Test::Unit::TestCase
6
+ class ClientReadyTest < MiniTest::Unit::TestCase
8
7
  STANZAS = []
9
8
 
10
9
  def setup
@@ -28,14 +27,14 @@ class ClientReadyTest < Test::Unit::TestCase
28
27
 
29
28
  def test_good_node_processes
30
29
  node = node('<message/>')
31
- assert_nothing_raised { @state.node(node) }
30
+ @state.node(node)
32
31
  assert_equal 1, STANZAS.size
33
32
  assert STANZAS.map {|s| s.verify }.all?
34
33
  end
35
34
 
36
35
  def test_unsupported_stanza_type
37
36
  node = node('<bogus/>')
38
- assert_raise(Vines::StreamErrors::UnsupportedStanzaType) { @state.node(node) }
37
+ assert_raises(Vines::StreamErrors::UnsupportedStanzaType) { @state.node(node) }
39
38
  assert STANZAS.empty?
40
39
  end
41
40
 
@@ -0,0 +1,21 @@
1
+ # encoding: UTF-8
2
+
3
+ require 'vines'
4
+ require 'minitest/autorun'
5
+
6
+ class ClientSessionTest < MiniTest::Unit::TestCase
7
+ def test_equality
8
+ one = Vines::Stream::Client::Session.new(nil)
9
+ two = Vines::Stream::Client::Session.new(nil)
10
+
11
+ assert_nil one <=> 42
12
+
13
+ assert one == one
14
+ assert one.eql?(one)
15
+ assert one.hash == one.hash
16
+
17
+ refute one == two
18
+ refute one.eql?(two)
19
+ refute one.hash == two.hash
20
+ end
21
+ end
@@ -1,10 +1,9 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require 'vines'
4
- require 'minitest/mock'
5
- require 'test/unit'
4
+ require 'minitest/autorun'
6
5
 
7
- class HandshakeTest < Test::Unit::TestCase
6
+ class HandshakeTest < MiniTest::Unit::TestCase
8
7
  def setup
9
8
  @stream = MiniTest::Mock.new
10
9
  @state = Vines::Stream::Component::Handshake.new(@stream)
@@ -12,20 +11,20 @@ class HandshakeTest < Test::Unit::TestCase
12
11
 
13
12
  def test_invalid_element
14
13
  node = node('<message/>')
15
- assert_raise(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
14
+ assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
16
15
  end
17
16
 
18
17
  def test_missing_text
19
18
  @stream.expect(:secret, 'secr3t')
20
19
  node = node('<handshake/>')
21
- assert_raise(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
20
+ assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
22
21
  assert @stream.verify
23
22
  end
24
23
 
25
24
  def test_invalid_secret
26
25
  @stream.expect(:secret, 'secr3t')
27
26
  node = node('<handshake>bogus</handshake>')
28
- assert_raise(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
27
+ assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
29
28
  assert @stream.verify
30
29
  end
31
30
 
@@ -34,7 +33,7 @@ class HandshakeTest < Test::Unit::TestCase
34
33
  @stream.expect(:write, nil, ['<handshake/>'])
35
34
  @stream.expect(:advance, nil, [Vines::Stream::Component::Ready.new(@stream)])
36
35
  node = node('<handshake>secr3t</handshake>')
37
- assert_nothing_raised { @state.node(node) }
36
+ @state.node(node)
38
37
  assert @stream.verify
39
38
  end
40
39
 
@@ -2,10 +2,9 @@
2
2
 
3
3
  require 'vines'
4
4
  require 'ext/nokogiri'
5
- require 'minitest/mock'
6
- require 'test/unit'
5
+ require 'minitest/autorun'
7
6
 
8
- class ComponentReadyTest < Test::Unit::TestCase
7
+ class ComponentReadyTest < MiniTest::Unit::TestCase
9
8
  STANZAS = []
10
9
 
11
10
  def setup
@@ -34,7 +33,7 @@ class ComponentReadyTest < Test::Unit::TestCase
34
33
 
35
34
  def test_missing_to_and_from_addresses
36
35
  node = node('<message/>')
37
- assert_raise(Vines::StreamErrors::ImproperAddressing) { @state.node(node) }
36
+ assert_raises(Vines::StreamErrors::ImproperAddressing) { @state.node(node) }
38
37
  assert_equal 1, STANZAS.size
39
38
  assert @stream.verify
40
39
  end
@@ -42,14 +41,14 @@ class ComponentReadyTest < Test::Unit::TestCase
42
41
  def test_missing_from_address
43
42
  @stream.expect(:remote_domain, 'tea.wonderland.lit')
44
43
  node = node(%q{<message to="hatter@wonderland.lit"/>})
45
- assert_raise(Vines::StreamErrors::ImproperAddressing) { @state.node(node) }
44
+ assert_raises(Vines::StreamErrors::ImproperAddressing) { @state.node(node) }
46
45
  assert_equal 1, STANZAS.size
47
46
  assert @stream.verify
48
47
  end
49
48
 
50
49
  def test_missing_to_address
51
50
  node = node(%q{<message from="alice@tea.wonderland.lit"/>})
52
- assert_raise(Vines::StreamErrors::ImproperAddressing) { @state.node(node) }
51
+ assert_raises(Vines::StreamErrors::ImproperAddressing) { @state.node(node) }
53
52
  assert_equal 1, STANZAS.size
54
53
  assert @stream.verify
55
54
  end
@@ -57,14 +56,14 @@ class ComponentReadyTest < Test::Unit::TestCase
57
56
  def test_invalid_from_address
58
57
  @stream.expect(:remote_domain, 'tea.wonderland.lit')
59
58
  node = node(%q{<message from="alice@bogus.wonderland.lit" to="hatter@wonderland.lit"/>})
60
- assert_raise(Vines::StreamErrors::ImproperAddressing) { @state.node(node) }
59
+ assert_raises(Vines::StreamErrors::ImproperAddressing) { @state.node(node) }
61
60
  assert_equal 1, STANZAS.size
62
61
  assert @stream.verify
63
62
  end
64
63
 
65
64
  def test_unsupported_stanza_type
66
65
  node = node('<bogus/>')
67
- assert_raise(Vines::StreamErrors::UnsupportedStanzaType) { @state.node(node) }
66
+ assert_raises(Vines::StreamErrors::UnsupportedStanzaType) { @state.node(node) }
68
67
  assert STANZAS.empty?
69
68
  assert @stream.verify
70
69
  end
@@ -72,7 +71,7 @@ class ComponentReadyTest < Test::Unit::TestCase
72
71
  def test_remote_message_routes
73
72
  @stream.expect(:remote_domain, 'tea.wonderland.lit')
74
73
  node = node(%q{<message from="alice@tea.wonderland.lit" to="romeo@verona.lit"/>})
75
- assert_nothing_raised { @state.node(node) }
74
+ @state.node(node)
76
75
  assert_equal 1, STANZAS.size
77
76
  assert STANZAS.map {|s| s.verify }.all?
78
77
  assert @stream.verify
@@ -89,7 +88,7 @@ class ComponentReadyTest < Test::Unit::TestCase
89
88
  @router.expect(:connected_resources, [@recipient], ['hatter@wonderland.lit'])
90
89
  @stream.expect(:router, @router)
91
90
 
92
- assert_nothing_raised { @state.node(node) }
91
+ @state.node(node)
93
92
  assert_equal 1, STANZAS.size
94
93
  assert STANZAS.map {|s| s.verify }.all?
95
94
  assert @stream.verify
@@ -1,10 +1,9 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require 'vines'
4
- require 'minitest/mock'
5
- require 'test/unit'
4
+ require 'minitest/autorun'
6
5
 
7
- class ComponentStartTest < Test::Unit::TestCase
6
+ class ComponentStartTest < MiniTest::Unit::TestCase
8
7
  def setup
9
8
  @stream = MiniTest::Mock.new
10
9
  @state = Vines::Stream::Component::Start.new(@stream)
@@ -12,24 +11,24 @@ class ComponentStartTest < Test::Unit::TestCase
12
11
 
13
12
  def test_invalid_element
14
13
  node = node('<message/>')
15
- assert_raise(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
14
+ assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
16
15
  end
17
16
 
18
17
  def test_missing_stream_namespace
19
18
  node = node('<stream:stream/>')
20
- assert_raise(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
19
+ assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
21
20
  end
22
21
 
23
22
  def test_invalid_stream_namespace
24
23
  node = node('<stream:stream xmlns="bogus"/>')
25
- assert_raise(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
24
+ assert_raises(Vines::StreamErrors::NotAuthorized) { @state.node(node) }
26
25
  end
27
26
 
28
27
  def test_valid_stream_header
29
28
  node = node(%q{<stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:component:accept" to="tea.wonderland.lit"/>})
30
29
  @stream.expect(:start, nil, [node])
31
30
  @stream.expect(:advance, nil, [Vines::Stream::Component::Handshake.new(@stream)])
32
- assert_nothing_raised { @state.node(node) }
31
+ @state.node(node)
33
32
  assert @stream.verify
34
33
  end
35
34