SQS 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,14 @@
1
+ 0.1.6
2
+ 2008-02-19
3
+ * Maintenance release to keep up with Amazon SQS API changes. All but one test should be
4
+ passing. See next bullet.
5
+ * Still experiencing the problem outlined here:
6
+ http://developer.amazonwebservices.com/connect/thread.jspa?threadID=15798
7
+ * Added a random string to the test queues to allow deletion in teardown (without waiting for
8
+ 60 seconds of propagation).
9
+ * Updated to require assert_statistically 0.2.1 (was using 0.1.1). Some tests may fail
10
+ with 0.1.1.
11
+
1
12
  0.1.5
2
13
  2007-07-18
3
14
  * sqs_queue_test.rb is now dependent on the assert_statistically gem. You can still
data/test/all_tests.rb CHANGED
@@ -2,5 +2,3 @@
2
2
  dir = File.expand_path( File.dirname( __FILE__ ) )
3
3
 
4
4
  Dir[File.join( File.join( File.dirname( __FILE__ ), 'unit' ), "*_test.rb" )].each { |f| require f }
5
-
6
-
@@ -6,17 +6,31 @@ require "#{File.expand_path( File.dirname( __FILE__ ) )}/test_setup"
6
6
 
7
7
  class SQS_GrantTest < Test::Unit::TestCase
8
8
  def setup
9
- @queue_prefix = 'testGRANTEE'
9
+ @used_prefixes ||= {}
10
+
11
+ @queue_prefix = "testGRANTEE#{rand( 10040932 )}"
12
+ @queue_prefix = "testGRANTEE#{rand( 10040932 )}" while @used_prefixes[@queue_prefix]
13
+
14
+ @used_prefixes[@queue_prefix] = true
15
+
10
16
  @q = SQS.create_queue( @queue_prefix ) unless SQStest.skip_live_tests?
11
17
  end
12
18
  def teardown
13
- SQS.list_queues( @queue_prefix ).each { |q| q.delete! } unless SQStest.skip_live_tests?
19
+ unless SQStest.skip_live_tests?
20
+ SQS.list_queues( @queue_prefix ).each do |q|
21
+ begin
22
+ q.delete! if q.exists?
23
+ rescue SQS::AWSSimpleQueueServiceNonExistentQueue
24
+ # Note that it's possible that the queue existed in
25
+ # the exists? clause, but does not exist in the delete clause
26
+ end
27
+ end
28
+ end
14
29
  print SQS.counter if SQStest.print_counter?
15
30
  end
16
31
 
17
32
  unless SQStest.skip_live_tests?
18
33
 
19
-
20
34
  end
21
35
 
22
36
 
@@ -15,11 +15,26 @@ end
15
15
 
16
16
  class SQS_MessageTest < Test::Unit::TestCase
17
17
  def setup
18
- @queue_prefix = 'testMSG'
18
+ @used_prefixes ||= {}
19
+
20
+ @queue_prefix = "testMSG#{rand( 10040932 )}"
21
+ @queue_prefix = "testMSG#{rand( 10040932 )}" while @used_prefixes[@queue_prefix]
22
+
23
+ @used_prefixes[@queue_prefix] = true
24
+
19
25
  @q = SQS.create_queue( @queue_prefix ) unless SQStest.skip_live_tests?
20
26
  end
21
27
  def teardown
22
- SQS.list_queues( @queue_prefix ).each { |q| q.delete! } unless SQStest.skip_live_tests?
28
+ unless SQStest.skip_live_tests?
29
+ SQS.list_queues( @queue_prefix ).each do |q|
30
+ begin
31
+ q.delete! if q.exists?
32
+ rescue SQS::AWSSimpleQueueServiceNonExistentQueue
33
+ # Note that it's possible that the queue existed in
34
+ # the exists? clause, but does not exist in the delete clause
35
+ end
36
+ end
37
+ end
23
38
  print SQS.counter if SQStest.print_counter?
24
39
  end
25
40
 
@@ -7,6 +7,7 @@ require "#{File.expand_path( File.dirname( __FILE__ ) )}/test_setup"
7
7
  require 'rubygems'
8
8
  require 'assert_statistically'
9
9
 
10
+ gem 'assert_statistically', '>= 0.2.1'
10
11
 
11
12
  class SQS_QueueTest < Test::Unit::TestCase
12
13
  def self.other_aws_account
@@ -14,17 +15,27 @@ class SQS_QueueTest < Test::Unit::TestCase
14
15
  end
15
16
 
16
17
  def setup
17
- @queue_prefix = 'test_queue_'
18
- @q = SQStest.skip_live_tests? ? SQS::Queue.new( 'http://nowhere.com/nothing' ) : SQS.create_queue( @queue_prefix )
19
-
20
- unless SQStest.skip_live_tests?
21
- assert_statistically( :of => 3, :min => 1, :sleep => 0.25 ) do
22
- begin
23
- @q = SQS.get_queue( @queue_prefix )
24
- rescue
25
- false
26
- else
27
- true
18
+ @used_prefixes ||= {}
19
+
20
+ @queue_prefix = "test_queue_#{rand( 10040932 )}"
21
+ @queue_prefix = "test_queue_#{rand( 10040932 )}" while @used_prefixes[@queue_prefix]
22
+
23
+ @used_prefixes[@queue_prefix] = true
24
+
25
+ if SQStest.skip_live_tests?
26
+ @q = SQS::Queue.new( 'http://nowhere.com/nothing' )
27
+ else
28
+ @q = SQS.create_queue( @queue_prefix )
29
+
30
+ unless @q.exists?
31
+ assert_statistically( :of => 2, :after => lambda{ |i,s| sleep 0.25 } ) do
32
+ begin
33
+ @q = SQS.get_queue( @queue_prefix )
34
+ rescue
35
+ false
36
+ else
37
+ true
38
+ end
28
39
  end
29
40
  end
30
41
  end
@@ -32,7 +43,12 @@ class SQS_QueueTest < Test::Unit::TestCase
32
43
  def teardown
33
44
  unless SQStest.skip_live_tests?
34
45
  SQS.list_queues( @queue_prefix ).each do |q|
35
- q.delete!
46
+ begin
47
+ q.delete! if q.exists?
48
+ rescue SQS::AWSSimpleQueueServiceNonExistentQueue
49
+ # Note that it's possible that the queue existed in
50
+ # the exists? clause, but does not exist in the delete clause
51
+ end
36
52
  end
37
53
  end
38
54
 
@@ -40,6 +56,7 @@ class SQS_QueueTest < Test::Unit::TestCase
40
56
  end
41
57
 
42
58
  unless SQStest.skip_live_tests?
59
+
43
60
  def test_delete
44
61
  assert @q.is_a?( SQS::Queue )
45
62
  q2 = SQS.get_queue( @queue_prefix )
@@ -48,6 +65,11 @@ class SQS_QueueTest < Test::Unit::TestCase
48
65
 
49
66
  assert @q.delete
50
67
 
68
+ # Per the specs, it can take 60 seconds to delete a queue. Argh.
69
+ # http://docs.amazonwebservices.com/AWSSimpleQueueService/2007-05-01/SQSDeveloperGuide/
70
+ # See API Reference -> Query and SOAP API Reference -> DeleteQueue
71
+ sleep 60
72
+
51
73
  begin
52
74
  q3 = SQS.get_queue( @queue_prefix )
53
75
  rescue
@@ -106,29 +128,29 @@ class SQS_QueueTest < Test::Unit::TestCase
106
128
  (1..10).to_a.each do |i|
107
129
  @q.send_message( "I am receiving message ##{i}" )
108
130
  end
109
-
110
- sleep 5
111
-
112
- begin
113
- @q.delete
114
- rescue
115
- assert_equal 'SQS::AWSSimpleQueueServiceNonEmptyQueue', $!.class.name
116
- else
117
- flunk 'Was supposed to raise an SQS::AWSSimpleQueueServiceNonEmptyQueue'
131
+
132
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep( i * 5 ) } ) do
133
+ begin
134
+ @q.delete
135
+ rescue
136
+ 'SQS::AWSSimpleQueueServiceNonEmptyQueue' == $!.class.name
137
+ else
138
+ false
139
+ end
118
140
  end
119
141
 
120
142
  assert_nothing_raised do
121
143
  @q.force_delete
122
144
  end
123
145
 
124
- sleep 5
125
-
126
- begin
127
- q = SQS.get_queue( @queue_prefix )
128
- rescue
129
- assert_equal 'SQS::UnavailableQueue', $!.class.name
130
- else
131
- flunk 'Was supposed to raise an SQS::UnavailableQueue'
146
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep( i * 0.5 ) } ) do
147
+ begin
148
+ q = SQS.get_queue( @queue_prefix )
149
+ rescue
150
+ 'SQS::UnavailableQueue' == $!.class.name
151
+ else
152
+ false
153
+ end
132
154
  end
133
155
  end
134
156
 
@@ -140,12 +162,13 @@ class SQS_QueueTest < Test::Unit::TestCase
140
162
  assert q2.exist?
141
163
 
142
164
  assert @q.delete
143
- sleep 2
144
-
145
- assert !@q.exists?
146
- assert !@q.exist?
147
- assert !q2.exists?
148
- assert !q2.exist?
165
+
166
+ # Per the specs, it can take 60 seconds to delete a queue. Argh.
167
+ # http://docs.amazonwebservices.com/AWSSimpleQueueService/2007-05-01/SQSDeveloperGuide/
168
+ # See API Reference -> Query and SOAP API Reference -> DeleteQueue
169
+ assert_statistically( :of => 6, :before => lambda{ |i,s| sleep 10 } ) do
170
+ !( @q.exists? || @q.exist? || q2.exists? || q2.exist? )
171
+ end
149
172
 
150
173
  q3 = SQS::Queue.new( 'http://borker.borked/borkee' )
151
174
  assert !q3.exists?
@@ -170,7 +193,7 @@ class SQS_QueueTest < Test::Unit::TestCase
170
193
  #
171
194
  #Also, the Amazon API allows you to post a body to a URL
172
195
  # with query parameters in it, to send a message up to 256K
173
- # in length. Something to consider.
196
+ # in length. Something to consider.
174
197
  end
175
198
 
176
199
  def test_get_and_set_queue_attributes
@@ -186,7 +209,7 @@ class SQS_QueueTest < Test::Unit::TestCase
186
209
  assert_nothing_raised do
187
210
  @q.get_queue_attributes( true )
188
211
  end
189
- assert_statistically( :of => 10, :min => 1, :sleep => 1 ) do
212
+ assert_statistically( :of => 10, :after => lambda{ |i,s| sleep( i * 0.25 ) } ) do
190
213
  @q.get_queue_attributes( true )
191
214
  400 == @q.attributes[:VisibilityTimeout]
192
215
  end
@@ -236,28 +259,31 @@ class SQS_QueueTest < Test::Unit::TestCase
236
259
 
237
260
  # Update happens in situ
238
261
  assert_equal 500, @q.visibility_timeout
239
- assert_statistically( :of => 10, :min => 1, :sleep => 1 ) do
262
+ assert_statistically( :of => 10, :after => lambda{ |i,s| sleep( i * 0.5 ) } ) do
240
263
  @q.visibility_timeout( true ) == 500
241
264
  end
242
265
  end
243
266
 
244
267
  def test_empty?
245
268
  assert @q.empty?
246
-
269
+
247
270
  @q.send_message( 'no longer empty' )
248
- sleep 3
249
- assert !@q.empty?
271
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep( i * 0.5 ) } ) do
272
+ !@q.empty?
273
+ end
250
274
 
251
275
  @q.send_message( 'no longer empty again' )
252
276
 
253
- assert !@q.empty?
277
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep 0.5 } ) do
278
+ !@q.empty?
279
+ end
254
280
 
255
- sleep 3
256
281
  while m = @q.receive_message
257
282
  m.delete
283
+ sleep 1
258
284
  end
259
-
260
- assert_statistically( :min => 1, :of => 3, :sleep => 1, :message => 'Attempt %d failed' ) do
285
+
286
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep( i * 1 ) }, :message => 'Attempt %d failed' ) do
261
287
  @q.empty?
262
288
  end
263
289
  end
@@ -265,16 +291,20 @@ class SQS_QueueTest < Test::Unit::TestCase
265
291
 
266
292
  def test_peek_message
267
293
  @q.send_message( 'I am receiving a message from beyond' )
268
- sleep 2
269
- m = @q.peek_message
270
294
 
271
- assert m.is_a?( SQS::Message )
295
+ m = nil
296
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep( i * 3 ) } ) do
297
+ m = @q.peek_message
298
+ m.is_a?( SQS::Message )
299
+ end
272
300
  assert_equal @q, m.queue
273
301
  assert_equal 'I am receiving a message from beyond', m.body
274
302
 
275
- sleep 2
276
- m2 = @q.receive_message
277
- assert m.is_a?( SQS::Message )
303
+ m2 = nil
304
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep 0.5 } ) do
305
+ m2 = @q.receive_message
306
+ m2.is_a?( SQS::Message )
307
+ end
278
308
  assert_equal m.id, m2.id
279
309
  assert_equal m.body, m2.body
280
310
  end
@@ -289,10 +319,11 @@ class SQS_QueueTest < Test::Unit::TestCase
289
319
  @q.send_message( "I am receiving message #{i}" )
290
320
  end
291
321
 
292
- sleep 10
293
-
294
- messages = @q.peek_messages :count => 2
295
- assert messages.size == 1 || messages.size == 2, "Weird array size: #{messages.size}"
322
+ messages = nil
323
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep( i * 0.5 ) } ) do
324
+ messages = @q.peek_messages :count => 2
325
+ messages.size == 1 || messages.size == 2
326
+ end
296
327
 
297
328
  assert messages.is_a?( Array )
298
329
  messages.each do |m|
@@ -305,20 +336,21 @@ class SQS_QueueTest < Test::Unit::TestCase
305
336
  assert messages.is_a?( Array )
306
337
  assert messages.size > 0 && messages.size < 12, "Weird array size: #{messages.size}"
307
338
 
308
- sleep 2
309
-
310
- messages = @q.receive_messages :count => 12
311
- assert messages.is_a?( Array )
312
- assert messages.size > 0 && messages.size < 12, "Weird array size: #{messages.size}"
339
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep( i * 0.5 ) } ) do
340
+ messages = @q.receive_messages :count => 12
341
+ messages.is_a?( Array ) && messages.size > 0 && messages.size < 12
342
+ end
313
343
  end
314
344
 
315
-
316
345
  def test_receive_message
317
346
  @q.send_message( 'I am receiving a message from beyond' )
318
- sleep 2
319
- m = @q.receive_message
320
347
 
321
- assert m.is_a?( SQS::Message )
348
+ m = nil
349
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep( i * 0.5 ) } ) do
350
+ m = @q.receive_message
351
+ m.is_a?( SQS::Message )
352
+ end
353
+
322
354
  assert_equal @q, m.queue
323
355
  assert_equal 'I am receiving a message from beyond', m.body
324
356
  end
@@ -333,10 +365,11 @@ class SQS_QueueTest < Test::Unit::TestCase
333
365
  @q.send_message( "I am receiving message #{i}" )
334
366
  end
335
367
 
336
- sleep 10
337
-
338
- messages = @q.receive_messages :count => 2
339
- assert messages.size == 1 || messages.size == 2, "Weird array size: #{messages.size}"
368
+ messages = nil
369
+ assert_statistically( :of => 3, :after => lambda{ |i,s| sleep( i * 0.5 ) } ) do
370
+ messages = @q.receive_messages :count => 2
371
+ messages.size == 1 || messages.size == 2
372
+ end
340
373
 
341
374
  assert messages.is_a?( Array )
342
375
  messages.each do |m|
@@ -350,7 +383,6 @@ class SQS_QueueTest < Test::Unit::TestCase
350
383
  assert messages.size > 0 && messages.size < 12, "Weird array size: #{messages.size}"
351
384
  end
352
385
 
353
-
354
386
  class DUMMY
355
387
  def self.email
356
388
  SQS_QueueTest::other_aws_account[:email]
@@ -362,36 +394,42 @@ class SQS_QueueTest < Test::Unit::TestCase
362
394
 
363
395
  assert_equal 1, @q.list_grants.size
364
396
 
365
- assert @q.add_grant( :email => SQStest.other_aws_account[:email], :permission => :full )
366
- assert_statistically( :of => 3, :min => 1, :sleep => 0.5 ) do
367
- 2 == @q.list_grants.size
368
- end
369
-
370
397
  assert @q.add_grant( :email => SQStest.other_aws_account[:email], :permission => :send )
371
- assert_statistically( :of => 3, :min => 1, :sleep => 0.5 ) do
372
- 3 == @q.list_grants.size
398
+ assert_statistically( :of => 6, :after => lambda{ |i,s| sleep 5 } ) do
399
+ grants = @q.list_grants
400
+ 2 == grants.size
373
401
  end
374
402
 
375
403
  assert @q.add_grant( :email => SQStest.other_aws_account[:email], :permission => :receive )
376
- assert_statistically( :of => 3, :min => 1, :sleep => 0.5 ) do
377
- 4 == @q.list_grants.size
404
+ assert_statistically( :of => 6, :after => lambda{ |i,s| sleep 5 } ) do
405
+ grants = @q.list_grants
406
+ 3 == grants.size
407
+ end
408
+
409
+ assert @q.add_grant( :email => SQStest.other_aws_account[:email], :permission => :full )
410
+ assert_statistically( :of => 6, :after => lambda{ |i,s| sleep 5 } ) do
411
+ grants = @q.list_grants
412
+ 4 == grants.size
378
413
  end
379
414
 
380
415
  assert_nothing_raised do
381
416
  #DUMMY responds to :email (is not an address itself)
382
417
  @q.add_grant( :email => DUMMY, :permission => :receive )
383
418
  end
384
- assert_equal 4, @q.list_grants.size
419
+ assert_statistically( :of => 6, :after => lambda{ |i,s| sleep 5 } ) do
420
+ grants = @q.list_grants
421
+ 4 == grants.size
422
+ end
385
423
 
386
424
  begin
387
425
  @q.add_grant( :email => 'invalid@email.address', :permission => :receive )
388
426
  rescue
389
- assert_equal 'SQS::ServiceUnavailable', $!.class.name
427
+ assert_equal 'SQS::InvalidParameterValue', $!.class.name
390
428
  else
391
- flunk "Was supposed to raise an SQS::ServiceUnavailable"
429
+ flunk "Was supposed to raise an SQS::InvalidParameterValue"
392
430
  end
393
431
  end
394
-
432
+
395
433
  def test_remove_grant
396
434
  assert_respond_to @q, :remove_grant
397
435
 
@@ -441,13 +479,55 @@ class SQS_QueueTest < Test::Unit::TestCase
441
479
  end
442
480
  end
443
481
  end
444
-
482
+
483
+ def test_SQS_thread_15798
484
+ # See http://developer.amazonwebservices.com/connect/thread.jspa?threadID=15798
485
+
486
+ # Add a receive permission
487
+ @q.add_grant( :email => SQStest.other_aws_account[:email], :permission => :receive)
488
+
489
+ # There should be two total
490
+ grants = nil
491
+ assert_statistically( :of => 4, :after => lambda{ |i,s| sleep( i * 0.25 ) } ) do
492
+ grants = @q.list_grants
493
+ 2 == grants.size
494
+ end
495
+
496
+ # There should be one send (my account)
497
+ grants = @q.list_grants( :permission => :send )
498
+ assert_equal 1, grants.size
499
+ grants.each do |g|
500
+ assert_kind_of SQS::Grant, g
501
+ assert_equal SQStest.my_aws_account[:display_name], g.display_name
502
+ end
503
+
504
+ # There should be one receive and it should be the other users
505
+ grants = @q.list_grants( :permission => :receive )
506
+ # This should fail until the issue is resolved.
507
+ assert_equal 1, grants.size, "Apparently http://developer.amazonwebservices.com/connect/thread.jspa?threadID=15798 is still unresolved"
508
+ assert_kind_of SQS::Grant, grants.first
509
+ assert_equal SQStest.other_aws_account[:display_name], grants.first.display_name
510
+
511
+ # There should be one with my email address
512
+ grants = @q.list_grants( :email => SQStest.my_aws_account[:email] )
513
+ assert_equal 1, grants.size
514
+ assert_kind_of SQS::Grant, grants.first
515
+ assert_equal SQStest.other_aws_account[:display_name], grants.first.display_name
516
+
517
+ # There should be one with the other email address
518
+ grants = @q.list_grants( :email => SQStest.other_aws_account[:email] )
519
+ # This should fail until the issue is resolved.
520
+ assert_equal 1, grants.size, "Apparently http://developer.amazonwebservices.com/connect/thread.jspa?threadID=15798 is still unresolved"
521
+ assert_kind_of SQS::Grant, grants.first
522
+ assert_equal SQStest.other_aws_account[:display_name], grants.first.display_name
523
+ end
524
+
445
525
  def test_list_grants
446
526
  assert_respond_to @q, :list_grants
447
527
  grant = @q.list_grants
448
528
  assert_equal 1, grant.size
449
529
  grant = grant.first
450
- assert_equal SQS.permissions[:full], grant.permission
530
+ assert_equal SQS.permissions[:full], grant.permission
451
531
  assert_equal nil, grant.email
452
532
  assert_equal SQStest.my_aws_account[:display_name], grant.display_name
453
533
 
@@ -455,7 +535,7 @@ class SQS_QueueTest < Test::Unit::TestCase
455
535
 
456
536
  grants = @q.list_grants
457
537
  if grants.size != 2
458
- assert_statistically( :of => 4, :min => 1, :sleep => 0.5 ) do
538
+ assert_statistically( :of => 4, :after => lambda{ |i,s| sleep( i * 0.25 ) } ) do
459
539
  grants = @q.list_grants
460
540
  2 == grants.size
461
541
  end
@@ -473,24 +553,8 @@ class SQS_QueueTest < Test::Unit::TestCase
473
553
  flunk "'#{grant.display_name}' is an unknown display name"
474
554
  end
475
555
  end
476
-
477
-
478
- grants = @q.list_grants( :email => SQStest.other_aws_account[:email] )
479
- assert_equal 1, grants.size
480
- grants.each do |g|
481
- assert_kind_of SQS::Grant, g
482
- assert_equal SQStest.other_aws_account[:display_name], g.display_name
483
- end
484
-
485
- grants = @q.list_grants( :permission => :receive )
486
- assert_equal 1, grants.size
487
- grants.each do |g|
488
- assert_kind_of SQS::Grant, g
489
- assert_equal SQStest.other_aws_account[:display_name], g.display_name
490
- end
491
556
  end
492
557
 
493
-
494
558
  def test_each_message
495
559
  assert_respond_to @q, :each_message
496
560
  1.upto( 10 ) do |i|
@@ -585,6 +649,7 @@ class SQS_QueueTest < Test::Unit::TestCase
585
649
  q.delete
586
650
  end
587
651
  end
652
+
588
653
  end
589
654
 
590
655
  def test_default_visibility_timeout
@@ -17,7 +17,13 @@ end
17
17
 
18
18
  class SQSTest < Test::Unit::TestCase
19
19
  def setup
20
- @queue_prefix = 'testSQS'
20
+ @used_prefixes ||= {}
21
+
22
+ @queue_prefix = "testSQS#{rand( 10040932 )}"
23
+ @queue_prefix = "testSQS#{rand( 10040932 )}" while @used_prefixes[@queue_prefix]
24
+
25
+ @used_prefixes[@queue_prefix] = true
26
+
21
27
  @q = SQS.create_queue( @queue_prefix ) unless SQStest.skip_live_tests?
22
28
 
23
29
  SQS.add_reasons_to_retry 'ServiceUnavailable'
@@ -25,7 +31,16 @@ class SQSTest < Test::Unit::TestCase
25
31
  SQS.retry_attempts = 10
26
32
  end
27
33
  def teardown
28
- SQS.list_queues( @queue_prefix ).each { |q| q.delete! } unless SQStest.skip_live_tests?
34
+ unless SQStest.skip_live_tests?
35
+ SQS.list_queues( @queue_prefix ).each do |q|
36
+ begin
37
+ q.delete! if q.exists?
38
+ rescue SQS::AWSSimpleQueueServiceNonExistentQueue
39
+ # Note that it's possible that the queue existed in
40
+ # the exists? clause, but does not exist in the delete clause
41
+ end
42
+ end
43
+ end
29
44
  print SQS.counter if SQStest.print_counter?
30
45
  end
31
46
 
@@ -94,7 +109,7 @@ class SQSTest < Test::Unit::TestCase
94
109
  begin
95
110
  SQS.call_web_service( :Something => 'for nothing' )
96
111
  rescue
97
- assert_equal 'SQS::InvalidAction', $!.class.name
112
+ assert_equal 'SQS::MissingParameter', $!.class.name
98
113
  else
99
114
  flunk "Was supposed to raise an SQS::InvalidAction"
100
115
  end
@@ -107,7 +122,6 @@ class SQSTest < Test::Unit::TestCase
107
122
  end
108
123
  end
109
124
 
110
-
111
125
  def test_get_exception_class
112
126
  assert_raises ArgumentError do
113
127
  SQS.get_exception_class
@@ -517,7 +531,6 @@ class SQSTest < Test::Unit::TestCase
517
531
  assert_equal 'SENDMESSAGE', SQS.permissions( 'SENDMESSAGE' )
518
532
  assert_equal 'FULLCONTROL', SQS.permissions( 'FULLCONTROL' )
519
533
  end
520
-
521
534
  end
522
535
 
523
536
 
metadata CHANGED
@@ -1,33 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
3
- specification_version: 1
4
2
  name: SQS
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.1.5
7
- date: 2007-07-18 00:00:00 -07:00
8
- summary: A Ruby interface to Amazon's Simple Queue Service
9
- require_paths:
10
- - lib
11
- email: z@wzph.com
12
- homepage:
13
- rubyforge_project: SQS
14
- description: SQS is a Ruby interface to Amazon's Simple Queue Service. SQS uses the Query API, exposing all the published API calls, plus a few more. For more information on the Simple Queue Service, see http://www.amazonaws.com
15
- autorequire: sqs
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: false
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 0.1.6
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
- - Zachary Holt
7
+ - Zach Holt
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-02-20 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: SQS is a Ruby interface to Amazon's Simple Queue Service. SQS uses the Query API, exposing all the published API calls, plus a few more. For more information on the Simple Queue Service, see http://www.amazonaws.com
17
+ email: z@wzph.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - README
24
+ - MIT-LICENSE
25
+ - CHANGELOG
31
26
  files:
32
27
  - lib/sqs.rb
33
28
  - lib/sqs/grant.rb
@@ -42,6 +37,32 @@ files:
42
37
  - README
43
38
  - MIT-LICENSE
44
39
  - CHANGELOG
40
+ has_rdoc: false
41
+ homepage: http://sqs.rubyforge.org
42
+ post_install_message:
43
+ rdoc_options: []
44
+
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: "0"
52
+ version:
53
+ required_rubygems_version: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: "0"
58
+ version:
59
+ requirements: []
60
+
61
+ rubyforge_project: SQS
62
+ rubygems_version: 1.0.1
63
+ signing_key:
64
+ specification_version: 2
65
+ summary: A Ruby interface to Amazon's Simple Queue Service
45
66
  test_files:
46
67
  - test/all_tests.rb
47
68
  - test/unit/sqs_grant_test.rb
@@ -49,17 +70,3 @@ test_files:
49
70
  - test/unit/sqs_queue_test.rb
50
71
  - test/unit/sqs_test.rb
51
72
  - test/unit/test_setup.rb
52
- rdoc_options: []
53
-
54
- extra_rdoc_files:
55
- - README
56
- - MIT-LICENSE
57
- - CHANGELOG
58
- executables: []
59
-
60
- extensions: []
61
-
62
- requirements: []
63
-
64
- dependencies: []
65
-