kernow-ruby-aaws 0.5.4 → 0.7.1

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,58 @@
1
+ # $Id: tc_seller_listing_lookup.rb,v 1.1 2009/06/03 08:46:31 ianmacd Exp $
2
+ #
3
+
4
+ require 'test/unit'
5
+ require './setup'
6
+
7
+ class TestSellerListingLookup < AWSTest
8
+
9
+ def test_seller_listing_lookup
10
+
11
+ sll = SellerListingLookup.new( 'AP8U6Y3PYQ9VO', :ASIN,
12
+ { :Id => 'B0009RRRC8' } )
13
+ rg = ResponseGroup.new( 'SellerListing' )
14
+ response = @req.search( sll, rg )
15
+
16
+ item = response.kernel
17
+
18
+ assert_equal( 'actionrecords', item.seller.nickname )
19
+
20
+ end
21
+
22
+ def test_seller_listing_lookup_no_response_group
23
+
24
+ sll = SellerListingLookup.new( 'AP8U6Y3PYQ9VO', :ASIN,
25
+ { :Id => 'B0009RRRC8' } )
26
+ sll.response_group = ResponseGroup.new( :SellerListing )
27
+ response = @req.search( sll )
28
+
29
+ item = response.kernel
30
+
31
+ assert_equal( 'actionrecords', item.seller.nickname )
32
+
33
+ end
34
+
35
+ def test_seller_listing_lookup_class_method
36
+
37
+ response = Amazon::AWS.seller_listing_lookup( 'AP8U6Y3PYQ9VO', :ASIN,
38
+ { :Id => 'B0009RRRC8' } )
39
+
40
+ item = response.kernel
41
+
42
+ assert_equal( 'actionrecords', item.seller.nickname )
43
+
44
+ end
45
+
46
+ def test_seller_listing_lookup_class_method_block
47
+
48
+ Amazon::AWS.seller_listing_lookup( 'AP8U6Y3PYQ9VO', :ASIN,
49
+ { :Id => 'B0009RRRC8' } ) do |r|
50
+
51
+ item = r.kernel
52
+
53
+ assert_equal( 'actionrecords', item.seller.nickname )
54
+
55
+ end
56
+ end
57
+
58
+ end
@@ -0,0 +1,70 @@
1
+ # $Id: tc_seller_listing_search.rb,v 1.1 2009/05/30 23:27:47 ianmacd Exp $
2
+ #
3
+
4
+ require 'test/unit'
5
+ require './setup'
6
+
7
+ class TestSellerListingSearch < AWSTest
8
+
9
+ def test_seller_listing_search
10
+
11
+ sl = SellerListingSearch.new( 'AP8U6Y3PYQ9VO',
12
+ { 'Keywords' => 'Killing Joke' } )
13
+ rg = ResponseGroup.new( 'SellerListing' )
14
+ response = @req.search( sl, rg )
15
+
16
+ items = response.seller_listing_search_response[0].seller_listings[0].
17
+ seller_listing
18
+
19
+
20
+ # Ensure we got some actual items back.
21
+ #
22
+ assert( items.size > 0 )
23
+
24
+ end
25
+
26
+ def test_seller_listing_search_no_response_group
27
+
28
+ sl = SellerListingSearch.new( 'AP8U6Y3PYQ9VO',
29
+ { 'Keywords' => 'Killing Joke' } )
30
+ sl.response_group = ResponseGroup.new( :SellerListing )
31
+ response = @req.search( sl )
32
+
33
+ items = response.seller_listing_search_response[0].seller_listings[0].
34
+ seller_listing
35
+
36
+ # Ensure we got some actual items back.
37
+ #
38
+ assert( items.size > 0 )
39
+
40
+ end
41
+
42
+ def test_seller_listing_search_class_method
43
+
44
+ response = Amazon::AWS.seller_listing_search( 'AP8U6Y3PYQ9VO',
45
+ { 'Keywords' => 'Killing Joke' } )
46
+
47
+ items = response.seller_listing_search_response[0].seller_listings[0].
48
+ seller_listing
49
+
50
+ # Ensure we got some actual items back.
51
+ #
52
+ assert( items.size > 0 )
53
+
54
+ end
55
+
56
+ def test_seller_listing_search_class_method_block
57
+
58
+ Amazon::AWS.seller_listing_search( 'AP8U6Y3PYQ9VO',
59
+ { 'Keywords' => 'Killing Joke' } ) do |r|
60
+
61
+ items = r.seller_listing_search_response[0].seller_listings[0].
62
+ seller_listing
63
+
64
+ # Ensure we got some actual items back.
65
+ #
66
+ assert( items.size > 0 )
67
+ end
68
+ end
69
+
70
+ end
@@ -0,0 +1,54 @@
1
+ # $Id: tc_seller_lookup.rb,v 1.1 2009/06/03 09:53:02 ianmacd Exp $
2
+ #
3
+
4
+ require 'test/unit'
5
+ require './setup'
6
+
7
+ class TestSellerLookup < AWSTest
8
+
9
+ def test_seller_lookup
10
+
11
+ sl = SellerLookup.new( 'A3QFR0K2KCB7EG' )
12
+ rg = ResponseGroup.new( 'Seller' )
13
+ response = @req.search( sl, rg )
14
+
15
+ seller = response.kernel
16
+
17
+ assert_equal( 'wherehouse', seller.nickname )
18
+
19
+ end
20
+
21
+ def test_seller_lookup_no_response_group
22
+
23
+ sl = SellerLookup.new( 'A3QFR0K2KCB7EG' )
24
+ sl.response_group = ResponseGroup.new( :Seller )
25
+ response = @req.search( sl )
26
+
27
+ seller = response.kernel
28
+
29
+ assert_equal( 'wherehouse', seller.nickname )
30
+
31
+ end
32
+
33
+ def test_seller_lookup_class_method
34
+
35
+ response = Amazon::AWS.seller_lookup( 'A3QFR0K2KCB7EG' )
36
+
37
+ seller = response.kernel
38
+
39
+ assert_equal( 'wherehouse', seller.nickname )
40
+
41
+ end
42
+
43
+ def test_seller_lookup_class_method_block
44
+
45
+ Amazon::AWS.seller_lookup( 'A3QFR0K2KCB7EG' ) do |r|
46
+
47
+ seller = r.kernel
48
+
49
+ assert_equal( 'wherehouse', seller.nickname )
50
+
51
+ end
52
+ end
53
+
54
+ end
@@ -1,4 +1,4 @@
1
- # $Id: tc_shopping_cart.rb,v 1.5 2008/07/05 14:18:03 ianmacd Exp $
1
+ # $Id: tc_shopping_cart.rb,v 1.6 2009/03/27 14:00:22 ianmacd Exp $
2
2
  #
3
3
 
4
4
  require 'test/unit'
@@ -23,7 +23,7 @@ class TestShoppingCart < AWSTest
23
23
  # Create a cart with three items. The last two are given as multiple
24
24
  # single-element hashes. MergeCart is false.
25
25
  #
26
- cart.cart_create( :ASIN, 'B00151HZA6', 3, false,
26
+ cart.cart_create( :ASIN, 'B001CB0UJC', 3, false,
27
27
  { 'B000WC4AH0' => 2 },
28
28
  { 'B0006L16N8' => 1 } )
29
29
  items = cart.items
@@ -31,7 +31,7 @@ class TestShoppingCart < AWSTest
31
31
  # Check that the quantities match what we expect.
32
32
  #
33
33
  assert_equal( 3, items.size )
34
- item = items.find { |item| item.asin == 'B00151HZA6' }
34
+ item = items.find { |item| item.asin == 'B001CB0UJC' }
35
35
  assert_equal( '3', item.quantity[0] )
36
36
  item = items.find { |item| item.asin == 'B000WC4AH0' }
37
37
  assert_equal( '2', item.quantity[0] )
@@ -70,7 +70,7 @@ class TestShoppingCart < AWSTest
70
70
  # hash. MergeCart is true. Cart#create is used as an alias of
71
71
  # Cart#cart_create.
72
72
  #
73
- cart.create( :ASIN, 'B00151HZA6', 1, true,
73
+ cart.create( :ASIN, 'B001CB0UJC', 1, true,
74
74
  { 'B000WC4AH0' => 2,
75
75
  'B0006L16N8' => 3 } )
76
76
  items = cart.items
@@ -78,7 +78,7 @@ class TestShoppingCart < AWSTest
78
78
  # Check that the quantities match what we expect.
79
79
  #
80
80
  assert_equal( 3, items.size )
81
- item = items.find { |item| item.asin == 'B00151HZA6' }
81
+ item = items.find { |item| item.asin == 'B001CB0UJC' }
82
82
  assert_equal( '1', item.quantity[0] )
83
83
  item = items.find { |item| item.asin == 'B000WC4AH0' }
84
84
  assert_equal( '2', item.quantity[0] )
@@ -125,10 +125,10 @@ class TestShoppingCart < AWSTest
125
125
 
126
126
  # Modify an item quantity.
127
127
  #
128
- cart.cart_modify( :ASIN, 'B00151HZA6', 2 )
128
+ cart.cart_modify( :ASIN, 'B001CB0UJC', 2 )
129
129
  items = cart.items
130
130
  assert_equal( 8, items.size )
131
- item = items.find { |item| item.asin == 'B00151HZA6' }
131
+ item = items.find { |item| item.asin == 'B001CB0UJC' }
132
132
  assert_equal( '2', item.quantity[0] )
133
133
 
134
134
  # Move item to 'Save For Later' area.
@@ -174,7 +174,7 @@ class TestShoppingCart < AWSTest
174
174
 
175
175
  # Move another item to the 'Save For Later' area.
176
176
  #
177
- cart.cart_modify( :ASIN, 'B00151HZA6', 2, true )
177
+ cart.cart_modify( :ASIN, 'B001CB0UJC', 2, true )
178
178
  items = cart.items
179
179
  assert_equal( 6, items.size )
180
180
  sfl_items = cart.saved_for_later_items
@@ -182,7 +182,7 @@ class TestShoppingCart < AWSTest
182
182
 
183
183
  # Now remove that item while it's still in the 'Save For Later' area.
184
184
  #
185
- cart.cart_modify( :ASIN, 'B00151HZA6', 0 )
185
+ cart.cart_modify( :ASIN, 'B001CB0UJC', 0 )
186
186
  items = cart.items
187
187
  assert_equal( 6, items.size )
188
188
  sfl_items = cart.saved_for_later_items
@@ -0,0 +1,59 @@
1
+ # $Id: tc_similarity_lookup.rb,v 1.1 2009/06/03 10:29:24 ianmacd Exp $
2
+ #
3
+
4
+ require 'test/unit'
5
+ require './setup'
6
+
7
+ class TestSimilarityLookup < AWSTest
8
+
9
+ def test_similarity_lookup
10
+
11
+ sl = SimilarityLookup.new( [ 'B000AE4QEC', 'B000051WBE' ] )
12
+ rg = ResponseGroup.new( :Subjects )
13
+ response = @req.search( sl, rg )
14
+
15
+ items = response.similarity_lookup_response[0].items
16
+
17
+ assert_match( /^\w+/, items.item[0].subjects.subject[0] )
18
+ assert_match( /^\w+/, items.item[1].subjects.subject[0] )
19
+
20
+ end
21
+
22
+ def test_similarity_lookup_no_response_group
23
+
24
+ sl = SimilarityLookup.new( [ 'B000AE4QEC', 'B000051WBE' ] )
25
+ sl.response_group = ResponseGroup.new( :Subjects )
26
+ response = @req.search( sl, nil )
27
+
28
+ items = response.similarity_lookup_response[0].items
29
+
30
+ assert_match( /^\w+/, items.item[0].subjects.subject[0] )
31
+ assert_match( /^\w+/, items.item[1].subjects.subject[0] )
32
+
33
+ end
34
+
35
+ def test_similarity_lookup_class_method
36
+
37
+ response = Amazon::AWS.similarity_lookup( [ 'B000AE4QEC', 'B000051WBE' ] )
38
+
39
+ items = response.similarity_lookup_response[0].items
40
+
41
+ assert_match( /^http:/, items.item[0].detail_page_url )
42
+ assert_match( /^http:/, items.item[1].detail_page_url )
43
+
44
+ end
45
+
46
+ def test_item_search_class_method_block
47
+
48
+ Amazon::AWS.similarity_lookup( [ 'B000AE4QEC', 'B000051WBE' ] ) do |r|
49
+
50
+ items = r.similarity_lookup_response[0].items
51
+
52
+ assert_match( /^http:/, items.item[0].detail_page_url )
53
+ assert_match( /^http:/, items.item[1].detail_page_url )
54
+
55
+ end
56
+
57
+ end
58
+
59
+ end
@@ -0,0 +1,35 @@
1
+ # $Id: tc_tag_lookup.rb,v 1.1 2009/06/03 23:20:37 ianmacd Exp $
2
+ #
3
+
4
+ require 'test/unit'
5
+ require './setup'
6
+
7
+ class TestTagLookup < AWSTest
8
+
9
+ def test_tag_lookup
10
+
11
+ @req.locale = 'us'
12
+ tl = TagLookup.new( 'Awful' )
13
+ rg = ResponseGroup.new( :Tags, :TagsSummary )
14
+ response = @req.search( tl, rg )
15
+
16
+ tag = response.kernel
17
+
18
+ assert_equal( '2005-11-21 16:46:53', tag.first_tagging.time )
19
+
20
+ end
21
+
22
+ def test_tag_lookup_no_response_group
23
+
24
+ @req.locale = 'us'
25
+ tl = TagLookup.new( 'Awful' )
26
+ tl.response_group = ResponseGroup.new( :Tags, :TagsSummary )
27
+ response = @req.search( tl, nil )
28
+
29
+ tag = response.kernel
30
+
31
+ assert_equal( '2005-11-21 16:46:53', tag.first_tagging.time )
32
+
33
+ end
34
+
35
+ end
@@ -0,0 +1,35 @@
1
+ # $Id: tc_transaction_lookup.rb,v 1.1 2009/06/03 23:25:33 ianmacd Exp $
2
+ #
3
+
4
+ require 'test/unit'
5
+ require './setup'
6
+
7
+ class TestTransactionLookup < AWSTest
8
+
9
+ def test_transaction_lookup
10
+
11
+ @req.locale = 'us'
12
+ tl = TransactionLookup.new( '103-5663398-5028241' )
13
+ rg = ResponseGroup.new( :TransactionDetails )
14
+ response = @req.search( tl, rg )
15
+
16
+ trans = response.kernel
17
+
18
+ assert_equal( '2008-04-13T23:49:38', trans.transaction_date )
19
+
20
+ end
21
+
22
+ def test_transaction_lookup_no_response_group
23
+
24
+ @req.locale = 'us'
25
+ tl = TransactionLookup.new( '103-5663398-5028241' )
26
+ tl.response_group = ResponseGroup.new( :TransactionDetails )
27
+ response = @req.search( tl, nil )
28
+
29
+ trans = response.kernel
30
+
31
+ assert_equal( '2008-04-13T23:49:38', trans.transaction_date )
32
+
33
+ end
34
+
35
+ end
@@ -0,0 +1,106 @@
1
+ #!/usr/bin/ruby -w
2
+ #
3
+ # $Id: tc_vehicle_operations.rb,v 1.1 2009/02/19 15:50:03 ianmacd Exp $
4
+
5
+ require 'test/unit'
6
+ require './setup'
7
+
8
+ class TestVehicles < AWSTest
9
+
10
+ def test_vehicle_search
11
+ @req.locale = 'us'
12
+
13
+ # Get all cars for year 2008.
14
+ #
15
+ vs = VehicleSearch.new( { 'Year' => 2008 } )
16
+ rg = ResponseGroup.new( 'VehicleMakes' )
17
+ response = @req.search( vs, rg )
18
+
19
+ makes = response.vehicle_search_response[0].vehicle_years[0].
20
+ vehicle_year[0].vehicle_makes[0].vehicle_make
21
+ assert( makes.size > 0 )
22
+
23
+ make_id = makes.find { |make| make.make_name == 'Audi' }.make_id.to_i
24
+
25
+
26
+ # Get all Audi models from 2008.
27
+ #
28
+ vs = VehicleSearch.new( { 'Year' => 2008,
29
+ 'MakeId' => make_id } )
30
+ rg = ResponseGroup.new( 'VehicleModels' )
31
+ response = @req.search( vs, rg )
32
+
33
+ models = response.vehicle_search_response[0].vehicle_years[0].
34
+ vehicle_year[0].vehicle_makes[0].vehicle_make[0].
35
+ vehicle_models[0].vehicle_model
36
+ assert( models.size > 0 )
37
+
38
+ model_id = models.find { |model| model.model_name == 'R8' }.model_id.to_i
39
+
40
+ # Get all Audi R8 trim packages from 2008.
41
+ #
42
+ vs = VehicleSearch.new( { 'Year' => 2008,
43
+ 'MakeId' => make_id,
44
+ 'ModelId' => model_id } )
45
+ rg = ResponseGroup.new( 'VehicleTrims' )
46
+ response = @req.search( vs, rg )
47
+
48
+ trims = response.vehicle_search_response[0].vehicle_years[0].
49
+ vehicle_year[0].vehicle_makes[0].vehicle_make[0].
50
+ vehicle_models[0].vehicle_model[0].vehicle_trims[0].vehicle_trim
51
+ assert( trims.size > 0 )
52
+
53
+ trim_id = trims.find { |trim| trim.trim_name == 'Base' }.trim_id.to_i
54
+
55
+ vs = VehicleSearch.new( { 'Year' => 2008,
56
+ 'MakeId' => make_id,
57
+ 'ModelId' => model_id,
58
+ 'TrimId' => trim_id } )
59
+ rg = ResponseGroup.new( 'VehicleOptions' )
60
+ response = @req.search( vs, rg )
61
+
62
+ options = response.vehicle_search_response[0].vehicle_years[0].
63
+ vehicle_year[0].vehicle_makes[0].vehicle_make[0].
64
+ vehicle_models[0].vehicle_model[0].vehicle_trims[0].
65
+ vehicle_trim[0].vehicle_options[0]
66
+ engine = options.vehicle_engine_options.vehicle_engine
67
+ engine_name = engine.engine_name
68
+ engine_id = engine.engine_id
69
+ assert_not_nil( engine_name )
70
+
71
+ # Find parts for our 2008 Audi R8 with Base trim and whatever engine that
72
+ # trim package has.
73
+ #
74
+ vps = VehiclePartSearch.new( 2008, make_id, model_id,
75
+ { 'TrimId' => trim_id,
76
+ 'EngineId' => engine_id } )
77
+ rg = ResponseGroup.new( 'VehicleParts' )
78
+ response = @req.search( vps, rg )
79
+
80
+ parts = response.vehicle_part_search_response[0].vehicle_parts[0].part
81
+ assert( parts.size > 0 )
82
+
83
+ # Now, we do a reverse look-up.
84
+ #
85
+ # Go through all parts and test to see if they fit in our 2008 Audi R8
86
+ # Base trim. The answer should always be yes.
87
+ #
88
+ # part = parts[rand( parts.size - 1 )].item.asin
89
+
90
+ parts.each do |part|
91
+ vpl = VehiclePartLookup.new( part.item.asin,
92
+ { 'Year' => 2008,
93
+ 'MakeId' => make_id,
94
+ 'ModelId' => model_id,
95
+ 'TrimId' => trim_id } )
96
+
97
+ rg = ResponseGroup.new( 'VehiclePartFit' )
98
+ response = @req.search( vpl, rg )
99
+
100
+ fit = response.vehicle_part_lookup_response[0].vehicle_parts[0].part.
101
+ vehicle_part_fit.is_fit
102
+ assert_equal( 'YES', fit )
103
+ end
104
+ end
105
+
106
+ end