diff --git a/tests/test_channel.py b/tests/test_channel.py
index f6a6d55..0e348a5 100644
--- a/tests/test_channel.py
+++ b/tests/test_channel.py
@@ -5,8 +5,8 @@
 import unittest
 import datetime
 
-from apiclient import channel
-from apiclient import errors
+from googleapiclient import channel
+from googleapiclient import errors
 
 
 class TestChannel(unittest.TestCase):
diff --git a/tests/test_discovery.py b/tests/test_discovery.py
index 499edda..3d30d8c 100644
--- a/tests/test_discovery.py
+++ b/tests/test_discovery.py
@@ -40,29 +40,29 @@
   from cgi import parse_qs
 
 
-from apiclient.discovery import _fix_up_media_upload
-from apiclient.discovery import _fix_up_method_description
-from apiclient.discovery import _fix_up_parameters
-from apiclient.discovery import build
-from apiclient.discovery import build_from_document
-from apiclient.discovery import DISCOVERY_URI
-from apiclient.discovery import key2param
-from apiclient.discovery import MEDIA_BODY_PARAMETER_DEFAULT_VALUE
-from apiclient.discovery import ResourceMethodParameters
-from apiclient.discovery import STACK_QUERY_PARAMETERS
-from apiclient.discovery import STACK_QUERY_PARAMETER_DEFAULT_VALUE
-from apiclient.errors import HttpError
-from apiclient.errors import InvalidJsonError
-from apiclient.errors import MediaUploadSizeError
-from apiclient.errors import ResumableUploadError
-from apiclient.errors import UnacceptableMimeTypeError
-from apiclient.http import HttpMock
-from apiclient.http import HttpMockSequence
-from apiclient.http import MediaFileUpload
-from apiclient.http import MediaIoBaseUpload
-from apiclient.http import MediaUpload
-from apiclient.http import MediaUploadProgress
-from apiclient.http import tunnel_patch
+from googleapiclient.discovery import _fix_up_media_upload
+from googleapiclient.discovery import _fix_up_method_description
+from googleapiclient.discovery import _fix_up_parameters
+from googleapiclient.discovery import build
+from googleapiclient.discovery import build_from_document
+from googleapiclient.discovery import DISCOVERY_URI
+from googleapiclient.discovery import key2param
+from googleapiclient.discovery import MEDIA_BODY_PARAMETER_DEFAULT_VALUE
+from googleapiclient.discovery import ResourceMethodParameters
+from googleapiclient.discovery import STACK_QUERY_PARAMETERS
+from googleapiclient.discovery import STACK_QUERY_PARAMETER_DEFAULT_VALUE
+from googleapiclient.errors import HttpError
+from googleapiclient.errors import InvalidJsonError
+from googleapiclient.errors import MediaUploadSizeError
+from googleapiclient.errors import ResumableUploadError
+from googleapiclient.errors import UnacceptableMimeTypeError
+from googleapiclient.http import HttpMock
+from googleapiclient.http import HttpMockSequence
+from googleapiclient.http import MediaFileUpload
+from googleapiclient.http import MediaIoBaseUpload
+from googleapiclient.http import MediaUpload
+from googleapiclient.http import MediaUploadProgress
+from googleapiclient.http import tunnel_patch
 from oauth2client import GOOGLE_TOKEN_URI
 from oauth2client import util
 from oauth2client.anyjson import simplejson
@@ -100,7 +100,7 @@
 class SetupHttplib2(unittest.TestCase):
 
   def test_retries(self):
-    # Merely loading apiclient.discovery should set the RETRIES to 1.
+    # Merely loading googleapiclient.discovery should set the RETRIES to 1.
     self.assertEqual(1, httplib2.RETRIES)
 
 
diff --git a/tests/test_errors.py b/tests/test_errors.py
index bd6c6d5..f3d26d3 100644
--- a/tests/test_errors.py
+++ b/tests/test_errors.py
@@ -24,7 +24,7 @@
 import httplib2
 
 
-from apiclient.errors import HttpError
+from googleapiclient.errors import HttpError
 
 
 JSON_ERROR_CONTENT = """
diff --git a/tests/test_http.py b/tests/test_http.py
index 4ef0dfb..0aab456 100644
--- a/tests/test_http.py
+++ b/tests/test_http.py
@@ -16,7 +16,7 @@
 
 """Http tests
 
-Unit tests for the apiclient.http.
+Unit tests for the googleapiclient.http.
 """
 
 __author__ = 'jcgregorio@google.com (Joe Gregorio)'
@@ -31,23 +31,23 @@
 import StringIO
 import time
 
-from apiclient.discovery import build
-from apiclient.errors import BatchError
-from apiclient.errors import HttpError
-from apiclient.errors import InvalidChunkSizeError
-from apiclient.http import BatchHttpRequest
-from apiclient.http import HttpMock
-from apiclient.http import HttpMockSequence
-from apiclient.http import HttpRequest
-from apiclient.http import MAX_URI_LENGTH
-from apiclient.http import MediaFileUpload
-from apiclient.http import MediaInMemoryUpload
-from apiclient.http import MediaIoBaseDownload
-from apiclient.http import MediaIoBaseUpload
-from apiclient.http import MediaUpload
-from apiclient.http import _StreamSlice
-from apiclient.http import set_user_agent
-from apiclient.model import JsonModel
+from googleapiclient.discovery import build
+from googleapiclient.errors import BatchError
+from googleapiclient.errors import HttpError
+from googleapiclient.errors import InvalidChunkSizeError
+from googleapiclient.http import BatchHttpRequest
+from googleapiclient.http import HttpMock
+from googleapiclient.http import HttpMockSequence
+from googleapiclient.http import HttpRequest
+from googleapiclient.http import MAX_URI_LENGTH
+from googleapiclient.http import MediaFileUpload
+from googleapiclient.http import MediaInMemoryUpload
+from googleapiclient.http import MediaIoBaseDownload
+from googleapiclient.http import MediaIoBaseUpload
+from googleapiclient.http import MediaUpload
+from googleapiclient.http import _StreamSlice
+from googleapiclient.http import set_user_agent
+from googleapiclient.model import JsonModel
 from oauth2client.client import Credentials
 
 
diff --git a/tests/test_json_model.py b/tests/test_json_model.py
index b7d8e7f..468db28 100644
--- a/tests/test_json_model.py
+++ b/tests/test_json_model.py
@@ -25,11 +25,11 @@
 import os
 import unittest
 import httplib2
-import apiclient.model
+import googleapiclient.model
 
-from apiclient import __version__
-from apiclient.errors import HttpError
-from apiclient.model import JsonModel
+from googleapiclient import __version__
+from googleapiclient.errors import HttpError
+from googleapiclient.model import JsonModel
 from oauth2client.anyjson import simplejson
 
 # Python 2.5 requires different modules
@@ -216,9 +216,9 @@
         self.status = items['status']
         for key, value in items.iteritems():
           self[key] = value
-    old_logging = apiclient.model.logging
-    apiclient.model.logging = MockLogging()
-    apiclient.model.dump_request_response = True
+    old_logging = googleapiclient.model.logging
+    googleapiclient.model.logging = MockLogging()
+    googleapiclient.model.dump_request_response = True
     model = JsonModel()
     request_body = {
         'field1': 'value1',
@@ -233,18 +233,18 @@
                 'response_field_2': 'response_value_2'}
     response_body = model.response(MockResponse(response), body_string)
     self.assertEqual(request_body, response_body)
-    self.assertEqual(apiclient.model.logging.info_record[:2],
+    self.assertEqual(googleapiclient.model.logging.info_record[:2],
                      ['--request-start--',
                       '-headers-start-'])
     self.assertTrue('response_field_1: response_value_1' in
-                    apiclient.model.logging.info_record)
+                    googleapiclient.model.logging.info_record)
     self.assertTrue('response_field_2: response_value_2' in
-                    apiclient.model.logging.info_record)
-    self.assertEqual(simplejson.loads(apiclient.model.logging.info_record[-2]),
+                    googleapiclient.model.logging.info_record)
+    self.assertEqual(simplejson.loads(googleapiclient.model.logging.info_record[-2]),
                      request_body)
-    self.assertEqual(apiclient.model.logging.info_record[-1],
+    self.assertEqual(googleapiclient.model.logging.info_record[-1],
                      '--response-end--')
-    apiclient.model.logging = old_logging
+    googleapiclient.model.logging = old_logging
 
   def test_no_data_wrapper_deserialize(self):
     model = JsonModel(data_wrapper=False)
diff --git a/tests/test_mocks.py b/tests/test_mocks.py
index 5c51f1a..6b2360b 100644
--- a/tests/test_mocks.py
+++ b/tests/test_mocks.py
@@ -25,12 +25,12 @@
 import os
 import unittest
 
-from apiclient.errors import HttpError
-from apiclient.errors import UnexpectedBodyError
-from apiclient.errors import UnexpectedMethodError
-from apiclient.discovery import build
-from apiclient.http import RequestMockBuilder
-from apiclient.http import HttpMock
+from googleapiclient.errors import HttpError
+from googleapiclient.errors import UnexpectedBodyError
+from googleapiclient.errors import UnexpectedMethodError
+from googleapiclient.discovery import build
+from googleapiclient.http import RequestMockBuilder
+from googleapiclient.http import HttpMock
 
 
 DATA_DIR = os.path.join(os.path.dirname(__file__), 'data')
diff --git a/tests/test_model.py b/tests/test_model.py
index 5b9b2be..776c7fd 100644
--- a/tests/test_model.py
+++ b/tests/test_model.py
@@ -24,7 +24,7 @@
 import httplib2
 import unittest
 
-from apiclient.model import makepatch
+from googleapiclient.model import makepatch
 
 
 TEST_CASES = [
diff --git a/tests/test_oauth2client.py b/tests/test_oauth2client.py
index a075e1f..738bfbe 100644
--- a/tests/test_oauth2client.py
+++ b/tests/test_oauth2client.py
@@ -29,8 +29,8 @@
 import unittest
 import urlparse
 
-from apiclient.http import HttpMock
-from apiclient.http import HttpMockSequence
+from googleapiclient.http import HttpMock
+from googleapiclient.http import HttpMockSequence
 from oauth2client import GOOGLE_REVOKE_URI
 from oauth2client import GOOGLE_TOKEN_URI
 from oauth2client.anyjson import simplejson
diff --git a/tests/test_oauth2client_appengine.py b/tests/test_oauth2client_appengine.py
index d55518b..2c3ce75 100644
--- a/tests/test_oauth2client_appengine.py
+++ b/tests/test_oauth2client_appengine.py
@@ -40,7 +40,7 @@
 dev_appserver.fix_sys_path()
 import webapp2
 
-from apiclient.http import HttpMockSequence
+from googleapiclient.http import HttpMockSequence
 from google.appengine.api import apiproxy_stub
 from google.appengine.api import apiproxy_stub_map
 from google.appengine.api import app_identity
diff --git a/tests/test_oauth2client_file.py b/tests/test_oauth2client_file.py
index 786d708..910466a 100644
--- a/tests/test_oauth2client_file.py
+++ b/tests/test_oauth2client_file.py
@@ -31,7 +31,7 @@
 import tempfile
 import unittest
 
-from apiclient.http import HttpMockSequence
+from googleapiclient.http import HttpMockSequence
 from oauth2client import GOOGLE_TOKEN_URI
 from oauth2client import file
 from oauth2client import locked_file
diff --git a/tests/test_oauth2client_jwt.py b/tests/test_oauth2client_jwt.py
index 8038520..f8cf00b 100644
--- a/tests/test_oauth2client_jwt.py
+++ b/tests/test_oauth2client_jwt.py
@@ -35,7 +35,7 @@
 except ImportError:
     from cgi import parse_qs
 
-from apiclient.http import HttpMockSequence
+from googleapiclient.http import HttpMockSequence
 from oauth2client import crypt
 from oauth2client.anyjson import simplejson
 from oauth2client.client import Credentials
diff --git a/tests/test_protobuf_model.py b/tests/test_protobuf_model.py
index b9c92b0..b4cde55 100644
--- a/tests/test_protobuf_model.py
+++ b/tests/test_protobuf_model.py
@@ -23,10 +23,10 @@
 
 import unittest
 import httplib2
-import apiclient.model
+import googleapiclient.model
 
-from apiclient.errors import HttpError
-from apiclient.model import ProtocolBufferModel
+from googleapiclient.errors import HttpError
+from googleapiclient.model import ProtocolBufferModel
 
 # Python 2.5 requires different modules
 try:
diff --git a/tests/test_schema.py b/tests/test_schema.py
index 64c7be5..48f123d 100644
--- a/tests/test_schema.py
+++ b/tests/test_schema.py
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-"""Unit tests for apiclient.schema."""
+"""Unit tests for googleapiclient.schema."""
 
 __author__ = 'jcgregorio@google.com (Joe Gregorio)'
 
@@ -20,7 +20,7 @@
 import unittest
 import StringIO
 
-from apiclient.schema import Schemas
+from googleapiclient.schema import Schemas
 from oauth2client.anyjson import simplejson
 
 
