Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(332)

Unified Diff: tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/mws/test_connection.py

Issue 1260493004: Revert "Add gsutil 4.13 to telemetry/third_party" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/mws/test_connection.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/mws/test_connection.py b/tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/mws/test_connection.py
deleted file mode 100644
index fade578d3b333b83529562b11626f751fa8a8404..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/boto/tests/unit/mws/test_connection.py
+++ /dev/null
@@ -1,205 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Amazon.com, Inc. or its affiliates. All Rights Reserved
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish, dis-
-# tribute, sublicense, and/or sell copies of the Software, and to permit
-# persons to whom the Software is furnished to do so, subject to the fol-
-# lowing conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-#
-from boto.mws.connection import MWSConnection, api_call_map, destructure_object
-from boto.mws.response import (ResponseElement, GetFeedSubmissionListResult,
- ResponseFactory)
-from boto.exception import BotoServerError
-
-from tests.compat import unittest
-
-from tests.unit import AWSMockServiceTestCase
-
-from mock import MagicMock
-
-
-class TestMWSConnection(AWSMockServiceTestCase):
- connection_class = MWSConnection
- mws = True
-
- def default_body(self):
- return b"""<?xml version="1.0"?>
-<GetFeedSubmissionListResponse xmlns="http://mws.amazonservices.com/
-doc/2009-01-01/">
- <GetFeedSubmissionListResult>
- <NextToken>2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=</NextToken>
- <HasNext>true</HasNext>
- <FeedSubmissionInfo>
- <FeedSubmissionId>2291326430</FeedSubmissionId>
- <FeedType>_POST_PRODUCT_DATA_</FeedType>
- <SubmittedDate>2009-02-20T02:10:35+00:00</SubmittedDate>
- <FeedProcessingStatus>_SUBMITTED_</FeedProcessingStatus>
- </FeedSubmissionInfo>
- </GetFeedSubmissionListResult>
- <ResponseMetadata>
- <RequestId>1105b931-6f1c-4480-8e97-f3b467840a9e</RequestId>
- </ResponseMetadata>
-</GetFeedSubmissionListResponse>"""
-
- def default_body_error(self):
- return b"""<?xml version="1.0" encoding="UTF-8"?>
-<ErrorResponse xmlns="http://mws.amazonaws.com/doc/2009-01-01/">
- <!--1 or more repetitions:-->
- <Error>
- <Type>Sender</Type>
- <Code>string</Code>
- <Message>string</Message>
- <Detail>
- <!--You may enter ANY elements at this point-->
- <AnyElement xmlns=""/>
- </Detail>
- </Error>
- <RequestId>string</RequestId>
-</ErrorResponse>"""
-
- def test_destructure_object(self):
- # Test that parsing of user input to Amazon input works.
- response = ResponseElement()
- response.C = 'four'
- response.D = 'five'
- inputs = [
- ('A', 'B'), ['B', 'A'], set(['C']),
- False, 'String', {'A': 'one', 'B': 'two'},
- response,
- {'A': 'one', 'B': 'two',
- 'C': [{'D': 'four', 'E': 'five'},
- {'F': 'six', 'G': 'seven'}]},
- ]
- outputs = [
- {'Prefix.1': 'A', 'Prefix.2': 'B'},
- {'Prefix.1': 'B', 'Prefix.2': 'A'},
- {'Prefix.1': 'C'},
- {'Prefix': 'false'}, {'Prefix': 'String'},
- {'Prefix.A': 'one', 'Prefix.B': 'two'},
- {'Prefix.C': 'four', 'Prefix.D': 'five'},
- {'Prefix.A': 'one', 'Prefix.B': 'two',
- 'Prefix.C.member.1.D': 'four',
- 'Prefix.C.member.1.E': 'five',
- 'Prefix.C.member.2.F': 'six',
- 'Prefix.C.member.2.G': 'seven'}
- ]
- for user, amazon in zip(inputs, outputs):
- result = {}
- members = user is inputs[-1]
- destructure_object(user, result, prefix='Prefix', members=members)
- self.assertEqual(result, amazon)
-
- def test_decorator_order(self):
- for action, func in api_call_map.items():
- func = getattr(self.service_connection, func)
- decs = [func.__name__]
- while func:
- i = 0
- if not hasattr(func, '__closure__'):
- func = getattr(func, '__wrapped__', None)
- continue
- while i < len(func.__closure__):
- value = func.__closure__[i].cell_contents
- if hasattr(value, '__call__'):
- if 'requires' == value.__name__:
- self.assertTrue(not decs or decs[-1] == 'requires')
- decs.append(value.__name__)
- i += 1
- func = getattr(func, '__wrapped__', None)
-
- def test_built_api_call_map(self):
- # Ensure that the map is populated.
- # It starts empty, but the decorators should add to it as they're
- # applied. As of 2013/10/21, there were 52 calls (with more likely
- # to be added), so let's simply ensure there are enough there.
- self.assertTrue(len(api_call_map.keys()) > 50)
-
- def test_method_for(self):
- # First, ensure that the map is in "right enough" state.
- self.assertTrue('GetFeedSubmissionList' in api_call_map)
-
- # Make sure we can find the correct method.
- func = self.service_connection.method_for('GetFeedSubmissionList')
- # Ensure the right name was found.
- self.assertTrue(callable(func))
- ideal = self.service_connection.get_feed_submission_list
- self.assertEqual(func, ideal)
-
- # Check a non-existent action.
- func = self.service_connection.method_for('NotHereNorThere')
- self.assertEqual(func, None)
-
- def test_response_factory(self):
- connection = self.service_connection
- body = self.default_body()
- action = 'GetFeedSubmissionList'
- parser = connection._response_factory(action, connection=connection)
- response = connection._parse_response(parser, 'text/xml', body)
- self.assertEqual(response._action, action)
- self.assertEqual(response.__class__.__name__, action + 'Response')
- self.assertEqual(response._result.__class__,
- GetFeedSubmissionListResult)
-
- class MyResult(GetFeedSubmissionListResult):
- _hello = '_world'
-
- scope = {'GetFeedSubmissionListResult': MyResult}
- connection._setup_factories([scope])
-
- parser = connection._response_factory(action, connection=connection)
- response = connection._parse_response(parser, 'text/xml', body)
- self.assertEqual(response._action, action)
- self.assertEqual(response.__class__.__name__, action + 'Response')
- self.assertEqual(response._result.__class__, MyResult)
- self.assertEqual(response._result._hello, '_world')
- self.assertEqual(response._result.HasNext, 'true')
-
- def test_get_service_status(self):
- with self.assertRaises(AttributeError) as err:
- self.service_connection.get_service_status()
-
- self.assertTrue('products' in str(err.exception))
- self.assertTrue('inventory' in str(err.exception))
- self.assertTrue('feeds' in str(err.exception))
-
- def test_post_request(self):
-
- self.service_connection._mexe = MagicMock(
- side_effect=
- BotoServerError(500, 'You request has bee throttled', body=self.default_body_error()))
-
- with self.assertRaises(BotoServerError) as err:
- self.service_connection.get_lowest_offer_listings_for_asin(
- MarketplaceId='12345',
- ASINList='ASIN12345',
- condition='Any',
- SellerId='1234',
- excludeme='True')
-
- self.assertTrue('throttled' in str(err.reason))
- self.assertEqual(int(err.status), 200)
-
- def test_sandboxify(self):
- # Create one-off connection class that has self._sandboxed = True
- conn = MWSConnection(https_connection_factory=self.https_connection_factory,
- aws_access_key_id='aws_access_key_id',
- aws_secret_access_key='aws_secret_access_key',
- sandbox=True)
- self.assertEqual(conn._sandboxify('a/bogus/path'), 'a/bogus_Sandbox/path')
-
-if __name__ == '__main__':
- unittest.main()

Powered by Google App Engine
This is Rietveld 408576698