textmagic 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c810998c9e416e69841a07869dc802818d1a4a65
4
+ data.tar.gz: 3c5c28da54b76a1d939b15ae2edecec92c313a42
5
+ SHA512:
6
+ metadata.gz: 4041fbd28087e80983118b69ab1e5abae41ba8ea9a846844df83d81696f20c8765ecf18ef48e634a821ff8e4006214583b9c8c4bea27e33712ddf3f30abcb9c5
7
+ data.tar.gz: 40968523dc18f0c1c6816d8eb64c4713291e5f52bcef386ebc87189868377c878302f36ed24b716fb374e22a942c8ac2cd42886737eb5bf92a259bd39dc5ea69
data/Gemfile CHANGED
@@ -1,2 +1,9 @@
1
1
  source "http://rubygems.org"
2
+
2
3
  gemspec
4
+
5
+ gem "minitest", :require => "minitest/autorun"
6
+ gem "mocha", :require => "mocha/mini_test"
7
+ gem "fakeweb"
8
+ gem "mcmire-matchy"
9
+ gem "rake"
@@ -1,3 +1,7 @@
1
+ == 0.6.0 2014-08-19
2
+
3
+ * Switched to https
4
+
1
5
  == 0.3.3 2009-06-13
2
6
 
3
7
  * Added support for send_time parameter for send command.
@@ -0,0 +1,131 @@
1
+ # TextMagic
2
+
3
+ `textmagic` gem is a Ruby interface to the [TextMagic](http://www.textmagic.com)
4
+ Bulk SMS Gateway.
5
+ It can be used to easily integrate SMS features into your application.
6
+ It supports sending messages, receiving replies and more. You need to have
7
+ a valid [TextMagic](http://www.textmagic.com) account to use this gem.
8
+
9
+ To learn more about the TextMagic Bulk SMS Gateway, visit the official
10
+ [API documentation](http://api.textmagic.com)
11
+ or [Google group](http://groups.google.com/group/textmagic-api).
12
+
13
+ This document will give you a good overview of the gem's functionality. For
14
+ more information consult the detailed [documentation](http://tuzinsky.com/textmagic/rdoc/).
15
+
16
+
17
+ ## Basic usage
18
+
19
+ First create an API instance with your credentials:
20
+
21
+ api = TextMagic::API.new(username, password)
22
+
23
+ These credentials will be used in all requests to the SMS gateway.
24
+
25
+
26
+ ### Account balance
27
+
28
+ Check your account's balance:
29
+
30
+ api.account.balance
31
+ # => 314.15
32
+
33
+
34
+ ### Sending messages
35
+
36
+ To send a message to a single phone number, run:
37
+
38
+ api.send 'Hi Wilma!', '999314159265'
39
+
40
+ You can even specify multiple phone numbers:
41
+
42
+ api.send 'Hello everybody', '999314159265', '999271828182'
43
+
44
+ Unicode messages are supported as well:
45
+
46
+ api.send 'Вильма Привет!', '999314159265'
47
+
48
+ Long messages will be split to up to 3 parts. To limit maximum number
49
+ of parts, specify an optional `max_length` parameter:
50
+
51
+ api.send 'Very very long message...', '999314159265', :max_length => 2
52
+
53
+ If you want to postpone message delivery, specify a `send_time` parameter:
54
+
55
+ api.send 'Two hours later', '999314159265', :send_time => Time.now.to_i + 7200
56
+
57
+
58
+ ### Checking sent message status
59
+
60
+ If you want to check sent message status, you have to use `message_id`
61
+ returned in response to `send` command.
62
+
63
+ api.send('Hi Wilma!', '999314159265')
64
+ # => '141421'
65
+ status = api.message_status('141421')
66
+ # => 'd'
67
+ status.completed_time
68
+ # => Fri May 22 10:10:18 +0200 2009
69
+
70
+ You can also check statuses of several messages at once, in which case
71
+ you'll get a hash with message ids as keys:
72
+
73
+ api.send('Hi Wilma!', '999314159265', '999271828182').message_id
74
+ # => { '999314159265' => '141421', '999271828182' => '173205' }
75
+ statuses = api.message_status('141421', '173205')
76
+ # => { '141421' => 'r', '173205' => 'd' }
77
+ statuses['173205'].created_time
78
+ # => Thu May 28 16:41:45 +0200 2009
79
+
80
+ **It is strongly recommended to setup callbacks to receive updates on message status
81
+ instead of using this method. Learn more about callbacks at
82
+ [TextMagic API](http://api.textmagic.com/https-api) site**
83
+
84
+
85
+ ### Receiving replies
86
+
87
+ To receive all available replies, run:
88
+
89
+ replies = api.receive
90
+ # => ['999271828182: Hello Fred!', '999314159265: Good day!']
91
+ replies.first.text
92
+ # => 'Hello Fred!'
93
+ replies.last.from
94
+ # => '999314159265'
95
+ replies.last.message_id
96
+ # => '178082'
97
+
98
+ To prevent receiving old replies again, supply `last_retrieved_id` argument:
99
+
100
+ api.receive('178082')
101
+ # => []
102
+
103
+ **It is strongly recommended to setup callbacks to receive replies instead of
104
+ using this method. Learn more about callbacks at
105
+ [TextMagic API](http://api.textmagic.com/https-api) site**
106
+
107
+
108
+ ### Deleting retrieved replies
109
+
110
+ After you retrieve replies, you can delete them from server by running:
111
+
112
+ api.delete_reply '141421', '178082'
113
+ # => true
114
+
115
+
116
+ ## Command-line utility
117
+
118
+ The `textmagic` gem also features a handy command-line utility. It gives you access
119
+ to all of the gem's features. Run
120
+
121
+ tm
122
+
123
+ from your console to see help on its usage.
124
+
125
+ *Note: This gem has been tested with Ruby versions 1.9.3 to 2.1.2.
126
+ If you have any troubles using this gem, contact the author (or submit a patch).*
127
+
128
+
129
+ ## Copyright
130
+
131
+ Copyright (c) 2009-2014 Vladimír Bobeš Tužinský. See LICENSE for details.
data/Rakefile CHANGED
@@ -1,7 +1,5 @@
1
- require "rubygems"
2
- require "rake"
3
1
  require "rake/testtask"
4
- require "rake/rdoctask"
2
+ require "rdoc/task"
5
3
 
6
4
  Rake::TestTask.new(:test) do |test|
7
5
  test.libs << "lib" << "test"
data/bin/tm CHANGED
@@ -67,9 +67,9 @@ api = TextMagic::API.new(options['username'], options['password'])
67
67
 
68
68
  begin
69
69
  case command
70
- when 'account':
70
+ when 'account'
71
71
  puts "Your account's balance: #{api.account.balance} credits"
72
- when 'send':
72
+ when 'send'
73
73
  unless phones = ARGV.shift
74
74
  puts "Phone number(s) and message not specified. Use --help option to find out details"
75
75
  exit 1
@@ -84,7 +84,7 @@ begin
84
84
  response.each do |phone, message_id|
85
85
  puts "Message id (#{phone}): #{message_id}"
86
86
  end
87
- when 'status':
87
+ when 'status'
88
88
  if ARGV.empty?
89
89
  puts "Message id(s) not specified. Use --help option to find out details"
90
90
  exit 1
@@ -92,13 +92,13 @@ begin
92
92
  api.status(ARGV).each do |message_id, status|
93
93
  puts "Status (#{message_id}): #{status}"
94
94
  end
95
- when 'receive':
95
+ when 'receive'
96
96
  response = api.receive(ARGV.first)
97
97
  response.each do |message|
98
98
  puts "#{message} [#{message.message_id}, #{message.timestamp}]"
99
99
  end
100
100
  puts 'No new messages' if response.empty?
101
- when 'delete':
101
+ when 'delete'
102
102
  api.delete(ARGV)
103
103
  puts 'Message(s) deleted'
104
104
  else
@@ -1,11 +1,10 @@
1
1
  module TextMagic
2
-
3
2
  class API
4
3
 
5
4
  class Executor
6
5
 
7
6
  include HTTParty
8
- base_uri "http://www.textmagic.com/app"
7
+ base_uri "https://www.textmagic.com/app"
9
8
 
10
9
  # Executes a command by sending a request to the TextMagic's Bulk
11
10
  # SMS gateway. This is a low-level generic method used by methods
@@ -1,3 +1,3 @@
1
1
  module Textmagic
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -2,19 +2,21 @@
2
2
 
3
3
  require "test_helper"
4
4
 
5
- class APITest < Test::Unit::TestCase
5
+ describe "API" do
6
6
 
7
- context "Initialization" do
7
+ describe "Initialization" do
8
8
 
9
- should "require username and password" do
10
- lambda { TextMagic::API.new }.should raise_error(ArgumentError)
9
+ it " should require username and password" do
10
+ assert_raises ArgumentError do
11
+ TextMagic::API.new
12
+ end
11
13
  TextMagic::API.new(random_string, random_string)
12
14
  end
13
15
  end
14
16
 
15
- context "Account command" do
17
+ describe "Account command" do
16
18
 
17
- setup do
19
+ before do
18
20
  @username, @password = random_string, random_string
19
21
  @api = TextMagic::API.new(@username, @password)
20
22
  @response = random_string
@@ -23,21 +25,21 @@ class APITest < Test::Unit::TestCase
23
25
  TextMagic::API::Response.stubs(:account).returns(@processed_response)
24
26
  end
25
27
 
26
- should "call Executor execute with correct arguments" do
28
+ it "should call Executor execute with correct arguments" do
27
29
  TextMagic::API::Executor.expects(:execute).with("account", @username, @password).returns(@response)
28
30
  @api.account
29
31
  end
30
32
 
31
- should "call Response.account method to process the response hash" do
33
+ it "should call Response.account method to process the response hash" do
32
34
  processed_response = rand
33
35
  TextMagic::API::Response.expects(:account).with(@response).returns(processed_response)
34
- @api.account.should == processed_response
36
+ assert_equal processed_response, @api.account
35
37
  end
36
38
  end
37
39
 
38
- context "Send command" do
40
+ describe "Send command" do
39
41
 
40
- setup do
42
+ before do
41
43
  @username, @password = random_string, random_string
42
44
  @text, @phone = random_string, random_phone
43
45
  @api = TextMagic::API.new(@username, @password)
@@ -47,92 +49,108 @@ class APITest < Test::Unit::TestCase
47
49
  TextMagic::API::Response.stubs(:send).returns(@processed_response)
48
50
  end
49
51
 
50
- should "call Executor execute with correct arguments" do
52
+ it "should call Executor execute with correct arguments" do
51
53
  TextMagic::API::Executor.expects(:execute).with("send", @username, @password, :text => @text, :phone => @phone, :unicode => 0).returns(@response)
52
54
  @api.send(@text, @phone)
53
55
  end
54
56
 
55
- should "join multiple phone numbers supplied as an array" do
57
+ it "should join multiple phone numbers supplied as an array" do
56
58
  phones = Array.new(3) { random_phone }
57
59
  TextMagic::API::Executor.expects(:execute).with("send", @username, @password, :text => @text, :phone => phones.join(","), :unicode => 0).returns(@response)
58
60
  @api.send(@text, phones)
59
61
  end
60
62
 
61
- should "join multiple phone numbers supplied as arguments" do
63
+ it "should join multiple phone numbers supplied as arguments" do
62
64
  phones = Array.new(3) { random_phone }
63
65
  TextMagic::API::Executor.expects(:execute).with("send", @username, @password, :text => @text, :phone => phones.join(","), :unicode => 0).returns(@response)
64
66
  @api.send(@text, *phones)
65
67
  end
66
68
 
67
- should "replace true with 1 for unicode" do
69
+ it "should replace true with 1 for unicode" do
68
70
  TextMagic::API::Executor.expects(:execute).with("send", @username, @password, :text => @text, :phone => @phone, :unicode => 1).returns(@response)
69
71
  @api.send(@text, @phone, :unicode => true)
70
72
  end
71
73
 
72
- should "set unicode value to 0 if it is not set to by user and text contains only characters from GSM 03.38 charset" do
74
+ it "should set unicode value to 0 if it is not set to by user and text contains only characters from GSM 03.38 charset" do
73
75
  TextMagic::API::Executor.expects(:execute).with("send", @username, @password, :text => @text, :phone => @phone, :unicode => 0).returns(@response).times(2)
74
76
  @api.send(@text, @phone)
75
77
  @api.send(@text, @phone, :unicode => false)
76
78
  end
77
79
 
78
- should "raise an error if unicode is set to 0 and text contains characters outside of GSM 03.38 charset" do
80
+ it "should raise an error if unicode is set to 0 and text contains characters outside of GSM 03.38 charset" do
79
81
  text = "Вильма Привет"
80
- lambda { @api.send(text, @phone, :unicode => false) }.should raise_error(TextMagic::API::Error)
82
+ assert_raises TextMagic::API::Error do
83
+ @api.send(text, @phone, :unicode => false)
84
+ end
81
85
  end
82
86
 
83
- should "raise an error if unicode value is not valid" do
84
- lambda { @api.send(@text, @phone, :unicode => 2 + rand(10)) }.should raise_error(TextMagic::API::Error)
85
- lambda { @api.send(@text, @phone, :unicode => random_string) }.should raise_error(TextMagic::API::Error)
87
+ it "should raise an error if unicode value is not valid" do
88
+ assert_raises TextMagic::API::Error do
89
+ @api.send(@text, @phone, :unicode => 2 + rand(10))
90
+ end
91
+ assert_raises TextMagic::API::Error do
92
+ @api.send(@text, @phone, :unicode => random_string)
93
+ end
86
94
  end
87
95
 
88
- should "raise an error if no phone numbers are specified" do
89
- lambda { @api.send(@text) }.should raise_error(TextMagic::API::Error)
90
- lambda { @api.send(@text, []) }.should raise_error(TextMagic::API::Error)
96
+ it "should raise an error if no phone numbers are specified" do
97
+ assert_raises TextMagic::API::Error do
98
+ @api.send(@text)
99
+ end
100
+ assert_raises TextMagic::API::Error do
101
+ @api.send(@text, [])
102
+ end
91
103
  end
92
104
 
93
- should "raise an error if format of any of the specified phone numbers is invalid" do
105
+ it "should raise an error if format of any of the specified phone numbers is invalid" do
94
106
  TextMagic::API.expects(:validate_phones).returns(false)
95
- lambda { @api.send(@text, random_string) }.should raise_error(TextMagic::API::Error)
107
+ assert_raises TextMagic::API::Error do
108
+ @api.send(@text, random_string)
109
+ end
96
110
  end
97
111
 
98
- should "raise an error if text is nil" do
99
- lambda { @api.send(nil, @phone) }.should raise_error(TextMagic::API::Error)
112
+ it "should raise an error if text is nil" do
113
+ assert_raises TextMagic::API::Error do
114
+ @api.send(nil, @phone)
115
+ end
100
116
  end
101
117
 
102
- should "raise an error if text is too long" do
118
+ it "should raise an error if text is too long" do
103
119
  TextMagic::API.expects(:validate_text_length).returns(false)
104
- lambda { @api.send(@text, @phone) }.should raise_error(TextMagic::API::Error)
120
+ assert_raises TextMagic::API::Error do
121
+ @api.send(@text, @phone)
122
+ end
105
123
  end
106
124
 
107
- should "support send_time option" do
125
+ it "should support send_time option" do
108
126
  time = Time.now + rand
109
127
  TextMagic::API::Executor.expects(:execute).with("send", @username, @password, :text => @text, :phone => @phone, :unicode => 0, :send_time => time.to_i).returns(@response)
110
128
  @api.send(@text, @phone, :send_time => time.to_i)
111
129
  end
112
130
 
113
- should "convert send_time to Fixnum" do
131
+ it "should convert send_time to Fixnum" do
114
132
  time = Time.now + rand
115
133
  TextMagic::API::Executor.expects(:execute).with("send", @username, @password, :text => @text, :phone => @phone, :unicode => 0, :send_time => time.to_i).returns(@response)
116
134
  @api.send(@text, @phone, :send_time => time)
117
135
  end
118
136
 
119
- should "call Response.send method to process the response hash (single phone)" do
137
+ it "should call Response.send method to process the response hash (single phone)" do
120
138
  processed_response = rand
121
139
  TextMagic::API::Response.expects(:send).with(@response, true).returns(processed_response)
122
- @api.send(@text, random_phone).should == processed_response
140
+ assert_equal processed_response, @api.send(@text, random_phone)
123
141
  end
124
142
 
125
- should "call Response.send method to process the response hash (multiple phones)" do
143
+ it "should call Response.send method to process the response hash (multiple phones)" do
126
144
  processed_response = rand
127
145
  TextMagic::API::Response.expects(:send).with(@response, false).returns(processed_response).twice
128
- @api.send(@text, [random_phone]).should == processed_response
129
- @api.send(@text, random_phone, random_phone).should == processed_response
146
+ assert_equal processed_response, @api.send(@text, [random_phone])
147
+ assert_equal processed_response, @api.send(@text, random_phone, random_phone)
130
148
  end
131
149
  end
132
150
 
133
- context "Message status command" do
151
+ describe "Message status command" do
134
152
 
135
- setup do
153
+ before do
136
154
  @username, @password = random_string, random_string
137
155
  @api = TextMagic::API.new(@username, @password)
138
156
  @response = random_string
@@ -141,44 +159,46 @@ class APITest < Test::Unit::TestCase
141
159
  TextMagic::API::Response.stubs(:message_status).returns(@processed_response)
142
160
  end
143
161
 
144
- should "call Executor execute with correct arguments" do
162
+ it "should call Executor execute with correct arguments" do
145
163
  id = random_string
146
164
  TextMagic::API::Executor.expects(:execute).with("message_status", @username, @password, :ids => id).returns(@response)
147
165
  @api.message_status(id)
148
166
  end
149
167
 
150
- should "join ids supplied as array" do
168
+ it "should join ids supplied as array" do
151
169
  ids = Array.new(3) { random_string }
152
170
  TextMagic::API::Executor.expects(:execute).with("message_status", @username, @password, :ids => ids.join(","))
153
171
  @api.message_status(ids)
154
172
  end
155
173
 
156
- should "join ids supplied as arguments" do
174
+ it "should join ids supplied as arguments" do
157
175
  ids = Array.new(3) { random_string }
158
176
  TextMagic::API::Executor.expects(:execute).with("message_status", @username, @password, :ids => ids.join(","))
159
177
  @api.message_status(*ids)
160
178
  end
161
179
 
162
- should "not call execute and should raise an exception if no ids are specified" do
180
+ it "should not call execute and should raise an exception if no ids are specified" do
163
181
  TextMagic::API::Executor.expects(:execute).never
164
- lambda { @api.message_status }.should raise_error(TextMagic::API::Error)
182
+ assert_raises TextMagic::API::Error do
183
+ @api.message_status
184
+ end
165
185
  end
166
186
 
167
- should "call Response.message_status method to process the response hash (single id)" do
187
+ it "should call Response.message_status method to process the response hash (single id)" do
168
188
  TextMagic::API::Response.expects(:message_status).with(@response, true).returns(@processed_response)
169
- @api.message_status(random_string).should == @processed_response
189
+ assert_equal @processed_response, @api.message_status(random_string)
170
190
  end
171
191
 
172
- should "call Response.message_status method to process the response hash (multiple ids)" do
192
+ it "should call Response.message_status method to process the response hash (multiple ids)" do
173
193
  TextMagic::API::Response.expects(:message_status).with(@response, false).returns(@processed_response).twice
174
- @api.message_status([random_string]).should == @processed_response
175
- @api.message_status(random_string, random_string).should == @processed_response
194
+ assert_equal @processed_response, @api.message_status([random_string])
195
+ assert_equal @processed_response, @api.message_status(random_string, random_string)
176
196
  end
177
197
  end
178
198
 
179
- context "Receive command" do
199
+ describe "Receive command" do
180
200
 
181
- setup do
201
+ before do
182
202
  @username, @password = random_string, random_string
183
203
  @api = TextMagic::API.new(@username, @password)
184
204
  @response = random_string
@@ -187,26 +207,26 @@ class APITest < Test::Unit::TestCase
187
207
  TextMagic::API::Response.stubs(:receive).returns(@processed_response)
188
208
  end
189
209
 
190
- should "call Executor execute with correct arguments" do
210
+ it "should call Executor execute with correct arguments" do
191
211
  TextMagic::API::Executor.expects(:execute).with("receive", @username, @password, :last_retrieved_id => nil)
192
212
  @api.receive
193
213
  end
194
214
 
195
- should "accept last_retrieved_id optional value" do
215
+ it "should accept last_retrieved_id optional value" do
196
216
  last_retrieved_id = rand(1e10)
197
217
  TextMagic::API::Executor.expects(:execute).with("receive", @username, @password, :last_retrieved_id => last_retrieved_id)
198
218
  @api.receive(last_retrieved_id)
199
219
  end
200
220
 
201
- should "call Response.receive method to process the response hash" do
221
+ it "should call Response.receive method to process the response hash" do
202
222
  TextMagic::API::Response.expects(:receive).with(@response).returns(@processed_response)
203
- @api.receive(random_string).should == @processed_response
223
+ assert_equal @processed_response, @api.receive(random_string)
204
224
  end
205
225
  end
206
226
 
207
- context "Delete reply command" do
227
+ describe "Delete reply command" do
208
228
 
209
- setup do
229
+ before do
210
230
  @username, @password = random_string, random_string
211
231
  @api = TextMagic::API.new(@username, @password)
212
232
  @response = random_string
@@ -215,37 +235,39 @@ class APITest < Test::Unit::TestCase
215
235
  TextMagic::API::Response.stubs(:delete_reply).returns(@processed_response)
216
236
  end
217
237
 
218
- should "call Executor execute with correct arguments" do
238
+ it "should call Executor execute with correct arguments" do
219
239
  id = random_string
220
240
  TextMagic::API::Executor.expects(:execute).with("delete_reply", @username, @password, :ids => id)
221
241
  @api.delete_reply(id)
222
242
  end
223
243
 
224
- should "join ids supplied as array" do
244
+ it "should join ids supplied as array" do
225
245
  ids = Array.new(3) { random_string }
226
246
  TextMagic::API::Executor.expects(:execute).with("delete_reply", @username, @password, :ids => ids.join(","))
227
247
  @api.delete_reply(ids)
228
248
  end
229
249
 
230
- should "join ids supplied as arguments" do
250
+ it "should join ids supplied as arguments" do
231
251
  ids = Array.new(3) { random_string }
232
252
  TextMagic::API::Executor.expects(:execute).with("delete_reply", @username, @password, :ids => ids.join(","))
233
253
  @api.delete_reply(*ids)
234
254
  end
235
255
 
236
- should "not call execute and should raise an exception if no ids are specified" do
256
+ it "should not call execute and should raise an exception if no ids are specified" do
237
257
  TextMagic::API::Executor.expects(:execute).never
238
- lambda { @api.delete_reply }.should raise_error(TextMagic::API::Error)
258
+ assert_raises TextMagic::API::Error do
259
+ @api.delete_reply
260
+ end
239
261
  end
240
262
 
241
- should "return true" do
242
- @api.delete_reply(random_string).should == true
263
+ it "should return true" do
264
+ assert_equal true, @api.delete_reply(random_string)
243
265
  end
244
266
  end
245
267
 
246
- context "Check number command" do
268
+ describe "Check number command" do
247
269
 
248
- setup do
270
+ before do
249
271
  @username, @password = random_string, random_string
250
272
  @api = TextMagic::API.new(@username, @password)
251
273
  @response = random_string
@@ -254,38 +276,40 @@ class APITest < Test::Unit::TestCase
254
276
  TextMagic::API::Response.stubs(:check_number).returns(@processed_response)
255
277
  end
256
278
 
257
- should "call Executor execute with correct arguments" do
279
+ it "should call Executor execute with correct arguments" do
258
280
  phone = random_phone
259
281
  TextMagic::API::Executor.expects(:execute).with("check_number", @username, @password, :phone => phone)
260
282
  @api.check_number(phone)
261
283
  end
262
284
 
263
- should "join phones supplied as array" do
285
+ it "should join phones supplied as array" do
264
286
  phones = Array.new(3) { random_phone }
265
287
  TextMagic::API::Executor.expects(:execute).with("check_number", @username, @password, :phone => phones.join(","))
266
288
  @api.check_number(phones)
267
289
  end
268
290
 
269
- should "join phones supplied as arguments" do
291
+ it "should join phones supplied as arguments" do
270
292
  phones = Array.new(3) { random_phone }
271
293
  TextMagic::API::Executor.expects(:execute).with("check_number", @username, @password, :phone => phones.join(","))
272
294
  @api.check_number(*phones)
273
295
  end
274
296
 
275
- should "not call execute and should raise an exception if no phones are specified" do
297
+ it "should not call execute and should raise an exception if no phones are specified" do
276
298
  TextMagic::API::Executor.expects(:execute).never
277
- lambda { @api.check_number }.should raise_error(TextMagic::API::Error)
299
+ assert_raises TextMagic::API::Error do
300
+ @api.check_number
301
+ end
278
302
  end
279
303
 
280
- should "call Response.check_number method to process the response hash (single phone)" do
304
+ it "should call Response.check_number method to process the response hash (single phone)" do
281
305
  TextMagic::API::Response.expects(:check_number).with(@response, true).returns(@processed_response)
282
- @api.check_number(random_string).should == @processed_response
306
+ assert_equal @processed_response, @api.check_number(random_string)
283
307
  end
284
308
 
285
- should "call Response.check_number method to process the response hash (mulitple phones)" do
309
+ it "should call Response.check_number method to process the response hash (mulitple phones)" do
286
310
  TextMagic::API::Response.expects(:check_number).with(@response, false).returns(@processed_response).twice
287
- @api.check_number([random_string]).should == @processed_response
288
- @api.check_number(random_string, random_string).should == @processed_response
311
+ assert_equal @processed_response, @api.check_number([random_string])
312
+ assert_equal @processed_response, @api.check_number(random_string, random_string)
289
313
  end
290
314
  end
291
315
  end