Skip to content

Commit 2d4155e

Browse files
committed
Dropping usage of _Monkey in favor of mock.patch.
This was done only in bigquery, datastore and storage packages. Still needs updates in bigtable, core, logging, monitoring, pubsub and speech.
1 parent 039f1cc commit 2d4155e

File tree

10 files changed

+145
-109
lines changed

10 files changed

+145
-109
lines changed

bigquery/tox.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ localdeps =
77
pip install --upgrade {toxinidir}/../core
88
deps =
99
pytest
10+
mock
1011
covercmd =
1112
py.test --quiet \
1213
--cov=google.cloud.bigquery \

bigquery/unit_tests/test_table.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1640,11 +1640,10 @@ def test_upload_from_file_w_bound_client_multipart(self):
16401640
def test_upload_from_file_resumable_with_400(self):
16411641
import csv
16421642
import datetime
1643+
import mock
16431644
from six.moves.http_client import BAD_REQUEST
1644-
from google.cloud.bigquery import table as MUT
16451645
from google.cloud.exceptions import BadRequest
16461646
from google.cloud._helpers import UTC
1647-
from google.cloud._testing import _Monkey
16481647
from google.cloud._testing import _NamedTemporaryFile
16491648
WHEN_TS = 1437767599.006
16501649
WHEN = datetime.datetime.utcfromtimestamp(WHEN_TS).replace(
@@ -1665,7 +1664,8 @@ class _UploadConfig(object):
16651664
dataset = _Dataset(client)
16661665
table = self._make_one(self.TABLE_NAME, dataset=dataset)
16671666

1668-
with _Monkey(MUT, _UploadConfig=_UploadConfig):
1667+
with mock.patch('google.cloud.bigquery.table._UploadConfig',
1668+
new=_UploadConfig):
16691669
with _NamedTemporaryFile() as temp:
16701670
with open(temp.name, 'w') as file_obj:
16711671
writer = csv.writer(file_obj)
@@ -1680,11 +1680,10 @@ class _UploadConfig(object):
16801680
# pylint: disable=too-many-statements
16811681
def test_upload_from_file_w_explicit_client_resumable(self):
16821682
import json
1683+
import mock
16831684
from six.moves.http_client import OK
16841685
from six.moves.urllib.parse import parse_qsl
16851686
from six.moves.urllib.parse import urlsplit
1686-
from google.cloud._testing import _Monkey
1687-
from google.cloud.bigquery import table as MUT
16881687

16891688
UPLOAD_PATH = 'https://example.com/upload/test'
16901689
initial_response = {'status': OK, 'location': UPLOAD_PATH}
@@ -1703,7 +1702,8 @@ class _UploadConfig(object):
17031702
simple_multipart = True
17041703
simple_path = u'' # force resumable
17051704

1706-
with _Monkey(MUT, _UploadConfig=_UploadConfig):
1705+
with mock.patch('google.cloud.bigquery.table._UploadConfig',
1706+
new=_UploadConfig):
17071707
orig_requested, PATH, BODY = self._upload_from_file_helper(
17081708
allow_jagged_rows=False,
17091709
allow_quoted_newlines=False,

datastore/tox.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ localdeps =
77
pip install --upgrade {toxinidir}/../core
88
deps =
99
pytest
10+
mock
1011
covercmd =
1112
py.test --quiet \
1213
--cov=google.cloud.datastore \

datastore/unit_tests/test__http.py

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,7 @@ def _get_target_class():
181181
return _DatastoreAPIOverGRPC
182182

183183
def _make_one(self, stub, connection=None, secure=True, mock_args=None):
184-
from google.cloud._testing import _Monkey
185-
from google.cloud.datastore import _http as MUT
184+
import mock
186185

187186
if connection is None:
188187
connection = _Connection(None)
@@ -197,10 +196,15 @@ def mock_make_stub(*args):
197196
return stub
198197

199198
if secure:
200-
to_monkey = {'make_secure_stub': mock_make_stub}
199+
patch = mock.patch(
200+
'google.cloud.datastore._http.make_secure_stub',
201+
new=mock_make_stub)
201202
else:
202-
to_monkey = {'make_insecure_stub': mock_make_stub}
203-
with _Monkey(MUT, **to_monkey):
203+
patch = mock.patch(
204+
'google.cloud.datastore._http.make_insecure_stub',
205+
new=mock_make_stub)
206+
207+
with patch:
204208
return self._get_target_class()(connection, secure)
205209

206210
def test_constructor(self):
@@ -372,9 +376,10 @@ def _make_query_pb(self, kind):
372376
return pb
373377

374378
def _make_one(self, credentials=None, http=None, use_grpc=False):
375-
from google.cloud._testing import _Monkey
376-
from google.cloud.datastore import _http as MUT
377-
with _Monkey(MUT, _USE_GRPC=use_grpc):
379+
import mock
380+
381+
with mock.patch('google.cloud.datastore._http._USE_GRPC',
382+
new=use_grpc):
378383
return self._get_target_class()(credentials=credentials, http=http)
379384

380385
def _verifyProtobufCall(self, called_with, URI, conn):
@@ -391,15 +396,14 @@ def test_default_url(self):
391396
self.assertEqual(conn.api_base_url, klass.API_BASE_URL)
392397

393398
def test_custom_url_from_env(self):
394-
import os
395-
from google.cloud._testing import _Monkey
399+
import mock
396400
from google.cloud.connection import API_BASE_URL
397401
from google.cloud.environment_vars import GCD_HOST
398402

399403
HOST = 'CURR_HOST'
400404
fake_environ = {GCD_HOST: HOST}
401405

402-
with _Monkey(os, environ=fake_environ):
406+
with mock.patch('os.environ', new=fake_environ):
403407
conn = self._make_one()
404408

405409
self.assertNotEqual(conn.api_base_url, API_BASE_URL)
@@ -410,8 +414,7 @@ def test_ctor_defaults(self):
410414
self.assertIsNone(conn.credentials)
411415

412416
def test_ctor_without_grpc(self):
413-
from google.cloud._testing import _Monkey
414-
from google.cloud.datastore import _http as MUT
417+
import mock
415418

416419
connections = []
417420
return_val = object()
@@ -420,16 +423,18 @@ def mock_api(connection):
420423
connections.append(connection)
421424
return return_val
422425

423-
with _Monkey(MUT, _DatastoreAPIOverHttp=mock_api):
426+
patch = mock.patch(
427+
'google.cloud.datastore._http._DatastoreAPIOverHttp',
428+
new=mock_api)
429+
with patch:
424430
conn = self._make_one(use_grpc=False)
425431

426432
self.assertIsNone(conn.credentials)
427433
self.assertIs(conn._datastore_api, return_val)
428434
self.assertEqual(connections, [conn])
429435

430436
def test_ctor_with_grpc(self):
431-
from google.cloud._testing import _Monkey
432-
from google.cloud.datastore import _http as MUT
437+
import mock
433438

434439
api_args = []
435440
return_val = object()
@@ -438,7 +443,10 @@ def mock_api(connection, secure):
438443
api_args.append((connection, secure))
439444
return return_val
440445

441-
with _Monkey(MUT, _DatastoreAPIOverGRPC=mock_api):
446+
patch = mock.patch(
447+
'google.cloud.datastore._http._DatastoreAPIOverGRPC',
448+
new=mock_api)
449+
with patch:
442450
conn = self._make_one(use_grpc=True)
443451

444452
self.assertIsNone(conn.credentials)
@@ -922,9 +930,8 @@ def test_begin_transaction(self):
922930
request.ParseFromString(cw['body'])
923931

924932
def test_commit_wo_transaction(self):
925-
from google.cloud._testing import _Monkey
933+
import mock
926934
from google.cloud.datastore._generated import datastore_pb2
927-
from google.cloud.datastore import _http as MUT
928935
from google.cloud.datastore.helpers import _new_value_pb
929936

930937
PROJECT = 'PROJECT'
@@ -953,7 +960,10 @@ def mock_parse(response):
953960
_parsed.append(response)
954961
return expected_result
955962

956-
with _Monkey(MUT, _parse_commit_response=mock_parse):
963+
patch = mock.patch(
964+
'google.cloud.datastore._http._parse_commit_response',
965+
new=mock_parse)
966+
with patch:
957967
result = conn.commit(PROJECT, req_pb, None)
958968

959969
self.assertIs(result, expected_result)
@@ -968,9 +978,8 @@ def mock_parse(response):
968978
self.assertEqual(_parsed, [rsp_pb])
969979

970980
def test_commit_w_transaction(self):
971-
from google.cloud._testing import _Monkey
981+
import mock
972982
from google.cloud.datastore._generated import datastore_pb2
973-
from google.cloud.datastore import _http as MUT
974983
from google.cloud.datastore.helpers import _new_value_pb
975984

976985
PROJECT = 'PROJECT'
@@ -999,7 +1008,10 @@ def mock_parse(response):
9991008
_parsed.append(response)
10001009
return expected_result
10011010

1002-
with _Monkey(MUT, _parse_commit_response=mock_parse):
1011+
patch = mock.patch(
1012+
'google.cloud.datastore._http._parse_commit_response',
1013+
new=mock_parse)
1014+
with patch:
10031015
result = conn.commit(PROJECT, req_pb, b'xact')
10041016

10051017
self.assertIs(result, expected_result)

0 commit comments

Comments
 (0)