summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorINADA Naoki <inada-n@klab.com>2014-07-25 23:42:08 +0900
committerINADA Naoki <inada-n@klab.com>2014-07-25 23:42:08 +0900
commit5d905990d5b7515a35ede00f9e3588519d945b31 (patch)
treece3175080efb854a48211191da64e26d743bd4ef /tests
parentf7b79807ee728a08a1ce59966ceefc39b0c0c2e4 (diff)
downloadboto-5d905990d5b7515a35ede00f9e3588519d945b31.tar.gz
Use unittest.mock if exists.
Diffstat (limited to 'tests')
-rw-r--r--tests/compat.py6
-rw-r--r--tests/integration/sns/test_connection.py3
-rw-r--r--tests/unit/__init__.py11
-rw-r--r--tests/unit/auth/test_sigv4.py39
-rw-r--r--tests/unit/cloudfront/test_invalidation_list.py3
-rw-r--r--tests/unit/cloudsearch/test_exceptions.py3
-rw-r--r--tests/unit/cloudsearch/test_search.py3
-rw-r--r--tests/unit/cloudsearch2/test_exceptions.py3
-rw-r--r--tests/unit/cloudsearch2/test_search.py3
-rw-r--r--tests/unit/dynamodb2/test_table.py10
-rw-r--r--tests/unit/ec2/elb/test_attribute.py3
-rw-r--r--tests/unit/ec2/elb/test_loadbalancer.py3
-rw-r--r--tests/unit/ec2/test_address.py3
-rw-r--r--tests/unit/ec2/test_blockdevicemapping.py3
-rw-r--r--tests/unit/ec2/test_instance.py4
-rw-r--r--tests/unit/ec2/test_instancestatus.py4
-rw-r--r--tests/unit/ec2/test_networkinterface.py3
-rw-r--r--tests/unit/ec2/test_securitygroup.py4
-rw-r--r--tests/unit/ec2/test_volume.py3
-rw-r--r--tests/unit/glacier/test_concurrent.py3
-rw-r--r--tests/unit/glacier/test_job.py3
-rw-r--r--tests/unit/glacier/test_vault.py5
-rw-r--r--tests/unit/manage/test_ssh.py4
-rw-r--r--tests/unit/provider/test_provider.py3
-rw-r--r--tests/unit/route53/test_connection.py3
-rw-r--r--tests/unit/s3/test_connection.py3
-rw-r--r--tests/unit/s3/test_key.py3
-rw-r--r--tests/unit/test_connection.py3
-rw-r--r--tests/unit/utils/test_utils.py6
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