kernow-ruby-aaws 0.5.4 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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