Index: third_party/gsutil/boto/tests/integration/mws/test.py |
diff --git a/third_party/gsutil/boto/tests/integration/mws/test.py b/third_party/gsutil/boto/tests/integration/mws/test.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4818258fa5e0c4c2f66ad23914c678f38e33b470 |
--- /dev/null |
+++ b/third_party/gsutil/boto/tests/integration/mws/test.py |
@@ -0,0 +1,100 @@ |
+#!/usr/bin/env python |
+try: |
+ from tests.unit import unittest |
+except ImportError: |
+ import unittest |
+import sys |
+import os |
+import os.path |
+ |
+ |
+simple = os.environ.get('MWS_MERCHANT', None) |
+if not simple: |
+ print """ |
+ Please set the MWS_MERCHANT environmental variable |
+ to your Merchant or SellerId to enable MWS tests. |
+ """ |
+ |
+ |
+advanced = False |
+isolator = True |
+if __name__ == "__main__": |
+ devpath = os.path.relpath(os.path.join('..', '..'), |
+ start=os.path.dirname(__file__)) |
+ sys.path = [devpath] + sys.path |
+ advanced = simple and True or False |
+ if advanced: |
+ print '>>> advanced MWS tests; using local boto sources' |
+ |
+from boto.mws.connection import MWSConnection |
+ |
+ |
+class MWSTestCase(unittest.TestCase): |
+ |
+ def setUp(self): |
+ self.mws = MWSConnection(Merchant=simple, debug=0) |
+ |
+ @unittest.skipUnless(simple and isolator, "skipping simple test") |
+ def test_feedlist(self): |
+ self.mws.get_feed_submission_list() |
+ |
+ @unittest.skipUnless(simple and isolator, "skipping simple test") |
+ def test_inbound_status(self): |
+ response = self.mws.get_inbound_service_status() |
+ status = response.GetServiceStatusResult.Status |
+ self.assertIn(status, ('GREEN', 'GREEN_I', 'YELLOW', 'RED')) |
+ |
+ @property |
+ def marketplace(self): |
+ response = self.mws.list_marketplace_participations() |
+ result = response.ListMarketplaceParticipationsResult |
+ return result.ListMarketplaces.Marketplace[0] |
+ |
+ @property |
+ def marketplace_id(self): |
+ return self.marketplace.MarketplaceId |
+ |
+ @unittest.skipUnless(simple and isolator, "skipping simple test") |
+ def test_marketplace_participations(self): |
+ response = self.mws.list_marketplace_participations() |
+ result = response.ListMarketplaceParticipationsResult |
+ self.assertTrue(result.ListMarketplaces.Marketplace[0].MarketplaceId) |
+ |
+ @unittest.skipUnless(simple and isolator, "skipping simple test") |
+ def test_get_product_categories_for_asin(self): |
+ asin = '144930544X' |
+ response = self.mws.get_product_categories_for_asin(\ |
+ MarketplaceId=self.marketplace_id, |
+ ASIN=asin) |
+ result = response._result |
+ self.assertTrue(int(result.Self.ProductCategoryId) == 21) |
+ |
+ @unittest.skipUnless(simple and isolator, "skipping simple test") |
+ def test_list_matching_products(self): |
+ response = self.mws.list_matching_products(\ |
+ MarketplaceId=self.marketplace_id, |
+ Query='boto') |
+ products = response._result.Products |
+ self.assertTrue(len(products)) |
+ |
+ @unittest.skipUnless(simple and isolator, "skipping simple test") |
+ def test_get_matching_product(self): |
+ asin = 'B001UDRNHO' |
+ response = self.mws.get_matching_product(\ |
+ MarketplaceId=self.marketplace_id, |
+ ASINList=[asin,]) |
+ product = response._result[0].Product |
+ |
+ |
+ @unittest.skipUnless(simple and isolator, "skipping simple test") |
+ def test_get_lowest_offer_listings_for_asin(self): |
+ asin = '144930544X' |
+ response = self.mws.get_lowest_offer_listings_for_asin(\ |
+ MarketplaceId=self.marketplace_id, |
+ ItemCondition='New', |
+ ASINList=[asin,]) |
+ product = response._result[0].Product |
+ self.assertTrue(product.LowestOfferListings) |
+ |
+if __name__ == "__main__": |
+ unittest.main() |