diff --git a/tests/__init__.py b/tests/__init__.py
index 2451995..7913e6f 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -14,9 +14,8 @@
 
 __author__ = 'afshar@google.com (Ali Afshar)'
 
-import gflags
+import oauth2client.util
 
 def setup_package():
   """Run on testing package."""
-  FLAGS = gflags.FLAGS
-  FLAGS.positional_parameters_enforcement = 'EXCEPTION'
+  oauth2client.util.positional_parameters_enforcement = 'EXCEPTION'
diff --git a/tests/test_discovery.py b/tests/test_discovery.py
index b8b5ac0..499edda 100644
--- a/tests/test_discovery.py
+++ b/tests/test_discovery.py
@@ -25,7 +25,6 @@
 
 import copy
 import datetime
-import gflags
 import httplib2
 import os
 import pickle
@@ -65,16 +64,16 @@
 from apiclient.http import MediaUploadProgress
 from apiclient.http import tunnel_patch
 from oauth2client import GOOGLE_TOKEN_URI
+from oauth2client import util
 from oauth2client.anyjson import simplejson
 from oauth2client.client import OAuth2Credentials
-from oauth2client.util import _add_query_parameter
+
 import uritemplate
 
 
 DATA_DIR = os.path.join(os.path.dirname(__file__), 'data')
 
-FLAGS = gflags.FLAGS
-FLAGS.positional_parameters_enforcement = 'EXCEPTION'
+util.positional_parameters_enforcement = util.POSITIONAL_EXCEPTION
 
 
 def assertUrisEqual(testcase, expected, actual):
@@ -331,20 +330,20 @@
 class DiscoveryFromDocument(unittest.TestCase):
 
   def test_can_build_from_local_document(self):
-    discovery = file(datafile('plus.json')).read()
+    discovery = open(datafile('plus.json')).read()
     plus = build_from_document(discovery, base="https://www.googleapis.com/")
     self.assertTrue(plus is not None)
     self.assertTrue(hasattr(plus, 'activities'))
 
   def test_can_build_from_local_deserialized_document(self):
-    discovery = file(datafile('plus.json')).read()
+    discovery = open(datafile('plus.json')).read()
     discovery = simplejson.loads(discovery)
     plus = build_from_document(discovery, base="https://www.googleapis.com/")
     self.assertTrue(plus is not None)
     self.assertTrue(hasattr(plus, 'activities'))
 
   def test_building_with_base_remembers_base(self):
-    discovery = file(datafile('plus.json')).read()
+    discovery = open(datafile('plus.json')).read()
 
     base = "https://www.example.com/"
     plus = build_from_document(discovery, base=base)
@@ -364,7 +363,7 @@
     os.environ['REMOTE_ADDR'] = '10.0.0.1'
     try:
       http = HttpMockSequence([
-        ({'status': '400'}, file(datafile('zoo.json'), 'r').read()),
+        ({'status': '400'}, open(datafile('zoo.json'), 'rb').read()),
         ])
       zoo = build('zoo', 'v1', http=http, developerKey='foo',
                   discoveryServiceUrl='http://example.com')
@@ -377,7 +376,7 @@
     # out of the raised exception.
     try:
       http = HttpMockSequence([
-        ({'status': '400'}, file(datafile('zoo.json'), 'r').read()),
+        ({'status': '400'}, open(datafile('zoo.json'), 'rb').read()),
         ])
       zoo = build('zoo', 'v1', http=http, developerKey=None,
                   discoveryServiceUrl='http://example.com')
@@ -501,7 +500,7 @@
 
   def test_tunnel_patch(self):
     http = HttpMockSequence([
-      ({'status': '200'}, file(datafile('zoo.json'), 'r').read()),
+      ({'status': '200'}, open(datafile('zoo.json'), 'rb').read()),
       ({'status': '200'}, 'echo_request_headers_as_json'),
       ])
     http = tunnel_patch(http)
@@ -1091,8 +1090,8 @@
     zoo_uri = uritemplate.expand(DISCOVERY_URI,
                                  {'api': 'zoo', 'apiVersion': 'v1'})
     if 'REMOTE_ADDR' in os.environ:
-        zoo_uri = _add_query_parameter(zoo_uri, 'userIp',
-                                       os.environ['REMOTE_ADDR'])
+        zoo_uri = util._add_query_parameter(zoo_uri, 'userIp',
+                                            os.environ['REMOTE_ADDR'])
 
     http = httplib2.Http()
     original_request = http.request
diff --git a/tests/test_json_model.py b/tests/test_json_model.py
index d6cf0c0..281affb 100644
--- a/tests/test_json_model.py
+++ b/tests/test_json_model.py
@@ -22,7 +22,6 @@
 __author__ = 'jcgregorio@google.com (Joe Gregorio)'
 
 import copy
-import gflags
 import os
 import unittest
 import httplib2
@@ -32,8 +31,6 @@
 from apiclient.model import JsonModel
 from oauth2client.anyjson import simplejson
 
-FLAGS = gflags.FLAGS
-
 # Python 2.5 requires different modules
 try:
   from urlparse import parse_qs
@@ -212,8 +209,7 @@
           self[key] = value
     old_logging = apiclient.model.logging
     apiclient.model.logging = MockLogging()
-    apiclient.model.FLAGS = copy.deepcopy(FLAGS)
-    apiclient.model.FLAGS.dump_request_response = True
+    apiclient.model.dump_request_response = True
     model = JsonModel()
     request_body = {
         'field1': 'value1',
diff --git a/tests/test_protobuf_model.py b/tests/test_protobuf_model.py
index 02e8846..b9c92b0 100644
--- a/tests/test_protobuf_model.py
+++ b/tests/test_protobuf_model.py
@@ -21,7 +21,6 @@
 
 __author__ = 'mmcdonald@google.com (Matt McDonald)'
 
-import gflags
 import unittest
 import httplib2
 import apiclient.model
@@ -29,8 +28,6 @@
 from apiclient.errors import HttpError
 from apiclient.model import ProtocolBufferModel
 
-FLAGS = gflags.FLAGS
-
 # Python 2.5 requires different modules
 try:
   from urlparse import parse_qs
