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.
- data/INSTALL +7 -6
- data/NEWS +600 -272
- data/README +250 -163
- data/README.rdoc +145 -129
- data/Rakefile +13 -32
- data/VERSION +1 -0
- data/example/batch_operation +27 -0
- data/example/example1 +3 -3
- data/example/item_lookup1 +5 -4
- data/example/item_lookup2 +5 -4
- data/example/multiple_operation1 +4 -3
- data/example/vehicle_search +22 -0
- data/lib/amazon.rb +34 -16
- data/lib/amazon/aws.rb +496 -161
- data/lib/amazon/aws/search.rb +148 -28
- data/ruby-aaws.gemspec +117 -0
- data/test/setup.rb +5 -2
- data/test/tc_aws.rb +2 -2
- data/test/tc_browse_node_lookup.rb +62 -0
- data/test/tc_customer_content_lookup.rb +64 -0
- data/test/tc_help.rb +60 -0
- data/test/tc_item_lookup.rb +60 -0
- data/test/tc_item_search.rb +88 -3
- data/test/tc_list_lookup.rb +55 -0
- data/test/tc_list_search.rb +55 -0
- data/test/tc_multiple_operation.rb +211 -4
- data/test/tc_seller_listing_lookup.rb +58 -0
- data/test/tc_seller_listing_search.rb +70 -0
- data/test/tc_seller_lookup.rb +54 -0
- data/test/tc_shopping_cart.rb +9 -9
- data/test/tc_similarity_lookup.rb +59 -0
- data/test/tc_tag_lookup.rb +35 -0
- data/test/tc_transaction_lookup.rb +35 -0
- data/test/tc_vehicle_operations.rb +106 -0
- data/test/ts_aws.rb +16 -4
- metadata +85 -49
- data/ruby-aws.gemspec +0 -57
- data/ruby-aws.spec +0 -177
@@ -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
|
data/test/tc_shopping_cart.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: tc_shopping_cart.rb,v 1.
|
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, '
|
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 == '
|
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, '
|
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 == '
|
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, '
|
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 == '
|
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, '
|
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, '
|
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
|