Update CdxServerDedup unit test

To work correctly with the new way we init the
``CdxServerDedup.http_pool``. Use ``mock.MagicMock`` instead of
``mock.patch``. The unit test logic remains entirely the same.
This commit is contained in:
Vangelis Banos 2018-01-15 20:58:36 +00:00
parent e59fed2b6f
commit 4a165e5f77

View File

@ -4,14 +4,13 @@ from warcprox.dedup import CdxServerDedup
def test_cdx_dedup(): def test_cdx_dedup():
# Mock CDX Server responses to simulate found, not found and errors. # Mock CDX Server responses to simulate found, not found and errors.
with mock.patch('warcprox.dedup.CdxServerDedup.http_pool.request') as request:
url = "http://example.com" url = "http://example.com"
# not found case # not found case
result = mock.Mock() result = mock.Mock()
result.status = 200 result.status = 200
result.data = b'20170101020405 test' result.data = b'20170101020405 test'
request.return_value = result
cdx_server = CdxServerDedup(cdx_url="dummy-cdx-server-url") cdx_server = CdxServerDedup(cdx_url="dummy-cdx-server-url")
cdx_server.http_pool.request = mock.MagicMock(return_value=result)
res = cdx_server.lookup(digest_key="B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A", res = cdx_server.lookup(digest_key="B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A",
url=url) url=url)
assert res is None assert res is None
@ -20,8 +19,8 @@ def test_cdx_dedup():
result = mock.Mock() result = mock.Mock()
result.status = 200 result.status = 200
result.data = b'20170203040503 B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A' result.data = b'20170203040503 B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A'
request.return_value = result
cdx_server = CdxServerDedup(cdx_url="dummy-cdx-server-url") cdx_server = CdxServerDedup(cdx_url="dummy-cdx-server-url")
cdx_server.http_pool.request = mock.MagicMock(return_value=result)
res = cdx_server.lookup(digest_key="B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A", res = cdx_server.lookup(digest_key="B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A",
url=url) url=url)
assert res["date"] == b"2017-02-03T04:05:03Z" assert res["date"] == b"2017-02-03T04:05:03Z"
@ -30,17 +29,18 @@ def test_cdx_dedup():
result = mock.Mock() result = mock.Mock()
result.status = 400 result.status = 400
result.data = b'20170101020405 B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A' result.data = b'20170101020405 B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A'
request.return_value = result
cdx_server = CdxServerDedup(cdx_url="dummy-cdx-server-url") cdx_server = CdxServerDedup(cdx_url="dummy-cdx-server-url")
cdx_server.http_pool.request = mock.MagicMock(return_value=result)
res = cdx_server.lookup(digest_key="B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A", res = cdx_server.lookup(digest_key="B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A",
url=url) url=url)
assert res is None assert res is None
# invalid CDX result content # invalid CDX result content
result = mock.Mock() result = mock.Mock()
result.status = 200 result.status = 200
result.data = b'InvalidExceptionResult' result.data = b'InvalidExceptionResult'
request.return_value = result
cdx_server = CdxServerDedup(cdx_url="dummy-cdx-server-url") cdx_server = CdxServerDedup(cdx_url="dummy-cdx-server-url")
cdx_server.http_pool.request = mock.MagicMock(return_value=result)
res = cdx_server.lookup(digest_key="B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A", res = cdx_server.lookup(digest_key="B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A",
url=url) url=url)
assert res is None assert res is None