diff options
author | INADA Naoki <inada-n@klab.com> | 2014-07-25 23:42:08 +0900 |
---|---|---|
committer | INADA Naoki <inada-n@klab.com> | 2014-07-25 23:42:08 +0900 |
commit | 5d905990d5b7515a35ede00f9e3588519d945b31 (patch) | |
tree | ce3175080efb854a48211191da64e26d743bd4ef /tests | |
parent | f7b79807ee728a08a1ce59966ceefc39b0c0c2e4 (diff) | |
download | boto-5d905990d5b7515a35ede00f9e3588519d945b31.tar.gz |
Use unittest.mock if exists.
Diffstat (limited to 'tests')
29 files changed, 64 insertions, 86 deletions
diff --git a/tests/compat.py b/tests/compat.py index 335d17a8..783320f3 100644 --- a/tests/compat.py +++ b/tests/compat.py @@ -30,3 +30,9 @@ try: from collections import OrderedDict except ImportError: from ordereddict import OrderedDict + +# Use standard unittest.mock if possible. (mock doesn't support Python 3.4) +try: + from unittest import mock +except ImportError: + import mock diff --git a/tests/integration/sns/test_connection.py b/tests/integration/sns/test_connection.py index 72cb31a3..e5af487e 100644 --- a/tests/integration/sns/test_connection.py +++ b/tests/integration/sns/test_connection.py @@ -20,9 +20,8 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. from __future__ import with_statement -import mock -from tests.unit import unittest +from tests.compat import mock, unittest from boto.compat import http_client from boto.sns import connect_to_region diff --git a/tests/unit/__init__.py b/tests/unit/__init__.py index e9ed90ec..3187b87c 100644 --- a/tests/unit/__init__.py +++ b/tests/unit/__init__.py @@ -1,8 +1,5 @@ -import mock -from mock import Mock - from boto.compat import http_client -from tests.compat import unittest +from tests.compat import mock, unittest class AWSMockServiceTestCase(unittest.TestCase): """Base class for mocking aws services.""" @@ -12,10 +9,10 @@ class AWSMockServiceTestCase(unittest.TestCase): connection_class = None def setUp(self): - self.https_connection = Mock(spec=http_client.HTTPSConnection) + self.https_connection = mock.Mock(spec=http_client.HTTPSConnection) self.https_connection.debuglevel = 0 self.https_connection_factory = ( - Mock(return_value=self.https_connection), ()) + mock.Mock(return_value=self.https_connection), ()) self.service_connection = self.create_service_connection( https_connection_factory=self.https_connection_factory, aws_access_key_id='aws_access_key_id', @@ -40,7 +37,7 @@ class AWSMockServiceTestCase(unittest.TestCase): def create_response(self, status_code, reason='', header=[], body=None): if body is None: body = self.default_body() - response = Mock(spec=http_client.HTTPResponse) + response = mock.Mock(spec=http_client.HTTPResponse) response.status = status_code response.read.return_value = body response.reason = reason diff --git a/tests/unit/auth/test_sigv4.py b/tests/unit/auth/test_sigv4.py index 5b2fb382..8c16ebd0 100644 --- a/tests/unit/auth/test_sigv4.py +++ b/tests/unit/auth/test_sigv4.py @@ -20,10 +20,9 @@ # IN THE SOFTWARE. # import copy -import mock -from mock import Mock import os -from tests.unit import unittest, MockServiceWithConfigTestCase +from tests.compat import unittest, mock +from tests.unit import MockServiceWithConfigTestCase from boto.auth import HmacAuthV4Handler from boto.auth import S3HmacAuthV4Handler @@ -35,7 +34,7 @@ from boto.regioninfo import RegionInfo class TestSigV4Handler(unittest.TestCase): def setUp(self): - self.provider = Mock() + self.provider = mock.Mock() self.provider.access_key = 'access_key' self.provider.secret_key = 'secret_key' self.request = HTTPRequest( @@ -45,14 +44,14 @@ class TestSigV4Handler(unittest.TestCase): def test_not_adding_empty_qs(self): self.provider.security_token = None - auth = HmacAuthV4Handler('glacier.us-east-1.amazonaws.com', Mock(), self.provider) + auth = HmacAuthV4Handler('glacier.us-east-1.amazonaws.com', mock.Mock(), self.provider) req = copy.copy(self.request) auth.add_auth(req) self.assertEqual(req.path, '/-/vaults/foo/archives') def test_inner_whitespace_is_collapsed(self): auth = HmacAuthV4Handler('glacier.us-east-1.amazonaws.com', - Mock(), self.provider) + mock.Mock(), self.provider) self.request.headers['x-amz-archive-description'] = 'two spaces' self.request.headers['x-amz-quoted-string'] = ' "a b c" ' headers = auth.headers_to_sign(self.request) @@ -69,7 +68,7 @@ class TestSigV4Handler(unittest.TestCase): def test_canonical_query_string(self): auth = HmacAuthV4Handler('glacier.us-east-1.amazonaws.com', - Mock(), self.provider) + mock.Mock(), self.provider) request = HTTPRequest( 'GET', 'https', 'glacier.us-east-1.amazonaws.com', 443, '/-/vaults/foo/archives', None, {}, @@ -81,7 +80,7 @@ class TestSigV4Handler(unittest.TestCase): def test_query_string(self): auth = HmacAuthV4Handler('sns.us-east-1.amazonaws.com', - Mock(), self.provider) + mock.Mock(), self.provider) params = { 'Message': u'We \u2665 utf-8'.encode('utf-8'), } @@ -93,7 +92,7 @@ class TestSigV4Handler(unittest.TestCase): def test_canonical_uri(self): auth = HmacAuthV4Handler('glacier.us-east-1.amazonaws.com', - Mock(), self.provider) + mock.Mock(), self.provider) request = HTTPRequest( 'GET', 'https', 'glacier.us-east-1.amazonaws.com', 443, 'x/./././x .html', None, {}, @@ -103,7 +102,7 @@ class TestSigV4Handler(unittest.TestCase): self.assertEqual(canonical_uri, 'x/x%20.html') auth = HmacAuthV4Handler('glacier.us-east-1.amazonaws.com', - Mock(), self.provider) + mock.Mock(), self.provider) request = HTTPRequest( 'GET', 'https', 'glacier.us-east-1.amazonaws.com', 443, 'x/./././x/html/', None, {}, @@ -131,7 +130,7 @@ class TestSigV4Handler(unittest.TestCase): def test_credential_scope(self): # test the AWS standard regions IAM endpoint auth = HmacAuthV4Handler('iam.amazonaws.com', - Mock(), self.provider) + mock.Mock(), self.provider) request = HTTPRequest( 'POST', 'https', 'iam.amazonaws.com', 443, '/', '/', @@ -148,7 +147,7 @@ class TestSigV4Handler(unittest.TestCase): # test the AWS GovCloud region IAM endpoint auth = HmacAuthV4Handler('iam.us-gov.amazonaws.com', - Mock(), self.provider) + mock.Mock(), self.provider) request = HTTPRequest( 'POST', 'https', 'iam.us-gov.amazonaws.com', 443, '/', '/', @@ -167,7 +166,7 @@ class TestSigV4Handler(unittest.TestCase): # covers the remaining region_name control structure for a # different region name auth = HmacAuthV4Handler('iam.us-west-1.amazonaws.com', - Mock(), self.provider) + mock.Mock(), self.provider) request = HTTPRequest( 'POST', 'https', 'iam.us-west-1.amazonaws.com', 443, '/', '/', @@ -183,7 +182,7 @@ class TestSigV4Handler(unittest.TestCase): self.assertEqual(region_name, 'us-west-1') # Test connections to custom locations, e.g. localhost:8080 - auth = HmacAuthV4Handler('localhost', Mock(), self.provider, + auth = HmacAuthV4Handler('localhost', mock.Mock(), self.provider, service_name='iam') request = HTTPRequest( @@ -203,7 +202,7 @@ class TestSigV4Handler(unittest.TestCase): def test_headers_to_sign(self): auth = HmacAuthV4Handler('glacier.us-east-1.amazonaws.com', - Mock(), self.provider) + mock.Mock(), self.provider) request = HTTPRequest( 'GET', 'http', 'glacier.us-east-1.amazonaws.com', 80, 'x/./././x .html', None, {}, @@ -230,7 +229,7 @@ class TestSigV4Handler(unittest.TestCase): def test_region_and_service_can_be_overriden(self): auth = HmacAuthV4Handler('queue.amazonaws.com', - Mock(), self.provider) + mock.Mock(), self.provider) self.request.headers['X-Amz-Date'] = '20121121000000' auth.region_name = 'us-west-2' @@ -241,7 +240,7 @@ class TestSigV4Handler(unittest.TestCase): class TestS3HmacAuthV4Handler(unittest.TestCase): def setUp(self): - self.provider = Mock() + self.provider = mock.Mock() self.provider.access_key = 'access_key' self.provider.secret_key = 'secret_key' self.provider.security_token = 'sekret_tokens' @@ -269,7 +268,7 @@ class TestS3HmacAuthV4Handler(unittest.TestCase): ) self.auth = S3HmacAuthV4Handler( host='awesome-bucket.s3-us-west-2.amazonaws.com', - config=Mock(), + config=mock.Mock(), provider=self.provider, region_name='s3-us-west-2' ) @@ -294,7 +293,7 @@ class TestS3HmacAuthV4Handler(unittest.TestCase): def test_region_stripping(self): auth = S3HmacAuthV4Handler( host='s3-us-west-2.amazonaws.com', - config=Mock(), + config=mock.Mock(), provider=self.provider ) self.assertEqual(auth.region_name, None) @@ -302,7 +301,7 @@ class TestS3HmacAuthV4Handler(unittest.TestCase): # What we wish we got. auth = S3HmacAuthV4Handler( host='s3-us-west-2.amazonaws.com', - config=Mock(), + config=mock.Mock(), provider=self.provider, region_name='us-west-2' ) diff --git a/tests/unit/cloudfront/test_invalidation_list.py b/tests/unit/cloudfront/test_invalidation_list.py index 6eb57dea..e2dea4c2 100644 --- a/tests/unit/cloudfront/test_invalidation_list.py +++ b/tests/unit/cloudfront/test_invalidation_list.py @@ -1,9 +1,8 @@ #!/usr/bin/env python import random import string -from tests.unit import unittest +from tests.compat import unittest, mock -import mock import boto diff --git a/tests/unit/cloudsearch/test_exceptions.py b/tests/unit/cloudsearch/test_exceptions.py index 4467c331..03c31ecb 100644 --- a/tests/unit/cloudsearch/test_exceptions.py +++ b/tests/unit/cloudsearch/test_exceptions.py @@ -1,6 +1,5 @@ -import mock from boto.compat import json -from tests.unit import unittest +from tests.compat import mock, unittest from tests.unit.cloudsearch.test_search import HOSTNAME, \ CloudSearchSearchBaseTest diff --git a/tests/unit/cloudsearch/test_search.py b/tests/unit/cloudsearch/test_search.py index 051550d6..e8097640 100644 --- a/tests/unit/cloudsearch/test_search.py +++ b/tests/unit/cloudsearch/test_search.py @@ -1,10 +1,9 @@ #!/usr/bin env python -from tests.unit import unittest +from tests.compat import mock, unittest from httpretty import HTTPretty import json -import mock import requests from boto.cloudsearch.search import SearchConnection, SearchServiceException diff --git a/tests/unit/cloudsearch2/test_exceptions.py b/tests/unit/cloudsearch2/test_exceptions.py index 8610defc..ebf1b47c 100644 --- a/tests/unit/cloudsearch2/test_exceptions.py +++ b/tests/unit/cloudsearch2/test_exceptions.py @@ -1,6 +1,5 @@ -import mock from boto.compat import json -from tests.unit import unittest +from tests.compat import mock, unittest from tests.unit.cloudsearch2.test_search import HOSTNAME, \ CloudSearchSearchBaseTest diff --git a/tests/unit/cloudsearch2/test_search.py b/tests/unit/cloudsearch2/test_search.py index 4b804d8d..2fab1158 100644 --- a/tests/unit/cloudsearch2/test_search.py +++ b/tests/unit/cloudsearch2/test_search.py @@ -1,10 +1,9 @@ #!/usr/bin env python -from tests.unit import unittest +from tests.compat import mock, unittest from httpretty import HTTPretty import json -import mock from boto.cloudsearch2.search import SearchConnection, SearchServiceException from boto.compat import six, map diff --git a/tests/unit/dynamodb2/test_table.py b/tests/unit/dynamodb2/test_table.py index 8bd033c8..9c916ec5 100644 --- a/tests/unit/dynamodb2/test_table.py +++ b/tests/unit/dynamodb2/test_table.py @@ -1,5 +1,5 @@ -import mock from tests.unit import unittest +from tests.compat import mock from boto.dynamodb2 import exceptions from boto.dynamodb2.fields import (HashKey, RangeKey, AllIndex, KeysOnlyIndex, IncludeIndex, @@ -1551,6 +1551,14 @@ class TableTestCase(unittest.TestCase): self.assertEqual(self.users.throughput['read'], 9) self.assertEqual(self.users.throughput['write'], 5) + args = mock_update.call_args + self.assertEqual(len(args), 1) + self.assertEqual(args[0], 'users') + self.assertEqual(args[1]['provisioned_throughput'], { + 'WriteCapacityUnits': 5, + 'ReadCapacityUnits': 9, + }) + mock_update mock_update.assert_called_once_with( 'users', global_secondary_index_updates=[ diff --git a/tests/unit/ec2/elb/test_attribute.py b/tests/unit/ec2/elb/test_attribute.py index a03f8af6..78d32709 100644 --- a/tests/unit/ec2/elb/test_attribute.py +++ b/tests/unit/ec2/elb/test_attribute.py @@ -1,6 +1,5 @@ from tests.unit import unittest - -import mock +from tests.compat import mock from boto.ec2.elb import ELBConnection from boto.ec2.elb import LoadBalancer diff --git a/tests/unit/ec2/elb/test_loadbalancer.py b/tests/unit/ec2/elb/test_loadbalancer.py index 7c329240..754ca4f7 100644 --- a/tests/unit/ec2/elb/test_loadbalancer.py +++ b/tests/unit/ec2/elb/test_loadbalancer.py @@ -2,8 +2,7 @@ from tests.unit import unittest from tests.unit import AWSMockServiceTestCase - -import mock +from tests.compat import mock from boto.ec2.elb import ELBConnection from boto.ec2.elb import LoadBalancer diff --git a/tests/unit/ec2/test_address.py b/tests/unit/ec2/test_address.py index 1fbebe45..147040a0 100644 --- a/tests/unit/ec2/test_address.py +++ b/tests/unit/ec2/test_address.py @@ -1,5 +1,4 @@ -import mock -import unittest +from tests.compat import mock, unittest from boto.ec2.address import Address diff --git a/tests/unit/ec2/test_blockdevicemapping.py b/tests/unit/ec2/test_blockdevicemapping.py index 9352ae34..fa91fa3e 100644 --- a/tests/unit/ec2/test_blockdevicemapping.py +++ b/tests/unit/ec2/test_blockdevicemapping.py @@ -1,5 +1,4 @@ -import mock -import unittest +from tests.compat import mock, unittest from boto.ec2.connection import EC2Connection from boto.ec2.blockdevicemapping import BlockDeviceType, BlockDeviceMapping diff --git a/tests/unit/ec2/test_instance.py b/tests/unit/ec2/test_instance.py index 7e5d08ba..910337e8 100644 --- a/tests/unit/ec2/test_instance.py +++ b/tests/unit/ec2/test_instance.py @@ -1,11 +1,9 @@ #!/usr/bin/env python import base64 -from tests.unit import unittest +from tests.compat import unittest, mock from tests.unit import AWSMockServiceTestCase -import mock - from boto.ec2.connection import EC2Connection from boto.ec2.blockdevicemapping import BlockDeviceType, BlockDeviceMapping diff --git a/tests/unit/ec2/test_instancestatus.py b/tests/unit/ec2/test_instancestatus.py index 831310bd..fe75f9b6 100644 --- a/tests/unit/ec2/test_instancestatus.py +++ b/tests/unit/ec2/test_instancestatus.py @@ -1,10 +1,8 @@ #!/usr/bin/env python -from tests.unit import unittest +from tests.compat import mock, unittest from tests.unit import AWSMockServiceTestCase -import mock - from boto.ec2.connection import EC2Connection INSTANCE_STATUS_RESPONSE = br"""<?xml version="1.0" encoding="UTF-8"?> diff --git a/tests/unit/ec2/test_networkinterface.py b/tests/unit/ec2/test_networkinterface.py index 651b6b83..9e23f72b 100644 --- a/tests/unit/ec2/test_networkinterface.py +++ b/tests/unit/ec2/test_networkinterface.py @@ -21,8 +21,7 @@ # IN THE SOFTWARE. # -import mock -from tests.unit import unittest +from tests.compat import mock, unittest from boto.exception import BotoClientError from boto.ec2.networkinterface import NetworkInterfaceCollection diff --git a/tests/unit/ec2/test_securitygroup.py b/tests/unit/ec2/test_securitygroup.py index e4aaea47..e9601488 100644 --- a/tests/unit/ec2/test_securitygroup.py +++ b/tests/unit/ec2/test_securitygroup.py @@ -1,10 +1,8 @@ #!/usr/bin/env python -from tests.unit import unittest +from tests.compat import mock, unittest from tests.unit import AWSMockServiceTestCase -import mock - from boto.ec2.connection import EC2Connection from boto.ec2.securitygroup import SecurityGroup diff --git a/tests/unit/ec2/test_volume.py b/tests/unit/ec2/test_volume.py index 81c98318..a14ce6b3 100644 --- a/tests/unit/ec2/test_volume.py +++ b/tests/unit/ec2/test_volume.py @@ -1,5 +1,4 @@ -import mock -from tests.unit import unittest +from tests.compat import mock, unittest from boto.ec2.snapshot import Snapshot from boto.ec2.tag import Tag, TagSet diff --git a/tests/unit/glacier/test_concurrent.py b/tests/unit/glacier/test_concurrent.py index 37d8f180..dd33e170 100644 --- a/tests/unit/glacier/test_concurrent.py +++ b/tests/unit/glacier/test_concurrent.py @@ -23,8 +23,7 @@ import tempfile from boto.compat import Queue -import mock -from tests.unit import unittest +from tests.compat import mock, unittest from tests.unit import AWSMockServiceTestCase from boto.glacier.concurrent import ConcurrentUploader, ConcurrentDownloader diff --git a/tests/unit/glacier/test_job.py b/tests/unit/glacier/test_job.py index 2948f8d2..ac47ad8d 100644 --- a/tests/unit/glacier/test_job.py +++ b/tests/unit/glacier/test_job.py @@ -20,8 +20,7 @@ # IN THE SOFTWARE. # from boto.compat import StringIO -from tests.unit import unittest -import mock +from tests.compat import mock, unittest from boto.glacier.job import Job from boto.glacier.layer1 import Layer1 diff --git a/tests/unit/glacier/test_vault.py b/tests/unit/glacier/test_vault.py index a01e7454..68d9d784 100644 --- a/tests/unit/glacier/test_vault.py +++ b/tests/unit/glacier/test_vault.py @@ -20,11 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. # -import unittest from boto.compat import StringIO +from tests.compat import mock, unittest -import mock -from mock import ANY +ANY = mock.ANY from boto.glacier import vault from boto.glacier.job import Job diff --git a/tests/unit/manage/test_ssh.py b/tests/unit/manage/test_ssh.py index e604d47b..b1db654e 100644 --- a/tests/unit/manage/test_ssh.py +++ b/tests/unit/manage/test_ssh.py @@ -28,9 +28,7 @@ except ImportError: paramiko = None SSHClient = None -import mock - -from tests.unit import unittest +from tests.compat import mock, unittest class TestSSHTimeout(unittest.TestCase): diff --git a/tests/unit/provider/test_provider.py b/tests/unit/provider/test_provider.py index 14b22ec3..02cc48aa 100644 --- a/tests/unit/provider/test_provider.py +++ b/tests/unit/provider/test_provider.py @@ -1,8 +1,7 @@ #!/usr/bin/env python from datetime import datetime, timedelta -from tests.unit import unittest -import mock +from tests.compat import mock, unittest import os from boto import provider diff --git a/tests/unit/route53/test_connection.py b/tests/unit/route53/test_connection.py index 93e11cec..16df3747 100644 --- a/tests/unit/route53/test_connection.py +++ b/tests/unit/route53/test_connection.py @@ -20,7 +20,7 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. # -import mock +from tests.compat import mock, unittest import re import xml.dom.minidom @@ -32,7 +32,6 @@ from boto.route53.record import ResourceRecordSets, Record from boto.route53.zone import Zone from nose.plugins.attrib import attr -from tests.unit import unittest from tests.unit import AWSMockServiceTestCase @attr(route53=True) diff --git a/tests/unit/s3/test_connection.py b/tests/unit/s3/test_connection.py index e481c84c..35ebce97 100644 --- a/tests/unit/s3/test_connection.py +++ b/tests/unit/s3/test_connection.py @@ -19,10 +19,9 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. # -import mock import time -from tests.unit import unittest +from tests.compat import mock, unittest from tests.unit import AWSMockServiceTestCase from tests.unit import MockServiceWithConfigTestCase diff --git a/tests/unit/s3/test_key.py b/tests/unit/s3/test_key.py index f2df4b2b..ee8b686a 100644 --- a/tests/unit/s3/test_key.py +++ b/tests/unit/s3/test_key.py @@ -22,8 +22,7 @@ # from __future__ import with_statement -import mock -from tests.unit import unittest +from tests.compat import mock, unittest from tests.unit import AWSMockServiceTestCase from boto.compat import StringIO diff --git a/tests/unit/test_connection.py b/tests/unit/test_connection.py index 3ad7f994..5d726e06 100644 --- a/tests/unit/test_connection.py +++ b/tests/unit/test_connection.py @@ -21,11 +21,10 @@ # from __future__ import with_statement -import mock import os import socket -from tests.unit import unittest +from tests.compat import mock, unittest from httpretty import HTTPretty from boto.compat import json, parse_qs diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py index d49327ae..2e7ddbd3 100644 --- a/tests/unit/utils/test_utils.py +++ b/tests/unit/utils/test_utils.py @@ -19,16 +19,12 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. # -try: - import unittest2 as unittest -except ImportError: - import unittest +from tests.compat import mock, unittest import datetime import hashlib import hmac import locale -import mock import time import boto.utils |