textmagic 0.5.0 → 0.6.0

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.
@@ -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