peddler 2.0.4 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -18
  3. data/lib/mws/fulfillment_inbound_shipment/client.rb +18 -0
  4. data/lib/mws/fulfillment_outbound_shipment/client.rb +0 -11
  5. data/lib/mws/reports/parser.rb +35 -0
  6. data/lib/peddler/errors/builder.rb +2 -1
  7. data/lib/peddler/errors/class_generator.rb +1 -0
  8. data/lib/peddler/flat_file_parser.rb +1 -0
  9. data/lib/peddler/headers.rb +4 -0
  10. data/lib/peddler/marketplace.rb +1 -0
  11. data/lib/peddler/operation.rb +12 -2
  12. data/lib/peddler/version.rb +1 -1
  13. data/lib/peddler/xml_parser.rb +1 -0
  14. data/lib/peddler/xml_response_parser.rb +1 -1
  15. data/test/helper.rb +1 -0
  16. data/test/integration/test_feeds.rb +3 -3
  17. data/test/integration/test_fulfillment_inbound_shipment.rb +3 -3
  18. data/test/integration/test_fulfillment_inventory.rb +2 -2
  19. data/test/integration/test_fulfillment_outbound_shipment.rb +1 -1
  20. data/test/integration/test_merchant_fulfillment.rb +57 -1
  21. data/test/integration/test_multibyte_queries.rb +1 -1
  22. data/test/integration/test_mws_headers.rb +1 -1
  23. data/test/integration/test_off_amazon_payments.rb +1 -1
  24. data/test/integration/test_orders.rb +2 -2
  25. data/test/integration/test_products.rb +12 -12
  26. data/test/integration/test_recommendations.rb +2 -2
  27. data/test/integration/test_reports.rb +6 -6
  28. data/test/integration/test_sellers.rb +1 -1
  29. data/test/integration/test_subscriptions.rb +3 -3
  30. data/test/integration_helper.rb +9 -7
  31. data/test/unit/mws/test_feeds_client.rb +6 -6
  32. data/test/unit/mws/test_finances_client.rb +5 -5
  33. data/test/unit/mws/test_fulfillment_inbound_shipment_client.rb +40 -24
  34. data/test/unit/mws/test_fulfillment_inventory_client.rb +3 -3
  35. data/test/unit/mws/test_fulfillment_outbound_shipment_client.rb +11 -11
  36. data/test/unit/mws/test_merchant_fulfillment_client.rb +5 -5
  37. data/test/unit/mws/test_off_amazon_payments_client.rb +17 -17
  38. data/test/unit/mws/test_orders_client.rb +7 -7
  39. data/test/unit/mws/test_products_client.rb +15 -15
  40. data/test/unit/mws/test_recommendations_client.rb +4 -4
  41. data/test/unit/mws/test_reports_client.rb +14 -14
  42. data/test/unit/mws/test_sellers_client.rb +3 -3
  43. data/test/unit/mws/test_subscriptions_client.rb +11 -11
  44. data/test/unit/peddler/errors/test_builder.rb +4 -4
  45. data/test/unit/peddler/errors/test_class_generator.rb +1 -1
  46. data/test/unit/peddler/errors/test_error.rb +5 -5
  47. data/test/unit/peddler/errors/test_parser.rb +4 -4
  48. data/test/unit/peddler/test_client.rb +20 -20
  49. data/test/unit/peddler/test_flat_file_parser.rb +11 -11
  50. data/test/unit/peddler/test_headers.rb +1 -1
  51. data/test/unit/peddler/test_marketplace.rb +1 -1
  52. data/test/unit/peddler/test_operation.rb +18 -12
  53. data/test/unit/peddler/test_parser.rb +3 -3
  54. data/test/unit/peddler/test_structured_list.rb +5 -5
  55. data/test/unit/peddler/test_vcr_matcher.rb +4 -4
  56. data/test/unit/peddler/test_xml_parser.rb +3 -3
  57. data/test/unit/peddler/test_xml_response_parser.rb +4 -4
  58. data/test/unit/test_mws.rb +1 -1
  59. data/test/vcr_cassettes/FulfillmentInboundShipment.yml +36 -36
  60. data/test/vcr_cassettes/MerchantFulfillment.yml +309 -1
  61. metadata +3 -2
@@ -4,14 +4,14 @@ require 'helper'
4
4
  require 'peddler/flat_file_parser'
5
5
 
6
6
  class TestPeddlerFlatFileParser < MiniTest::Test
7
- def test_parses_data
7
+ def test_parsing_data
8
8
  body = build_body("Feed Processing Summary:\n\tNumber of records processed\t\t11006\n\tNumber of records successful\t\t11006\n\noriginal-record-number\tsku\terror-code\terror-type\terror-message\n1822\t85da472e-ba6c-11e3-95af-002590a74356\t5000\tWarning\tThe update for Sku '85da472e-ba6c-11e3-95af-002590a74356' was skipped because it is identical to the update in feed '9518995390'.\n",
9
9
  encoding: Encoding::ASCII_8BIT)
10
10
  parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
11
11
  assert_kind_of CSV::Table, parser.parse
12
12
  end
13
13
 
14
- def test_parses_data_a_line_at_a_time
14
+ def test_parsing_data_a_line_at_a_time
15
15
  body = build_body("Feed Processing Summary:\n\tNumber of records processed\t\t11006\n\tNumber of records successful\t\t11006\n\noriginal-record-number\tsku\terror-code\terror-type\terror-message\n1822\t85da472e-ba6c-11e3-95af-002590a74356\t5000\tWarning\tThe update for Sku '85da472e-ba6c-11e3-95af-002590a74356' was skipped because it is identical to the update in feed '9518995390'.\n",
16
16
  encoding: Encoding::ASCII_8BIT)
17
17
  parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
@@ -20,21 +20,21 @@ class TestPeddlerFlatFileParser < MiniTest::Test
20
20
  assert counter.positive?
21
21
  end
22
22
 
23
- def test_works_around_empty_rows
23
+ def test_the_work_around_empty_rows
24
24
  body = build_body("Feed Processing Summary:\n\tNumber of records processed\t\t2\n\tNumber of records successful\t\t2\n\nfoo\tbar\n1\ta\n\n2\tb\n",
25
25
  encoding: Encoding::ASCII_8BIT)
26
26
  parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
27
27
  assert_equal 3, parser.parse.count
28
28
  end
29
29
 
30
- def test_summarises
30
+ def test_summary
31
31
  body = build_body("Feed Processing Summary:\n\tNumber of records processed\t\t11006\n\tNumber of records successful\t\t11006\n\noriginal-record-number\tsku\terror-code\terror-type\terror-message\n1822\t85da472e-ba6c-11e3-95af-002590a74356\t5000\tWarning\tThe update for Sku '85da472e-ba6c-11e3-95af-002590a74356' was skipped because it is identical to the update in feed '9518995390'.\n",
32
32
  encoding: Encoding::ASCII_8BIT)
33
33
  parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
34
34
  refute_empty parser.records_count
35
35
  end
36
36
 
37
- def test_summarises_non_english_reports
37
+ def test_summary_of_non_english_reports
38
38
  body = build_body("Riepilogo elaborazione feed:\n\tNumero record elaborati\t\t1\n\tNumero record elaborati con successo\t\t1\n\n",
39
39
  encoding: 'Cp1252')
40
40
  parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
@@ -48,38 +48,38 @@ class TestPeddlerFlatFileParser < MiniTest::Test
48
48
  assert parser.valid?
49
49
  end
50
50
 
51
- def test_handles_reports_without_a_summary
51
+ def test_handling_reports_without_a_summary
52
52
  response = OpenStruct.new(body: "Foo\nBar\n")
53
53
  parser = Peddler::FlatFileParser.new(response, 'ISO-8859-1')
54
54
  refute_empty parser.content
55
55
  end
56
56
 
57
- def test_handles_japanese_flat_files
57
+ def test_handling_japanese_flat_files
58
58
  body = build_body("Foo\nこんにちは\n", encoding: Encoding::SHIFT_JIS)
59
59
  parser = Peddler::FlatFileParser.new(build_mock_response(body), Encoding::WINDOWS_31J)
60
60
  assert_equal 'こんにちは', parser.parse[0]['Foo']
61
61
  end
62
62
 
63
- def test_handles_japanese_curly_braces
63
+ def test_handling_japanese_curly_braces
64
64
  body = build_body("Foo\n〝\n", encoding: Encoding::WINDOWS_31J)
65
65
  parser = Peddler::FlatFileParser.new(build_mock_response(body), Encoding::WINDOWS_31J)
66
66
  assert_equal '〝', parser.parse[0]['Foo']
67
67
  end
68
68
 
69
- def test_handles_latin_1_flat_files
69
+ def test_handling_latin_1_flat_files
70
70
  body = build_body("Foo\n™\n", encoding: 'Cp1252')
71
71
  parser = Peddler::FlatFileParser.new(build_mock_response(body), Encoding::CP1252)
72
72
  assert_equal '™', parser.parse['Foo'][0]
73
73
  end
74
74
 
75
- def test_handles_undefined_characters
75
+ def test_handling_undefined_characters
76
76
  body = +"Foo\n\xFF\n"
77
77
  body.force_encoding(Encoding::ASCII_8BIT)
78
78
  parser = Peddler::FlatFileParser.new(build_mock_response(body), Encoding::ASCII_8BIT)
79
79
  assert_equal '�', parser.parse['Foo'][0]
80
80
  end
81
81
 
82
- def test_handles_utf8_flat_files
82
+ def test_handling_utf8_flat_files
83
83
  body = "Foo\nfür\n"
84
84
  parser = Peddler::FlatFileParser.new(build_mock_response(body, ascii: false), Encoding::CP1252)
85
85
  assert_equal 'für', parser.parse['Foo'][0]
@@ -43,7 +43,7 @@ class TestPeddlerHeaders < MiniTest::Test
43
43
  assert mws_response_context
44
44
  end
45
45
 
46
- def test_handles_no_quota
46
+ def test_handling_no_quota
47
47
  @headers = {}
48
48
  assert_nil mws_quota_max
49
49
  assert_nil mws_quota_remaining
@@ -39,7 +39,7 @@ class TestPeddlerMarketplace < MiniTest::Test
39
39
  @marketplace = Peddler::Marketplace.find('US')
40
40
  end
41
41
 
42
- def test_translates_uk
42
+ def test_translation_of_uk_to_gb
43
43
  marketplace = Peddler::Marketplace.find('UK')
44
44
  assert_equal 'GB', marketplace.country_code
45
45
  end
@@ -8,7 +8,7 @@ class TestPeddlerOperation < MiniTest::Test
8
8
  @operation = Peddler::Operation.new('Foo')
9
9
  end
10
10
 
11
- def test_converts_key_to_structured_list
11
+ def test_that_it_converts_key_to_structured_list
12
12
  @operation.store('FooStatus', [1, 2])
13
13
  @operation.structure!('FooStatus', 'Foo')
14
14
  refute @operation.key?('FooStatus')
@@ -16,7 +16,7 @@ class TestPeddlerOperation < MiniTest::Test
16
16
  assert_equal 2, @operation['FooStatus.Foo.2']
17
17
  end
18
18
 
19
- def test_converts_nested_keys_to_structured_list
19
+ def test_that_it_converts_nested_keys_to_structured_list
20
20
  @operation.store('Foo.1.Status', [{ 'Baz' => 1 }])
21
21
  @operation.store('Foo.2.Status', [{ 'Baz' => 2 }])
22
22
  @operation.structure!('Status', 'Bar')
@@ -26,30 +26,36 @@ class TestPeddlerOperation < MiniTest::Test
26
26
  assert_equal 2, @operation['Foo.2.Status.Bar.1.Baz']
27
27
  end
28
28
 
29
- def test_store_camelizes_symbol_key
29
+ def test_that_store_camelizes_symbol_key
30
30
  @operation.store(:foo_bar, 'baz')
31
31
  assert @operation.key?('FooBar')
32
32
  refute @operation.key?(:foo_bar)
33
33
  end
34
34
 
35
- def test_store_wont_camelize_string_key
35
+ def test_that_store_wont_camelize_string_key
36
36
  @operation.store('foo_bar', 'baz')
37
37
  assert @operation.key?('foo_bar')
38
38
  refute @operation.key?('FooBar')
39
39
  end
40
40
 
41
- def test_store_wont_camelize_symbol_key_with_capital_letter
41
+ def test_that_store_wont_camelize_symbol_key_with_capital_letter
42
42
  @operation.store('MarketplaceId'.to_sym, '1')
43
43
  assert @operation.key?('MarketplaceId')
44
44
  end
45
45
 
46
- def test_store_upcases_sku
47
- @operation.store(:seller_sku, 'baz')
46
+ def test_that_store_upcases_sku
47
+ @operation.store(:seller_sku, 'foo')
48
48
  assert @operation.key?('SellerSKU')
49
49
  refute @operation.key?(:seller_sku)
50
50
  end
51
51
 
52
- def test_store_timestamps_time_values
52
+ def test_that_store_upcases_cod
53
+ @operation.store(:include_cod_fulfillment_preview, 'foo')
54
+ assert @operation.key?('IncludeCODFulfillmentPreview')
55
+ refute @operation.key?(:include_cod_fulfillment_preview)
56
+ end
57
+
58
+ def test_that_store_timestamps_time_values
53
59
  ts = Minitest::Mock.new
54
60
  ts.expect(:iso8601, 'foo')
55
61
  @operation.store('time', ts)
@@ -57,25 +63,25 @@ class TestPeddlerOperation < MiniTest::Test
57
63
  assert_equal 'foo', @operation.fetch('time')
58
64
  end
59
65
 
60
- def test_stringifies_hash_values
66
+ def test_stringifying_hash_values
61
67
  @operation.store('Foo', bar: 1)
62
68
  assert_equal 1, @operation.fetch('Foo.Bar')
63
69
  refute @operation.key?('Foo')
64
70
  end
65
71
 
66
- def test_stringifies_nested_hash_values
72
+ def test_stringifying_nested_hash_values
67
73
  @operation.store('Foo', bar: { baz: 1 })
68
74
  assert_equal 1, @operation.fetch('Foo.Bar.Baz')
69
75
  refute @operation.key?('Foo')
70
76
  end
71
77
 
72
- def test_stringifies_struct_values
78
+ def test_stringifying_struct_values
73
79
  @operation.store('Foo', Struct.new(:bar, :baz).new(1, 2))
74
80
  assert_equal 1, @operation.fetch('Foo.Bar')
75
81
  assert_equal 2, @operation.fetch('Foo.Baz')
76
82
  end
77
83
 
78
- def test_update_returns_delegator
84
+ def test_that_update_returns_delegator
79
85
  assert_kind_of Peddler::Operation, @operation.add(foo: 'bar')
80
86
  end
81
87
  end
@@ -16,19 +16,19 @@ class TestPeddlerParser < MiniTest::Test
16
16
  end
17
17
  end
18
18
 
19
- def test_parses_xml
19
+ def test_parsing_xml
20
20
  assert_parser Peddler::XMLParser,
21
21
  'text/xml',
22
22
  'text/xml; charset=UTF-8'
23
23
  end
24
24
 
25
- def test_parses_incorrect_content_type
25
+ def test_parsing_incorrect_content_type
26
26
  assert_parser Peddler::XMLParser,
27
27
  'xml; charset=UTF-8',
28
28
  body: '<?xml version="1.0"?><GetLowestOfferListingsForASINResponse>...'
29
29
  end
30
30
 
31
- def test_parses_flat_files
31
+ def test_parsing_flat_files
32
32
  assert_parser Peddler::FlatFileParser,
33
33
  'text/plain',
34
34
  'application/octet-stream'
@@ -8,29 +8,29 @@ class TestPeddlerStructuredList < MiniTest::Test
8
8
  @list = Peddler::StructuredList.new('OrderStatus', 'Status')
9
9
  end
10
10
 
11
- def test_builds_a_structured_list_for_a_single_value
11
+ def test_building_a_structured_list_for_a_single_value
12
12
  exp = { 'OrderStatus.Status.1' => 'foo' }
13
13
  assert_equal exp, @list.build('foo')
14
14
  end
15
15
 
16
- def test_builds_a_structured_list_for_an_array_of_values
16
+ def test_building_a_structured_list_for_an_array_of_values
17
17
  exp = { 'OrderStatus.Status.1' => 'foo', 'OrderStatus.Status.2' => 'bar' }
18
18
  assert_equal exp, @list.build(%w[foo bar])
19
19
  end
20
20
 
21
- def test_flattens_nested_arrays_of_values
21
+ def test_flattening_nested_arrays_of_values
22
22
  exp = { 'OrderStatus.Status.1' => 'foo', 'OrderStatus.Status.2' => 'bar' }
23
23
  assert_equal exp, @list.build([%w[foo bar]])
24
24
  end
25
25
 
26
- def test_handles_single_key
26
+ def test_handling_single_key
27
27
  list = Peddler::StructuredList.new('Foo')
28
28
  exp = { 'Foo.1' => 'bar' }
29
29
 
30
30
  assert_equal exp, list.build('bar')
31
31
  end
32
32
 
33
- def test_handles_more_than_two_keys
33
+ def test_handling_more_than_two_keys
34
34
  list = Peddler::StructuredList.new('QueryList', 'Query', '1', 'FilterOptions', 'FilterOption')
35
35
  exp = { 'QueryList.Query.1.FilterOptions.FilterOption.1' => 'foo' }
36
36
 
@@ -13,7 +13,7 @@ class TestPeddlerVCRMatcher < MiniTest::Test
13
13
  VCR.insert_cassette(test_name)
14
14
  end
15
15
 
16
- def test_matches_recorded_post_without_body
16
+ def test_matching_recorded_post_without_body
17
17
  client.run
18
18
  end
19
19
 
@@ -24,12 +24,12 @@ class TestPeddlerVCRMatcher < MiniTest::Test
24
24
  end
25
25
  end
26
26
 
27
- def test_matches_recorded_post_with_body
27
+ def test_matching_recorded_post_with_body
28
28
  client.body = 'content'
29
29
  client.run
30
30
  end
31
31
 
32
- def test_wont_match_unrecorded_post_with_different_query_and_same_body
32
+ def test_that_it_wont_match_unrecorded_post_with_different_query_and_same_body
33
33
  client.operation.add(foo: 'bar')
34
34
  client.body = 'content'
35
35
  assert_raises(VCR::Errors::UnhandledHTTPRequestError) do
@@ -37,7 +37,7 @@ class TestPeddlerVCRMatcher < MiniTest::Test
37
37
  end
38
38
  end
39
39
 
40
- def test_wont_match_unrecorded_post_with_same_query_and_different_body
40
+ def test_that_it_wont_match_unrecorded_post_with_same_query_and_different_body
41
41
  client.body = 'other content'
42
42
  assert_raises(VCR::Errors::UnhandledHTTPRequestError) do
43
43
  client.run
@@ -20,18 +20,18 @@ class TestPeddlerXMLParser < MiniTest::Test
20
20
  @parser = Parser.new(res)
21
21
  end
22
22
 
23
- def test_does_not_implement_parsing
23
+ def test_that_it_does_not_implement_parsing
24
24
  assert_raises(NotImplementedError) do
25
25
  @parser.parse
26
26
  end
27
27
  end
28
28
 
29
- def test_digs_data
29
+ def test_digging_data
30
30
  @parser.instance_variable_set :@data, foo: { bar: :baz }
31
31
  assert_equal :baz, @parser.dig(:foo, :bar)
32
32
  end
33
33
 
34
- def test_validates
34
+ def test_validation
35
35
  assert @parser.valid?
36
36
  end
37
37
  end
@@ -4,25 +4,25 @@ require 'helper'
4
4
  require 'peddler/xml_response_parser'
5
5
 
6
6
  class TestPeddlerXMLResponseParser < MiniTest::Test
7
- def test_parses_responses
7
+ def test_parsing_responses
8
8
  body = '<Response><Result><Foo>Bar</Foo></Result></Response>'
9
9
  parser = Peddler::XMLResponseParser.new(response(body))
10
10
  assert_equal 'Bar', parser.parse['Foo']
11
11
  end
12
12
 
13
- def test_parses_messages
13
+ def test_parsing_messages
14
14
  body = '<Response><MessageType>ProcessingReport</MessageType><Message><Foo>Bar</Foo></Message></Response>'
15
15
  parser = Peddler::XMLResponseParser.new(response(body))
16
16
  assert_equal 'Bar', parser.parse['Foo']
17
17
  end
18
18
 
19
- def test_parses_reports
19
+ def test_parsing_reports
20
20
  body = '<fooReports><fooReport><foo>Bar</foo></fooReport></fooReports>'
21
21
  parser = Peddler::XMLResponseParser.new(response(body))
22
22
  assert_equal 'Bar', parser.parse['foo']
23
23
  end
24
24
 
25
- def test_parses_next_token
25
+ def test_parsing_next_token
26
26
  body = '<Response><Result><NextToken>123</NextToken></Result></Response>'
27
27
  parser = Peddler::XMLResponseParser.new(response(body))
28
28
  assert_equal '123', parser.next_token
@@ -4,7 +4,7 @@ require 'helper'
4
4
  require 'mws'
5
5
 
6
6
  class Test < MiniTest::Test
7
- def test_delegates_to_apis
7
+ def test_delegation_to_apis
8
8
  assert_equal MWS.constants.size, MWS.methods(false).size
9
9
  assert_kind_of MWS::Products::Client, MWS.products
10
10
  end
@@ -46,12 +46,12 @@ http_interactions:
46
46
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
47
47
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
48
48
  <ShipToAddress>
49
- <City>Whitestown</City>
49
+ <City>FILTERED</City>
50
50
  <CountryCode>US</CountryCode>
51
51
  <PostalCode>FILTERED</PostalCode>
52
52
  <Name>FILTERED</Name>
53
53
  <AddressLine1>FILTERED</AddressLine1>
54
- <StateOrProvinceCode>IN</StateOrProvinceCode>
54
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
55
55
  </ShipToAddress>
56
56
  <Items>
57
57
  <member>
@@ -116,12 +116,12 @@ http_interactions:
116
116
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
117
117
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
118
118
  <ShipToAddress>
119
- <City>Whitestown</City>
119
+ <City>FILTERED</City>
120
120
  <CountryCode>US</CountryCode>
121
121
  <PostalCode>FILTERED</PostalCode>
122
122
  <Name>FILTERED</Name>
123
123
  <AddressLine1>FILTERED</AddressLine1>
124
- <StateOrProvinceCode>IN</StateOrProvinceCode>
124
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
125
125
  </ShipToAddress>
126
126
  <Items>
127
127
  <member>
@@ -186,12 +186,12 @@ http_interactions:
186
186
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
187
187
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
188
188
  <ShipToAddress>
189
- <City>Whitestown</City>
189
+ <City>FILTERED</City>
190
190
  <CountryCode>US</CountryCode>
191
191
  <PostalCode>FILTERED</PostalCode>
192
192
  <Name>FILTERED</Name>
193
193
  <AddressLine1>FILTERED</AddressLine1>
194
- <StateOrProvinceCode>IN</StateOrProvinceCode>
194
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
195
195
  </ShipToAddress>
196
196
  <Items>
197
197
  <member>
@@ -256,12 +256,12 @@ http_interactions:
256
256
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
257
257
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
258
258
  <ShipToAddress>
259
- <City>Whitestown</City>
259
+ <City>FILTERED</City>
260
260
  <CountryCode>US</CountryCode>
261
261
  <PostalCode>FILTERED</PostalCode>
262
262
  <Name>FILTERED</Name>
263
263
  <AddressLine1>FILTERED</AddressLine1>
264
- <StateOrProvinceCode>IN</StateOrProvinceCode>
264
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
265
265
  </ShipToAddress>
266
266
  <Items>
267
267
  <member>
@@ -756,12 +756,12 @@ http_interactions:
756
756
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
757
757
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
758
758
  <ShipToAddress>
759
- <City>Whitestown</City>
759
+ <City>FILTERED</City>
760
760
  <CountryCode>US</CountryCode>
761
761
  <PostalCode>FILTERED</PostalCode>
762
762
  <Name>FILTERED</Name>
763
763
  <AddressLine1>FILTERED</AddressLine1>
764
- <StateOrProvinceCode>IN</StateOrProvinceCode>
764
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
765
765
  </ShipToAddress>
766
766
  <Items>
767
767
  <member>
@@ -826,12 +826,12 @@ http_interactions:
826
826
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
827
827
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
828
828
  <ShipToAddress>
829
- <City>Whitestown</City>
829
+ <City>FILTERED</City>
830
830
  <CountryCode>US</CountryCode>
831
831
  <PostalCode>FILTERED</PostalCode>
832
832
  <Name>FILTERED</Name>
833
833
  <AddressLine1>FILTERED</AddressLine1>
834
- <StateOrProvinceCode>IN</StateOrProvinceCode>
834
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
835
835
  </ShipToAddress>
836
836
  <Items>
837
837
  <member>
@@ -896,12 +896,12 @@ http_interactions:
896
896
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
897
897
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
898
898
  <ShipToAddress>
899
- <City>Whitestown</City>
899
+ <City>FILTERED</City>
900
900
  <CountryCode>US</CountryCode>
901
901
  <PostalCode>FILTERED</PostalCode>
902
902
  <Name>FILTERED</Name>
903
903
  <AddressLine1>FILTERED</AddressLine1>
904
- <StateOrProvinceCode>IN</StateOrProvinceCode>
904
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
905
905
  </ShipToAddress>
906
906
  <Items>
907
907
  <member>
@@ -966,12 +966,12 @@ http_interactions:
966
966
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
967
967
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
968
968
  <ShipToAddress>
969
- <City>Whitestown</City>
969
+ <City>FILTERED</City>
970
970
  <CountryCode>US</CountryCode>
971
971
  <PostalCode>FILTERED</PostalCode>
972
972
  <Name>FILTERED</Name>
973
973
  <AddressLine1>FILTERED</AddressLine1>
974
- <StateOrProvinceCode>IN</StateOrProvinceCode>
974
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
975
975
  </ShipToAddress>
976
976
  <Items>
977
977
  <member>
@@ -1036,12 +1036,12 @@ http_interactions:
1036
1036
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
1037
1037
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
1038
1038
  <ShipToAddress>
1039
- <City>Whitestown</City>
1039
+ <City>FILTERED</City>
1040
1040
  <CountryCode>US</CountryCode>
1041
1041
  <PostalCode>FILTERED</PostalCode>
1042
1042
  <Name>FILTERED</Name>
1043
1043
  <AddressLine1>FILTERED</AddressLine1>
1044
- <StateOrProvinceCode>IN</StateOrProvinceCode>
1044
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
1045
1045
  </ShipToAddress>
1046
1046
  <Items>
1047
1047
  <member>
@@ -1108,12 +1108,12 @@ http_interactions:
1108
1108
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
1109
1109
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
1110
1110
  <ShipToAddress>
1111
- <City>Whitestown</City>
1111
+ <City>FILTERED</City>
1112
1112
  <CountryCode>US</CountryCode>
1113
1113
  <PostalCode>FILTERED</PostalCode>
1114
1114
  <Name>FILTERED</Name>
1115
1115
  <AddressLine1>FILTERED</AddressLine1>
1116
- <StateOrProvinceCode>IN</StateOrProvinceCode>
1116
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
1117
1117
  </ShipToAddress>
1118
1118
  <Items>
1119
1119
  <member>
@@ -1675,12 +1675,12 @@ http_interactions:
1675
1675
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
1676
1676
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
1677
1677
  <ShipToAddress>
1678
- <City>Whitestown</City>
1678
+ <City>FILTERED</City>
1679
1679
  <CountryCode>US</CountryCode>
1680
1680
  <PostalCode>FILTERED</PostalCode>
1681
1681
  <Name>FILTERED</Name>
1682
1682
  <AddressLine1>FILTERED</AddressLine1>
1683
- <StateOrProvinceCode>IN</StateOrProvinceCode>
1683
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
1684
1684
  </ShipToAddress>
1685
1685
  <Items>
1686
1686
  <member>
@@ -2242,12 +2242,12 @@ http_interactions:
2242
2242
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
2243
2243
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
2244
2244
  <ShipToAddress>
2245
- <City>Whitestown</City>
2245
+ <City>FILTERED</City>
2246
2246
  <CountryCode>US</CountryCode>
2247
2247
  <PostalCode>FILTERED</PostalCode>
2248
2248
  <Name>FILTERED</Name>
2249
2249
  <AddressLine1>FILTERED</AddressLine1>
2250
- <StateOrProvinceCode>IN</StateOrProvinceCode>
2250
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
2251
2251
  </ShipToAddress>
2252
2252
  <Items>
2253
2253
  <member>
@@ -2809,12 +2809,12 @@ http_interactions:
2809
2809
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
2810
2810
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
2811
2811
  <ShipToAddress>
2812
- <City>Whitestown</City>
2812
+ <City>FILTERED</City>
2813
2813
  <CountryCode>US</CountryCode>
2814
2814
  <PostalCode>FILTERED</PostalCode>
2815
2815
  <Name>FILTERED</Name>
2816
2816
  <AddressLine1>FILTERED</AddressLine1>
2817
- <StateOrProvinceCode>IN</StateOrProvinceCode>
2817
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
2818
2818
  </ShipToAddress>
2819
2819
  <Items>
2820
2820
  <member>
@@ -3376,12 +3376,12 @@ http_interactions:
3376
3376
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
3377
3377
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
3378
3378
  <ShipToAddress>
3379
- <City>Whitestown</City>
3379
+ <City>FILTERED</City>
3380
3380
  <CountryCode>US</CountryCode>
3381
3381
  <PostalCode>FILTERED</PostalCode>
3382
3382
  <Name>FILTERED</Name>
3383
3383
  <AddressLine1>FILTERED</AddressLine1>
3384
- <StateOrProvinceCode>IN</StateOrProvinceCode>
3384
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
3385
3385
  </ShipToAddress>
3386
3386
  <Items>
3387
3387
  <member>
@@ -3943,12 +3943,12 @@ http_interactions:
3943
3943
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
3944
3944
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
3945
3945
  <ShipToAddress>
3946
- <City>Whitestown</City>
3946
+ <City>FILTERED</City>
3947
3947
  <CountryCode>US</CountryCode>
3948
3948
  <PostalCode>FILTERED</PostalCode>
3949
3949
  <Name>FILTERED</Name>
3950
3950
  <AddressLine1>FILTERED</AddressLine1>
3951
- <StateOrProvinceCode>IN</StateOrProvinceCode>
3951
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
3952
3952
  </ShipToAddress>
3953
3953
  <Items>
3954
3954
  <member>
@@ -4510,12 +4510,12 @@ http_interactions:
4510
4510
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
4511
4511
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
4512
4512
  <ShipToAddress>
4513
- <City>Whitestown</City>
4513
+ <City>FILTERED</City>
4514
4514
  <CountryCode>US</CountryCode>
4515
4515
  <PostalCode>FILTERED</PostalCode>
4516
4516
  <Name>FILTERED</Name>
4517
4517
  <AddressLine1>FILTERED</AddressLine1>
4518
- <StateOrProvinceCode>IN</StateOrProvinceCode>
4518
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
4519
4519
  </ShipToAddress>
4520
4520
  <Items>
4521
4521
  <member>
@@ -5077,12 +5077,12 @@ http_interactions:
5077
5077
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
5078
5078
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
5079
5079
  <ShipToAddress>
5080
- <City>Whitestown</City>
5080
+ <City>FILTERED</City>
5081
5081
  <CountryCode>US</CountryCode>
5082
5082
  <PostalCode>FILTERED</PostalCode>
5083
5083
  <Name>FILTERED</Name>
5084
5084
  <AddressLine1>FILTERED</AddressLine1>
5085
- <StateOrProvinceCode>IN</StateOrProvinceCode>
5085
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
5086
5086
  </ShipToAddress>
5087
5087
  <Items>
5088
5088
  <member>
@@ -5644,12 +5644,12 @@ http_interactions:
5644
5644
  <DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
5645
5645
  <LabelPrepType>SELLER_LABEL</LabelPrepType>
5646
5646
  <ShipToAddress>
5647
- <City>Whitestown</City>
5647
+ <City>FILTERED</City>
5648
5648
  <CountryCode>US</CountryCode>
5649
5649
  <PostalCode>FILTERED</PostalCode>
5650
5650
  <Name>FILTERED</Name>
5651
5651
  <AddressLine1>FILTERED</AddressLine1>
5652
- <StateOrProvinceCode>IN</StateOrProvinceCode>
5652
+ <StateOrProvinceCode>FILTERED</StateOrProvinceCode>
5653
5653
  </ShipToAddress>
5654
5654
  <Items>
5655
5655
  <member>