peddler 0.6.5 → 0.7.0

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.
Files changed (220) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +62 -81
  4. data/lib/mws/cart_information.rb +13 -0
  5. data/lib/mws/customer_information.rb +16 -0
  6. data/lib/mws/feeds.rb +110 -1
  7. data/lib/mws/fulfillment_inbound_shipment.rb +13 -1
  8. data/lib/mws/fulfillment_inventory.rb +15 -1
  9. data/lib/mws/fulfillment_outbound_shipment.rb +17 -1
  10. data/lib/mws/off_amazon_payments.rb +15 -1
  11. data/lib/mws/orders.rb +100 -1
  12. data/lib/mws/products.rb +238 -1
  13. data/lib/mws/recommendations.rb +13 -1
  14. data/lib/mws/reports.rb +221 -1
  15. data/lib/mws/sellers.rb +40 -1
  16. data/lib/mws/subscriptions.rb +175 -1
  17. data/lib/peddler/client.rb +77 -37
  18. data/lib/peddler/csv_parser.rb +42 -0
  19. data/lib/peddler/operation.rb +44 -0
  20. data/lib/peddler/parser.rb +21 -0
  21. data/lib/peddler/structured_list.rb +22 -0
  22. data/lib/peddler/version.rb +1 -1
  23. data/lib/peddler/xml_parser.rb +25 -0
  24. data/lib/peddler.rb +2 -0
  25. data/test/helper.rb +1 -1
  26. data/test/integration/test_feeds.rb +18 -0
  27. data/test/integration/test_orders.rb +22 -0
  28. data/test/integration/test_products.rb +53 -0
  29. data/test/integration/test_reports.rb +47 -0
  30. data/test/integration/test_sellers.rb +18 -0
  31. data/test/integration/test_subscriptions.rb +26 -0
  32. data/test/integration_helper.rb +41 -8
  33. data/test/mws.yml +32 -0
  34. data/test/mws.yml.example +4 -0
  35. data/test/unit/peddler/test_client.rb +97 -0
  36. data/test/unit/peddler/test_csv_parser.rb +24 -0
  37. data/test/unit/peddler/test_operation.rb +34 -0
  38. data/test/{peddler/request → unit/peddler}/test_structured_list.rb +5 -5
  39. data/test/unit/peddler/test_xml_parser.rb +19 -0
  40. data/test/{test_peddler.rb → unit/test_peddler.rb} +2 -2
  41. data/test/vcr_cassettes/Feeds.yml +695 -0
  42. data/test/vcr_cassettes/Orders.yml +29855 -0
  43. data/test/vcr_cassettes/Products.yml +8597 -0
  44. data/test/vcr_cassettes/Reports.yml +1881 -0
  45. data/test/vcr_cassettes/Sellers.yml +697 -0
  46. data/test/vcr_cassettes/Subscriptions.yml +1369 -0
  47. metadata +91 -297
  48. data/lib/mws/feeds/client.rb +0 -116
  49. data/lib/mws/feeds/parsers/feed.rb +0 -14
  50. data/lib/mws/feeds/parsers/feed_submission_count.rb +0 -10
  51. data/lib/mws/feeds/parsers/feed_submission_info.rb +0 -25
  52. data/lib/mws/feeds/parsers/feed_submission_list.rb +0 -23
  53. data/lib/mws/feeds/parsers/feed_submission_result.rb +0 -10
  54. data/lib/mws/feeds/parsers/feed_submissions.rb +0 -18
  55. data/lib/mws/feeds/requests/feed.rb +0 -38
  56. data/lib/mws/feeds/requests/feed_submission_count.rb +0 -20
  57. data/lib/mws/feeds/requests/feed_submission_list.rb +0 -30
  58. data/lib/mws/feeds/requests/feed_submission_result.rb +0 -18
  59. data/lib/mws/feeds/requests/feed_submissions.rb +0 -20
  60. data/lib/mws/fulfillment_inbound_shipment/client.rb +0 -7
  61. data/lib/mws/fulfillment_inventory/client.rb +0 -7
  62. data/lib/mws/fulfillment_outbound_shipment/client.rb +0 -7
  63. data/lib/mws/off_amazon_payments/client.rb +0 -7
  64. data/lib/mws/orders/client.rb +0 -98
  65. data/lib/mws/orders/parsers/invoice_data.rb +0 -25
  66. data/lib/mws/orders/parsers/order.rb +0 -113
  67. data/lib/mws/orders/parsers/order_item.rb +0 -110
  68. data/lib/mws/orders/parsers/order_items.rb +0 -23
  69. data/lib/mws/orders/parsers/orders.rb +0 -23
  70. data/lib/mws/orders/parsers/payment_execution_detail.rb +0 -20
  71. data/lib/mws/orders/parsers/payment_execution_detail_item.rb +0 -17
  72. data/lib/mws/orders/parsers/service_status.rb +0 -36
  73. data/lib/mws/orders/parsers/service_status_message.rb +0 -17
  74. data/lib/mws/orders/parsers/shipping_address.rb +0 -37
  75. data/lib/mws/orders/requests/order_items.rb +0 -28
  76. data/lib/mws/orders/requests/orders.rb +0 -41
  77. data/lib/mws/orders/requests/service_status.rb +0 -15
  78. data/lib/mws/products/client.rb +0 -7
  79. data/lib/mws/recommendations/client.rb +0 -7
  80. data/lib/mws/reports/client.rb +0 -249
  81. data/lib/mws/reports/parsers/report.rb +0 -10
  82. data/lib/mws/reports/parsers/report_acknowledgements.rb +0 -20
  83. data/lib/mws/reports/parsers/report_count.rb +0 -10
  84. data/lib/mws/reports/parsers/report_info.rb +0 -29
  85. data/lib/mws/reports/parsers/report_list.rb +0 -23
  86. data/lib/mws/reports/parsers/report_request.rb +0 -14
  87. data/lib/mws/reports/parsers/report_request_count.rb +0 -10
  88. data/lib/mws/reports/parsers/report_request_info.rb +0 -49
  89. data/lib/mws/reports/parsers/report_request_list.rb +0 -23
  90. data/lib/mws/reports/parsers/report_requests.rb +0 -18
  91. data/lib/mws/reports/parsers/report_schedule.rb +0 -21
  92. data/lib/mws/reports/parsers/report_schedule_count.rb +0 -10
  93. data/lib/mws/reports/parsers/report_schedule_list.rb +0 -23
  94. data/lib/mws/reports/parsers/report_scheduler.rb +0 -19
  95. data/lib/mws/reports/requests/report.rb +0 -18
  96. data/lib/mws/reports/requests/report_acknowledgements.rb +0 -27
  97. data/lib/mws/reports/requests/report_count.rb +0 -20
  98. data/lib/mws/reports/requests/report_list.rb +0 -30
  99. data/lib/mws/reports/requests/report_request.rb +0 -21
  100. data/lib/mws/reports/requests/report_request_count.rb +0 -20
  101. data/lib/mws/reports/requests/report_request_list.rb +0 -30
  102. data/lib/mws/reports/requests/report_requests.rb +0 -20
  103. data/lib/mws/reports/requests/report_schedule_count.rb +0 -19
  104. data/lib/mws/reports/requests/report_schedule_list.rb +0 -23
  105. data/lib/mws/reports/requests/report_scheduler.rb +0 -29
  106. data/lib/mws/sellers/client.rb +0 -53
  107. data/lib/mws/sellers/parsers/marketplace.rb +0 -33
  108. data/lib/mws/sellers/parsers/marketplace_participations.rb +0 -32
  109. data/lib/mws/sellers/parsers/participation.rb +0 -21
  110. data/lib/mws/sellers/parsers/service_status.rb +0 -36
  111. data/lib/mws/sellers/parsers/service_status_message.rb +0 -17
  112. data/lib/mws/sellers/requests/marketplace_participations.rb +0 -27
  113. data/lib/mws/sellers/requests/service_status.rb +0 -15
  114. data/lib/mws/subscriptions/client.rb +0 -7
  115. data/lib/peddler/parsers/base.rb +0 -15
  116. data/lib/peddler/parsers/collection.rb +0 -23
  117. data/lib/peddler/parsers/counter.rb +0 -13
  118. data/lib/peddler/parsers/model.rb +0 -42
  119. data/lib/peddler/parsers/text.rb +0 -8
  120. data/lib/peddler/parsers/tokenable.rb +0 -13
  121. data/lib/peddler/parsers/xml.rb +0 -30
  122. data/lib/peddler/request/parameters.rb +0 -57
  123. data/lib/peddler/request/structured_list.rb +0 -48
  124. data/lib/peddler/request.rb +0 -52
  125. data/lib/peddler/response/base.rb +0 -0
  126. data/lib/peddler/response/payload/base.rb +0 -0
  127. data/lib/peddler/response/payload/csv.rb +0 -0
  128. data/lib/peddler/response/payload/xml.rb +0 -0
  129. data/lib/peddler/response.rb +0 -27
  130. data/test/fixtures/feeds/feed_submission.xml +0 -14
  131. data/test/fixtures/feeds/feed_submission_count.xml +0 -9
  132. data/test/fixtures/feeds/feed_submission_list.xml +0 -17
  133. data/test/fixtures/feeds/feed_submissions.xml +0 -15
  134. data/test/fixtures/mws.yml +0 -12
  135. data/test/fixtures/mws.yml.example +0 -4
  136. data/test/fixtures/orders/order_items.xml +0 -83
  137. data/test/fixtures/orders/orders.xml +0 -109
  138. data/test/fixtures/orders/service_status.xml +0 -19
  139. data/test/fixtures/reports/report.xml +0 -8
  140. data/test/fixtures/reports/report_acknowledgements.xml +0 -18
  141. data/test/fixtures/reports/report_count.xml +0 -9
  142. data/test/fixtures/reports/report_list.xml +0 -17
  143. data/test/fixtures/reports/report_request_count.xml +0 -9
  144. data/test/fixtures/reports/report_request_list.xml +0 -24
  145. data/test/fixtures/reports/report_requests.xml +0 -19
  146. data/test/fixtures/reports/report_schedule_count.xml +0 -10
  147. data/test/fixtures/reports/report_schedule_list.xml +0 -16
  148. data/test/fixtures/reports/report_scheduler.xml +0 -15
  149. data/test/fixtures/sellers/market_participations.xml +0 -27
  150. data/test/fixtures/sellers/service_status.xml +0 -9
  151. data/test/integration/feeds/test_feed_submission_count.rb +0 -13
  152. data/test/integration/feeds/test_feed_submission_list.rb +0 -17
  153. data/test/integration/feeds/test_feed_submission_result.rb +0 -15
  154. data/test/integration/orders/test_order_items.rb +0 -19
  155. data/test/integration/orders/test_orders.rb +0 -23
  156. data/test/integration/orders/test_service_status.rb +0 -12
  157. data/test/integration/reports/test_report.rb +0 -15
  158. data/test/integration/reports/test_report_count.rb +0 -13
  159. data/test/integration/reports/test_report_list.rb +0 -17
  160. data/test/integration/reports/test_report_request_count.rb +0 -13
  161. data/test/integration/reports/test_report_request_list.rb +0 -17
  162. data/test/integration/reports/test_report_schedule_count.rb +0 -13
  163. data/test/integration/reports/test_report_schedule_list.rb +0 -13
  164. data/test/integration/reports/test_report_scheduler.rb +0 -16
  165. data/test/integration/sellers/test_marketplace_participations.rb +0 -13
  166. data/test/integration/sellers/test_service_status.rb +0 -12
  167. data/test/mws/feeds/parsers/test_feed.rb +0 -13
  168. data/test/mws/feeds/parsers/test_feed_submission_count.rb +0 -13
  169. data/test/mws/feeds/parsers/test_feed_submission_info.rb +0 -25
  170. data/test/mws/feeds/parsers/test_feed_submission_list.rb +0 -18
  171. data/test/mws/feeds/parsers/test_feed_submission_result.rb +0 -13
  172. data/test/mws/feeds/parsers/test_feed_submissions.rb +0 -17
  173. data/test/mws/feeds/requests/test_feed.rb +0 -63
  174. data/test/mws/feeds/requests/test_feed_submission_count.rb +0 -23
  175. data/test/mws/feeds/requests/test_feed_submission_list.rb +0 -37
  176. data/test/mws/feeds/requests/test_feed_submissions.rb +0 -29
  177. data/test/mws/orders/parsers/test_order.rb +0 -86
  178. data/test/mws/orders/parsers/test_order_item.rb +0 -69
  179. data/test/mws/orders/parsers/test_order_items.rb +0 -18
  180. data/test/mws/orders/parsers/test_orders.rb +0 -18
  181. data/test/mws/orders/parsers/test_payment_execution_detail.rb +0 -14
  182. data/test/mws/orders/parsers/test_payment_execution_detail_item.rb +0 -17
  183. data/test/mws/orders/parsers/test_service_status.rb +0 -39
  184. data/test/mws/orders/parsers/test_service_status_message.rb +0 -17
  185. data/test/mws/orders/parsers/test_shipping_address.rb +0 -36
  186. data/test/mws/orders/requests/test_order_items.rb +0 -36
  187. data/test/mws/orders/requests/test_orders.rb +0 -46
  188. data/test/mws/orders/requests/test_service_status.rb +0 -25
  189. data/test/mws/reports/parsers/test_report_acknowledgments.rb +0 -14
  190. data/test/mws/reports/parsers/test_report_count.rb +0 -13
  191. data/test/mws/reports/parsers/test_report_info.rb +0 -29
  192. data/test/mws/reports/parsers/test_report_list.rb +0 -18
  193. data/test/mws/reports/parsers/test_report_request.rb +0 -13
  194. data/test/mws/reports/parsers/test_report_request_count.rb +0 -13
  195. data/test/mws/reports/parsers/test_report_request_info.rb +0 -49
  196. data/test/mws/reports/parsers/test_report_request_list.rb +0 -18
  197. data/test/mws/reports/parsers/test_report_requests.rb +0 -17
  198. data/test/mws/reports/parsers/test_report_schedule_count.rb +0 -13
  199. data/test/mws/reports/parsers/test_report_schedule_list.rb +0 -18
  200. data/test/mws/reports/parsers/test_report_scheduler.rb +0 -17
  201. data/test/mws/reports/requests/test_acknowledgements.rb +0 -36
  202. data/test/mws/reports/requests/test_report_count.rb +0 -23
  203. data/test/mws/reports/requests/test_report_list.rb +0 -39
  204. data/test/mws/reports/requests/test_report_request.rb +0 -31
  205. data/test/mws/reports/requests/test_report_request_count.rb +0 -23
  206. data/test/mws/reports/requests/test_report_request_list.rb +0 -44
  207. data/test/mws/reports/requests/test_report_requests.rb +0 -29
  208. data/test/mws/reports/requests/test_report_schedule_count.rb +0 -22
  209. data/test/mws/reports/requests/test_report_schedule_list.rb +0 -36
  210. data/test/mws/reports/requests/test_report_scheduler.rb +0 -33
  211. data/test/mws/sellers/parsers/test_market_participations.rb +0 -19
  212. data/test/mws/sellers/parsers/test_service_status.rb +0 -35
  213. data/test/mws/sellers/requests/test_marketplace_participation_list.rb +0 -39
  214. data/test/mws/sellers/requests/test_service_status.rb +0 -25
  215. data/test/parser_helper.rb +0 -11
  216. data/test/peddler/parsers/test_collection.rb +0 -8
  217. data/test/peddler/parsers/test_model.rb +0 -70
  218. data/test/peddler/request/test_parameters.rb +0 -35
  219. data/test/peddler/test_client.rb +0 -42
  220. data/test/request_helper.rb +0 -20
@@ -1,39 +0,0 @@
1
- require 'request_helper'
2
- require 'mws/reports/requests/report_list'
3
-
4
- class ReportListRequestTest < RequestTest
5
- def mock_response_body
6
- <<-EOF
7
- <Response xmlns="ns">
8
- <Result>
9
- <NextToken>2YgYW55IPQhvu5hbCBwbGVhc3VyZS4=</NextToken>
10
- <HasNext>true</HasNext>
11
- <ReportInfo>
12
- <ReportId>898899473</ReportId>
13
- <ReportType>_GET_MERCHANT_LISTINGS_DATA_</ReportType>
14
- <ReportRequestId>2278662938</ReportRequestId>
15
- <AvailableDate>2009-02-10T09:22:33+00:00</AvailableDate>
16
- <Acknowledged>false</Acknowledged>
17
- </ReportInfo>
18
- </Result>
19
- </Response>
20
- EOF
21
- end
22
-
23
- def setup
24
- @reports = MWS::Reports::Requests::ReportList.new(mock_client)
25
- end
26
-
27
- def test_gets_report_list
28
- res = @reports.get
29
- assert_kind_of MWS::Reports::Parsers::ReportList, res
30
- end
31
-
32
- def test_gets_report_list_by_next_token
33
- mock_parsed_response = MiniTest::Mock.new
34
- mock_parsed_response.expect(:next_token, '123')
35
- @reports.last_parsed_response = mock_parsed_response
36
- res = @reports.get_by_next_token
37
- assert_kind_of MWS::Reports::Parsers::ReportList, res
38
- end
39
- end
@@ -1,31 +0,0 @@
1
- require 'request_helper'
2
- require 'mws/reports/requests/report_request'
3
-
4
- class ReportRequestSubmitTest < RequestTest
5
- def mock_response_body
6
- <<-EOF
7
- <Response xmlns="ns">
8
- <Result>
9
- <ReportRequestInfo>
10
- <ReportRequestId>2291326454</ReportRequestId>
11
- <ReportType>_GET_MERCHANT_LISTINGS_DATA_</ReportType>
12
- <StartDate>2009-01-21T02:10:39+00:00</StartDate>
13
- <EndDate>2009-02-13T02:10:39+00:00</EndDate>
14
- <Scheduled>false</Scheduled>
15
- <SubmittedDate>2009-02-20T02:10:39+00:00</SubmittedDate>
16
- <ReportProcessingStatus>_SUBMITTED_</ReportProcessingStatus>
17
- </ReportRequestInfo>
18
- </Result>
19
- </Response>
20
- EOF
21
- end
22
-
23
- def setup
24
- @report_request = MWS::Reports::Requests::ReportRequest.new(mock_client)
25
- end
26
-
27
- def test_submits_report_request
28
- res = @report_request.submit('_GET_MERCHANT_LISTINGS_DATA_')
29
- assert_kind_of MWS::Reports::Parsers::ReportRequest, res
30
- end
31
- end
@@ -1,23 +0,0 @@
1
- require 'request_helper'
2
- require 'mws/reports/requests/report_request_count'
3
-
4
- class ReportRequestCountRequestTest < RequestTest
5
- def mock_response_body
6
- <<-EOF
7
- <Response xmlns="ns">
8
- <Result>
9
- <Count>1</Count>
10
- </Result>
11
- </Response>
12
- EOF
13
- end
14
-
15
- def setup
16
- @count = MWS::Reports::Requests::ReportRequestCount.new(mock_client)
17
- end
18
-
19
- def test_gets_report_request_count
20
- res = @count.get(submitted_from_date: 0)
21
- assert_equal 1, res.count
22
- end
23
- end
@@ -1,44 +0,0 @@
1
- require 'request_helper'
2
- require 'mws/reports/requests/report_request_list'
3
-
4
- class ReportRequestListRequestTest < RequestTest
5
- def mock_response_body
6
- <<-EOF
7
- <Response xmlns="ns">
8
- <Result>
9
- <NextToken>123</NextToken>
10
- <ReportRequestInfo>
11
- <ReportRequestId>2291326454</ReportRequestId>
12
- <ReportType>_GET_MERCHANT_LISTINGS_DATA_</ReportType>
13
- <StartDate>2011-01-21T02:10:39+00:00</StartDate>
14
- <EndDate>2011-02-13T02:10:39+00:00</EndDate>
15
- <Scheduled>false</Scheduled>
16
- <SubmittedDate>2011-02-17T23:44:09+00:00</SubmittedDate>
17
- <ReportProcessingStatus>_DONE_</ReportProcessingStatus>
18
- <GeneratedReportId>3538561173</GeneratedReportId>
19
- <StartedProcessingDate>2011-02-17T23:44:43+00:00
20
- </StartedProcessingDate>
21
- <CompletedDate>2011-02-17T23:44:48+00:00</CompletedDate>
22
- </ReportRequestInfo>
23
- </Result>
24
- </Response>
25
- EOF
26
- end
27
-
28
- def setup
29
- @requests = MWS::Reports::Requests::ReportRequestList.new(mock_client)
30
- end
31
-
32
- def test_gets_report_request_list
33
- res = @requests.get(submitted_from_date: 0)
34
- assert_kind_of MWS::Reports::Parsers::ReportRequestList, res
35
- end
36
-
37
- def test_gets_report_request_list_by_next_token
38
- mock_parsed_response = MiniTest::Mock.new
39
- mock_parsed_response.expect(:next_token, '123')
40
- @requests.last_parsed_response = mock_parsed_response
41
- res = @requests.get_by_next_token
42
- assert_kind_of MWS::Reports::Parsers::ReportRequestList, res
43
- end
44
- end
@@ -1,29 +0,0 @@
1
- require 'request_helper'
2
- require 'mws/reports/requests/report_requests'
3
-
4
- class ReportRequestsRequesttTest < RequestTest
5
- def mock_response_body
6
- <<-EOF
7
- <Response xmlns="ns">
8
- <Result>
9
- <Count>1</Count>
10
- <ReportRequestInfo>
11
- <ReportRequestId>123456</ReportRequestId>
12
- <FeedType>_POST_PRODUCT_DATA_</FeedType>
13
- <SubmittedDate>2009-02-20T02:10:35+00:00</SubmittedDate>
14
- <FeedProcessingStatus>_CANCELLED_</FeedProcessingStatus>
15
- </ReportRequestInfo>
16
- </Result>
17
- </Response>
18
- EOF
19
- end
20
-
21
- def setup
22
- @reports = MWS::Reports::Requests::ReportRequests.new(mock_client)
23
- end
24
-
25
- def test_cancels_feedback_submissions
26
- res = @reports.cancel(submitted_from_date: 0)
27
- assert_kind_of MWS::Reports::Parsers::ReportRequests, res
28
- end
29
- end
@@ -1,22 +0,0 @@
1
- require 'request_helper'
2
- require 'mws/reports/requests/report_schedule_count'
3
-
4
- class ReportScheduleCountRequestTest < RequestTest
5
- def mock_response_body
6
- <<-EOF
7
- <Response xmlns="ns">
8
- <Result>
9
- <Count>1</Count>
10
- </Result>
11
- </Response>
12
- EOF
13
- end
14
-
15
- def setup
16
- @count = MWS::Reports::Requests::ReportScheduleCount.new(mock_client)
17
- end
18
-
19
- def test_gets_report_schedule_count
20
- assert_equal 1, @count.get.to_i
21
- end
22
- end
@@ -1,36 +0,0 @@
1
- require 'request_helper'
2
- require 'mws/reports/requests/report_schedule_list'
3
-
4
- class ReportScheduleListRequestTest < RequestTest
5
- def mock_response_body
6
- <<-EOF
7
- <Response xmlns="ns">
8
- <Result>
9
- <NextToken></NextToken>
10
- <HasNext>false</HasNext>
11
- <ReportRequestInfo>
12
- <ReportSchedule>
13
- <ReportType>_GET_ORDERS_DATA_</ReportType>
14
- <Schedule>_30_DAYS_</Schedule>
15
- <ScheduledDate>2009-02-20T02:10:42+00:00</ScheduledDate>
16
- </ReportSchedule>
17
- </Result>
18
- </Response>
19
- EOF
20
- end
21
-
22
- def setup
23
- @list = MWS::Reports::Requests::ReportScheduleList.new(mock_client)
24
- end
25
-
26
- def test_gets_report_request_list
27
- res = @list.get
28
- assert_kind_of MWS::Reports::Parsers::ReportScheduleList, res
29
- end
30
-
31
- def test_gets_report_request_list_by_next_token
32
- assert_raises(NotImplementedError) {
33
- @list.get_by_next_token
34
- }
35
- end
36
- end
@@ -1,33 +0,0 @@
1
- require 'request_helper'
2
- require 'mws/reports/requests/report_scheduler'
3
-
4
- class ReportSchedulerRequestTest < RequestTest
5
- def mock_response_body
6
- <<-EOF
7
- <Response xmlns="ns">
8
- <Result>
9
- <Count>1</Count>
10
- <ReportSchedule>
11
- <ReportType>_GET_ORDERS_DATA_</ReportType>
12
- <Schedule>_30_DAYS_</Schedule>
13
- <ScheduledDate>2009-02-20T02:10:42+00:00</ScheduledDate>
14
- </ReportSchedule>
15
- </Result>
16
- </Response>
17
- EOF
18
- end
19
-
20
- def setup
21
- @scheduler = MWS::Reports::Requests::ReportScheduler.new(mock_client)
22
- end
23
-
24
- def test_manages_report_schedule
25
- res = @scheduler.manage('_GET_ORDERS_DATA_', '_1_HOUR_')
26
- assert_kind_of MWS::Reports::Parsers::ReportScheduler, res
27
- end
28
-
29
- def test_deletes_report_schedule
30
- res = @scheduler.delete('_GET_ORDERS_DATA_')
31
- assert_kind_of MWS::Reports::Parsers::ReportScheduler, res
32
- end
33
- end
@@ -1,19 +0,0 @@
1
- require 'parser_helper'
2
- require 'mws/sellers/parsers/marketplace_participations'
3
-
4
- class SellerMarketParticipationsParserTest < ParserTest
5
- def setup
6
- node = fixture('sellers/market_participations').xpath('//xmlns:ListMarketplaceParticipationsResult')
7
- @mp = MWS::Sellers::Parsers::MarketplaceParticipations.new(node)
8
- end
9
-
10
- def test_has_marketplaces
11
- refute_empty @mp.marketplaces
12
- @mp.marketplaces.each { |marketplace| assert_kind_of MWS::Sellers::Parsers::Marketplace, marketplace }
13
- end
14
-
15
- def test_has_participations
16
- refute_empty @mp.participations
17
- @mp.participations.each { |participation| assert_kind_of MWS::Sellers::Parsers::Participation, participation }
18
- end
19
- end
@@ -1,35 +0,0 @@
1
- require 'parser_helper'
2
- require 'mws/sellers/parsers/service_status'
3
-
4
- class SellersServiceStatusParserTest < ParserTest
5
- def setup
6
- node = fixture('sellers/service_status').xpath('//xmlns:GetServiceStatusResult').first
7
- @service_status = MWS::Sellers::Parsers::ServiceStatus.new(node)
8
- end
9
-
10
- def test_status
11
- assert_kind_of String, @service_status.status
12
- end
13
-
14
- def test_timestamp
15
- assert_kind_of Time, @service_status.timestamp
16
- end
17
-
18
- def test_messages
19
- assert_kind_of Array, @service_status.messages
20
- end
21
-
22
- def test_ok?
23
- @service_status.stub(:status, 'GREEN') do
24
- assert @service_status.ok?
25
- end
26
-
27
- @service_status.stub(:status, 'RED') do
28
- refute @service_status.ok?
29
- end
30
- end
31
-
32
- def test_inspect
33
- assert_equal @service_status.status, @service_status.to_s
34
- end
35
- end
@@ -1,39 +0,0 @@
1
- require 'request_helper'
2
- require 'mws/sellers/requests/marketplace_participations'
3
-
4
- class MarketplaceParticipationsRequestTest < RequestTest
5
- def mock_response_body
6
- <<-EOF
7
- <Response xmlns="ns">
8
- <Result>
9
- <NextToken>MRgZW55IGNhcm5hbCBwbGVhc3VyZS6=</NextToken>
10
- <ListParticipations>
11
- <Participation>
12
- </Participation>
13
- </ListParticipations>
14
- <ListMarketplaces>
15
- <Marketplace>
16
- </Marketplace>
17
- </ListMarketplaces>
18
- </Result>
19
- </Response>
20
- EOF
21
- end
22
-
23
- def setup
24
- @mp = MWS::Sellers::Requests::MarketplaceParticipations.new(mock_client)
25
- end
26
-
27
- def test_lists_marketplace_participations
28
- res = @mp.list
29
- assert_kind_of MWS::Sellers::Parsers::MarketplaceParticipations, res
30
- end
31
-
32
- def test_gets_report_list_by_next_token
33
- mock_parsed_response = MiniTest::Mock.new
34
- mock_parsed_response.expect(:next_token, '123')
35
- @mp.last_parsed_response = mock_parsed_response
36
- res = @mp.list_by_next_token
37
- assert_kind_of MWS::Sellers::Parsers::MarketplaceParticipations, res
38
- end
39
- end
@@ -1,25 +0,0 @@
1
- require 'request_helper'
2
- require 'mws/sellers/requests/service_status'
3
-
4
- class MWSSellersServiceStatusRequestTest < RequestTest
5
- def mock_response_body
6
- <<-EOF
7
- <Response xmlns="ns">
8
- <Result>
9
- <GetServiceStatusResult>
10
- <Status>GREEN</Status>
11
- </GetServiceStatusResult>
12
- </Result>
13
- </Response>
14
- EOF
15
- end
16
-
17
- def setup
18
- @status = MWS::Sellers::Requests::ServiceStatus.new(mock_client)
19
- end
20
-
21
- def test_gets_status
22
- res = @status.get
23
- assert_kind_of MWS::Sellers::Parsers::ServiceStatus, res
24
- end
25
- end
@@ -1,11 +0,0 @@
1
- require 'helper'
2
- require 'nokogiri'
3
-
4
- class ParserTest < MiniTest::Test
5
- def fixture(type)
6
- file = File.expand_path("../fixtures/#{type}.xml", __FILE__)
7
- body = File.read(file)
8
-
9
- Nokogiri(body)
10
- end
11
- end
@@ -1,8 +0,0 @@
1
- require 'helper'
2
- require 'peddler/parsers/collection'
3
-
4
- class PeddlerCollectionParserTest < MiniTest::Test
5
- def test_is_enumerable
6
- assert_respond_to Peddler::Parsers::Collection.new(nil), :map
7
- end
8
- end
@@ -1,70 +0,0 @@
1
- require 'helper'
2
- require 'peddler/parsers/model'
3
- require 'nokogiri'
4
-
5
- class PeddlerModelParserTest < MiniTest::Test
6
- def build(xml)
7
- document = Nokogiri(xml)
8
- Peddler::Parsers::Model.new(document)
9
- end
10
-
11
- def test_parses_money
12
- xml = <<-EOF
13
- <Price xmlns="example">
14
- <CurrencyCode>USD</CurrencyCode>
15
- <Amount>10.00</Amount>
16
- </Price>
17
- EOF
18
- model = build(xml)
19
- money = model.money_at_xpath('Price')
20
- assert_equal '$10.00', money.format
21
- end
22
-
23
- def test_parses_japanese_yen
24
- xml = <<-EOF
25
- <Price xmlns="example">
26
- <CurrencyCode>JPY</CurrencyCode>
27
- <Amount>1000.00</Amount>
28
- </Price>
29
- EOF
30
- model = build(xml)
31
- money = model.money_at_xpath('Price')
32
- assert_equal '¥1,000', money.format
33
- end
34
-
35
- def test_parses_truthy_value
36
- xml = <<-EOF
37
- <Bool xmlns="example">
38
- true
39
- </Bool>
40
- EOF
41
- model = build(xml)
42
- assert_equal true, model.boolean_at_xpath('Bool')
43
-
44
- xml = <<-EOF
45
- <Bool xmlns="example">
46
- Yes
47
- </Bool>
48
- EOF
49
- model = build(xml)
50
- assert_equal true, model.boolean_at_xpath('Bool')
51
- end
52
-
53
- def test_parses_falsy_value
54
- xml = <<-EOF
55
- <Bool xmlns="example>
56
- false
57
- </Bool>
58
- EOF
59
- model = build(xml)
60
- assert_equal false, model.boolean_at_xpath('Bool')
61
-
62
- xml = <<-EOF
63
- <Bool xmlns="example>
64
- No
65
- </Bool>
66
- EOF
67
- model = build(xml)
68
- assert_equal false, model.boolean_at_xpath('Bool')
69
- end
70
- end
@@ -1,35 +0,0 @@
1
- require 'helper'
2
- require 'peddler/request/parameters'
3
-
4
- class PeddlerRequestParametersTest < MiniTest::Test
5
- def setup
6
- @parameters = Peddler::Request::Parameters.new(:do_it)
7
- end
8
-
9
- def test_has_an_action_key
10
- assert_equal 'DoIt', @parameters.fetch('Action')
11
- end
12
-
13
- def test_formats_timestamps
14
- ts = Minitest::Mock.new
15
- ts.expect(:iso8601, 'formatted')
16
- @parameters.store('a timestamp', ts)
17
- assert_equal 'formatted', @parameters.timestamp!.fetch('a timestamp')
18
- end
19
-
20
- def test_formats_structured_lists
21
- @parameters.store(:order_status, 'foo')
22
- assert_equal 'foo', @parameters.format_structured_lists!.fetch('OrderStatus.Status.1')
23
- end
24
-
25
- def test_camelizes_keys
26
- @parameters.store(:underscored_key, 'baz')
27
- refute @parameters.camelize_keys!.has_key?(:underscored_key)
28
- assert @parameters.has_key?('UnderscoredKey')
29
- end
30
-
31
- def test_updates_delegated_hash
32
- assert_kind_of Peddler::Request::Parameters, @parameters.update(key: 'value')
33
- assert_equal 'value', @parameters.fetch(:key)
34
- end
35
- end
@@ -1,42 +0,0 @@
1
- require 'helper'
2
- require 'peddler/client'
3
-
4
- class PeddlerClientTest < MiniTest::Test
5
- def setup
6
- @klass = Class.new(Peddler::Client)
7
- @client = @klass.new('US', 'key', 'secret', 'merchant_id')
8
- end
9
-
10
- def test_configures_path
11
- @klass.path('Foo')
12
- assert @client.aws_endpoint.match(/Foo$/)
13
- end
14
-
15
- def test_has_user_agent
16
- refute @client.connection.data[:headers].empty?
17
- end
18
-
19
- def test_returns_marketplace_ids
20
- refute_equal @client.marketplace_id('US'), @client.marketplace_id('GB')
21
- end
22
-
23
- def test_returns_default_marketplace_id
24
- assert_equal @client.marketplace_id, @client.marketplace_id('US')
25
- end
26
-
27
- def test_inherits_parent_params
28
- assert_equal Peddler::Client.params, @klass.params
29
- end
30
-
31
- def test_defines_constants_on_service
32
- refute_nil @klass.const_get(:HOSTS)
33
- end
34
-
35
- def test_has_a_key
36
- refute_nil @client.aws_access_key_id
37
- end
38
-
39
- def test_has_a_secret
40
- refute_nil @client.aws_secret_access_key
41
- end
42
- end
@@ -1,20 +0,0 @@
1
- require 'helper'
2
-
3
- class RequestTest < Minitest::Test
4
- def mock_response_body
5
- raise NotImplementedError
6
- end
7
-
8
- def mock_response
9
- res = Minitest::Mock.new
10
- res.expect(:body, mock_response_body)
11
-
12
- Peddler::Response.new(res)
13
- end
14
-
15
- def mock_client
16
- client = Minitest::Mock.new
17
- client.expect(:marketplace_id, '123456')
18
- client.expect(:post, mock_response, [Hash])
19
- end
20
- end