本文整理汇总了Python中requests_mock.mock函数的典型用法代码示例。如果您正苦于以下问题:Python mock函数的具体用法?Python mock怎么用?Python mock使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了mock函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_blobchunkworker_run
def test_blobchunkworker_run(tmpdir):
lpath = str(tmpdir.join("test.tmp"))
with open(lpath, "wt") as f:
f.write(str(uuid.uuid4()))
args = MagicMock()
args.pageblob = True
args.autovhd = False
args.timeout = None
session = requests.Session()
adapter = requests_mock.Adapter()
session.mount("mock", adapter)
exc_list = []
flock = threading.Lock()
sa_in_queue = queue.Queue()
sa_out_queue = queue.Queue()
with requests_mock.mock() as m:
m.put("mock://blobepcontainer/blob?saskey", status_code=200)
sbs = blobxfer.SasBlobService("mock://blobep", "saskey", None)
bcw = blobxfer.BlobChunkWorker(exc_list, sa_in_queue, sa_out_queue, args, sbs, True)
with pytest.raises(IOError):
bcw.putblobdata(lpath, "container", "blob", "blockid", 0, 4, flock, None)
args.pageblob = False
with requests_mock.mock() as m:
m.put("mock://blobepcontainer/blob?saskey", status_code=201)
sbs = blobxfer.SasBlobService("mock://blobep", "saskey", None)
bcw = blobxfer.BlobChunkWorker(exc_list, sa_in_queue, sa_out_queue, args, sbs, True)
try:
bcw.putblobdata(lpath, "container", "blob", "blockid", 0, 4, flock, None)
except Exception:
pytest.fail("unexpected Exception raised")
m.get("mock://blobepcontainer/blob?saskey", status_code=200)
try:
bcw.getblobrange(lpath, "container", "blob", 0, 4, flock, None)
except Exception:
pytest.fail("unexpected Exception raised")
# test zero-length putblob
bcw.putblobdata(lpath, "container", "blob", "blockid", 0, 0, flock, None)
bcw._pageblob = True
bcw.putblobdata(lpath, "container", "blob", "blockid", 0, 0, flock, None)
# test empty page
with open(lpath, "wb") as f:
f.write(b"\0" * 4 * 1024 * 1024)
bcw.putblobdata(lpath, "container", "blob", "blockid", 0, 4 * 1024 * 1024, flock, None)
with open(lpath, "wb") as f:
f.write(b"\0" * 4 * 1024)
bcw.putblobdata(lpath, "container", "blob", "blockid", 0, 4 * 1024, flock, None)
sa_in_queue.put((lpath, "container", "blob", "blockid", 0, 4, flock, None))
with requests_mock.mock() as m:
sbs = blobxfer.SasBlobService("mock://blobep", "saskey", None)
bcw = blobxfer.BlobChunkWorker(exc_list, sa_in_queue, sa_out_queue, args, sbs, False)
m.get("mock://blobepcontainer/blob?saskey", status_code=201)
bcw.run()
assert len(exc_list) > 0
示例2: test_scihub_unresponsive
def test_scihub_unresponsive():
timeout_connect = 6
timeout_read = 6.6
timeout = (timeout_connect, timeout_read)
api = SentinelAPI("mock_user", "mock_password", timeout=timeout)
with requests_mock.mock() as rqst:
rqst.request(requests_mock.ANY, requests_mock.ANY, exc=requests.exceptions.ConnectTimeout)
with pytest.raises(requests.exceptions.ConnectTimeout):
api.query(**_small_query)
with pytest.raises(requests.exceptions.ConnectTimeout):
api.get_product_odata('8df46c9e-a20c-43db-a19a-4240c2ed3b8b')
with pytest.raises(requests.exceptions.ConnectTimeout):
api.download('8df46c9e-a20c-43db-a19a-4240c2ed3b8b')
with pytest.raises(requests.exceptions.ConnectTimeout):
api.download_all(['8df46c9e-a20c-43db-a19a-4240c2ed3b8b'])
with requests_mock.mock() as rqst:
rqst.request(requests_mock.ANY, requests_mock.ANY, exc=requests.exceptions.ReadTimeout)
with pytest.raises(requests.exceptions.ReadTimeout):
api.query(**_small_query)
with pytest.raises(requests.exceptions.ReadTimeout):
api.get_product_odata('8df46c9e-a20c-43db-a19a-4240c2ed3b8b')
with pytest.raises(requests.exceptions.ReadTimeout):
api.download('8df46c9e-a20c-43db-a19a-4240c2ed3b8b')
with pytest.raises(requests.exceptions.ReadTimeout):
api.download_all(['8df46c9e-a20c-43db-a19a-4240c2ed3b8b'])
示例3: test_gen_responses
def test_gen_responses(self):
step = 3000
start = 1426120000
end = 1426147000
groups1 = [[self.metric1, self.metric2]]
payload = self.bfc.gen_payload(start, end, 'FULL')
endpoint = self.bfc.get_multi_endpoint(self.finder.bf_query_endpoint, self.finder.tenant)
# test 401 error
with requests_mock.mock() as m:
m.post(endpoint, json={}, status_code=401)
responses = self.bfc.gen_responses(groups1, payload)
self.assertTrue(responses == [])
#test single group
_, responses = self.make_data(start, step)
with requests_mock.mock() as m:
m.post(endpoint, json={'metrics':responses}, status_code=200)
new_responses = self.bfc.gen_responses(groups1, payload)
self.assertTrue(responses == new_responses)
#test multiple groups
groups2 = [[self.metric1], [self.metric2]]
with requests_mock.mock() as m:
global json_data
json_data = [{'metrics':responses[0:1]},{'metrics':responses[1:]}]
def json_callback(request, context):
global json_data
response = json_data[0]
json_data = json_data[1:]
return response
m.post(endpoint, json=json_callback, status_code=200)
new_responses = self.bfc.gen_responses(groups2, payload)
self.assertTrue(responses == new_responses)
示例4: test_blobchunkworker_run
def test_blobchunkworker_run(tmpdir):
lpath = str(tmpdir.join('test.tmp'))
with open(lpath, 'wt') as f:
f.write(str(uuid.uuid4()))
exc_list = []
sa_in_queue = queue.Queue()
sa_out_queue = queue.Queue()
flock = threading.Lock()
sa_in_queue.put((True, lpath, 'blobep', 'saskey', 'container',
'blob', 'blockid', 0, 4, flock, None))
sa_in_queue.put((False, lpath, 'blobep', 'saskey', 'container',
'blob', 'blockid', 0, 4, flock, None))
args = MagicMock()
args.pageblob = False
args.autovhd = False
args.timeout = None
session = requests.Session()
adapter = requests_mock.Adapter()
session.mount('mock', adapter)
with requests_mock.mock() as m:
m.put('mock://blobepcontainer/blob?saskey', status_code=201)
sbs = blobxfer.SasBlobService('mock://blobep', 'saskey', None)
bcw = blobxfer.BlobChunkWorker(
exc_list, sa_in_queue, sa_out_queue, args, sbs)
try:
bcw.putblobdata(lpath, 'container', 'blob', 'blockid',
0, 4, flock, None)
except Exception:
pytest.fail('unexpected Exception raised')
m.get('mock://blobepcontainer/blob?saskey', status_code=200)
try:
bcw.getblobrange(lpath, 'container', 'blob', 0, 4, flock, None)
except Exception:
pytest.fail('unexpected Exception raised')
m.get('mock://blobepcontainer/blob?saskey', status_code=201)
bcw.run()
assert len(exc_list) > 0
exc_list = []
sa_in_queue = queue.Queue()
sa_out_queue = queue.Queue()
sa_in_queue.put((True, lpath, 'blobep', 'saskey', 'container',
'blob', 'blockid', 0, 4, flock, None))
sa_in_queue.put((False, lpath, 'blobep', 'saskey', 'container',
'blob', 'blockid', 0, 4, flock, None))
args.pageblob = True
with requests_mock.mock() as m:
m.put('mock://blobepcontainer/blob?saskey', status_code=200)
sbs = blobxfer.SasBlobService('mock://blobep', 'saskey', None)
bcw = blobxfer.BlobChunkWorker(
exc_list, sa_in_queue, sa_out_queue, args, sbs)
with pytest.raises(IOError):
bcw.putblobdata(lpath, 'container', 'blob', 'blockid',
0, 4, flock, None)
示例5: test_get
def test_get(self):
doc = get_html_doc('search_engines', 'google.com')
req = download.Request(doc.url.url)
with requests_mock.mock() as m:
m.get(req.url, content=doc.body)
resp = download.get(req)
self.assertIsInstance(resp, download.HtmlDocument)
self.assertEqual(resp.body, doc.body)
with requests_mock.mock() as m:
resp = download.get(req)
self.assertIsInstance(resp, download.DownloadError)
示例6: test_cache
def test_cache(self):
so = get_html_doc('cmdextract', 'stackoverflow.com')
query = ['du']
options = ['--no-cache']
with requests_mock.mock() as m:
self._setup_request_mock(m, query, [so])
main(query + options)
self._check_output(contains='du')
self._truncate_stdout()
with requests_mock.mock() as m:
main(query)
self._check_output(contains='du')
示例7: test_verbose
def test_verbose(self):
so = get_html_doc('cmdextract', 'stackoverflow.com')
query = ['du']
options = ['-v']
with requests_mock.mock() as m:
self._setup_request_mock(m, query, [so])
main(query)
non_verbose = self._get_current_stdout()
self._truncate_stdout()
with requests_mock.mock() as m:
main(query + options)
self.assertGreater(len(self._get_current_stdout()), len(non_verbose))
示例8: test_max_hits
def test_max_hits(self):
so = get_html_doc('cmdextract', 'stackoverflow.com')
query = ['du']
options = ['--max-hits', '1']
with requests_mock.mock() as m:
self._setup_request_mock(m, query, [so])
main(query)
nr_lines = len(self._get_current_stdout().split('\n'))
self._truncate_stdout()
with requests_mock.mock() as m:
main(query + options)
self.assertGreater(
nr_lines, len(self._get_current_stdout().split('\n')))
示例9: test_fetch_auth_key
def test_fetch_auth_key(self):
fak = PhishNetAPI(api_key='foo')
with requests_mock.mock() as m:
m._adapter.register_uri('GET', 'https://api.phish.net/api.json', [
{'text': '{"success": "0"}', 'status_code': 200},
])
self.assertRaises(AuthError, fak.fetch_auth_key, 'wilson')
with requests_mock.mock() as m:
m._adapter.register_uri('GET', 'https://api.phish.net/api.json', [
{'text': '{"success": "0"}', 'status_code': 200},
])
m._adapter.register_uri('POST', 'https://api.phish.net/api.json', [
{'text': '{"success": "1", "authkey": "232342342342"}', 'status_code': 200}
])
self.assertEqual('232342342342', fak.fetch_auth_key('wilson', 'password'))
示例10: test_raises_exception_when_gateway_response_indicates_error
def test_raises_exception_when_gateway_response_indicates_error(self):
with requests_mock.mock() as m:
m.post("https://www.dummy-address.com/sendMessages", status_code=500)
client = self.create_client()
with self.assertRaises(itcsmsgwclient.GatewayError):
response = client.send([])
示例11: test_get_subcontainers_info_returns_list_of_container_info_objects
def test_get_subcontainers_info_returns_list_of_container_info_objects(self):
with requests_mock.mock() as m:
url = '{}api/v{}/subcontainers/test'.format(self.URL, self.API)
m.get(url, text='[{}, {}]', status_code=200)
subcontainers = self.c.get_subcontainers_info('test')
self.assertIsInstance(subcontainers, list)
self.assertTrue(all(isinstance(x, ContainerInfo) for x in subcontainers))
示例12: test_download_all
def test_download_all(tmpdir):
api = SentinelAPI(**_api_auth)
# From https://scihub.copernicus.eu/apihub/odata/v1/Products?$top=5&$orderby=ContentLength
filenames = ["S1A_WV_OCN__2SSH_20150603T092625_20150603T093332_006207_008194_521E",
"S1A_WV_OCN__2SSV_20150526T211029_20150526T211737_006097_007E78_134A",
"S1A_WV_OCN__2SSV_20150526T081641_20150526T082418_006090_007E3E_104C"]
api.load_query(" OR ".join(filenames))
assert len(api.get_products()) == len(filenames)
# Download normally
result = api.download_all(str(tmpdir))
assert len(result) == len(filenames)
for path, product_info in result.items():
pypath = py.path.local(path)
assert pypath.purebasename in filenames
assert pypath.check(exists=1, file=1)
assert pypath.size() == product_info["size"]
# Force one download to fail
path, product_info = list(result.items())[0]
py.path.local(path).remove()
with requests_mock.mock(real_http=True) as rqst:
url = "https://scihub.copernicus.eu/apihub/odata/v1/Products('%s')/?$format=json" % product_info["id"]
json = api.session.get(url).json()
json["d"]["Checksum"]["Value"] = "00000000000000000000000000000000"
rqst.get(url, json=json)
result = api.download_all(str(tmpdir), max_attempts=1, checksum=True)
assert len(result) == len(filenames)
assert result[path] is None
示例13: test_server_use_server_version_flag
def test_server_use_server_version_flag(self):
with open(SERVER_INFO_25_XML, 'rb') as f:
si_response_xml = f.read().decode('utf-8')
with requests_mock.mock() as m:
m.get('http://test/api/2.4/serverInfo', text=si_response_xml)
server = TSC.Server('http://test', use_server_version=True)
self.assertEqual(server.version, '2.5')
示例14: test_call_wrapper_zero_results
def test_call_wrapper_zero_results(self):
full_url = self.url % 'zero'
with requests_mock.mock() as m:
m.get(full_url, text=zero_results)
obs = _call_wrapper(full_url)
self.assertEqual(obs, {})
示例15: query_test
def query_test(query_pattern, jdata, qlen, search_results):
with requests_mock.mock() as m:
query = FindQuery(query_pattern, 1, 2)
m.get(endpoint, json=jdata, status_code=200)
metrics = self.finder.find_nodes(query)
self.assertSequenceEqual(map(get_path, list(metrics)),
map(get_start(qlen), search_results))