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