peddler 0.6.5 → 0.7.0

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