Clean up test_cache

This commit is contained in:
Florian Bruhin 2017-07-03 23:11:30 +02:00
parent 9dfe4429d7
commit 9db4a8cb43

View File

@ -30,6 +30,11 @@ pytestmark = pytest.mark.skipif(
reason="QNetworkDiskCache is broken on Qt 5.7.1 and 5.8") reason="QNetworkDiskCache is broken on Qt 5.7.1 and 5.8")
@pytest.fixture
def disk_cache(tmpdir, config_stub):
return cache.DiskCache(str(tmpdir))
def preload_cache(cache, url='http://www.example.com/', content=b'foobar'): def preload_cache(cache, url='http://www.example.com/', content=b'foobar'):
metadata = QNetworkCacheMetaData() metadata = QNetworkCacheMetaData()
metadata.setUrl(QUrl(url)) metadata.setUrl(QUrl(url))
@ -69,7 +74,7 @@ def test_cache_size_leq_max_cache_size(config_stub, tmpdir):
assert disk_cache.cacheSize() < limit + 100 assert disk_cache.cacheSize() < limit + 100
def test_cache_existing_metadata_file(config_stub, tmpdir): def test_cache_existing_metadata_file(tmpdir, disk_cache):
"""Test querying existing meta data file from activated cache.""" """Test querying existing meta data file from activated cache."""
url = 'http://qutebrowser.org' url = 'http://qutebrowser.org'
content = b'foobar' content = b'foobar'
@ -78,7 +83,6 @@ def test_cache_existing_metadata_file(config_stub, tmpdir):
metadata.setUrl(QUrl(url)) metadata.setUrl(QUrl(url))
assert metadata.isValid() assert metadata.isValid()
disk_cache = cache.DiskCache(str(tmpdir))
device = disk_cache.prepare(metadata) device = disk_cache.prepare(metadata)
assert device is not None assert device is not None
device.write(content) device.write(content)
@ -90,26 +94,23 @@ def test_cache_existing_metadata_file(config_stub, tmpdir):
assert disk_cache.fileMetaData(str(files[0])) == metadata assert disk_cache.fileMetaData(str(files[0])) == metadata
def test_cache_nonexistent_metadata_file(config_stub, tmpdir): def test_cache_nonexistent_metadata_file(disk_cache):
"""Test querying nonexistent meta data file from activated cache.""" """Test querying nonexistent meta data file from activated cache."""
disk_cache = cache.DiskCache(str(tmpdir))
cache_file = disk_cache.fileMetaData("nosuchfile") cache_file = disk_cache.fileMetaData("nosuchfile")
assert not cache_file.isValid() assert not cache_file.isValid()
def test_cache_get_nonexistent_data(config_stub, tmpdir): def test_cache_get_nonexistent_data(disk_cache):
"""Test querying some data that was never inserted.""" """Test querying some data that was never inserted."""
disk_cache = cache.DiskCache(str(tmpdir))
preload_cache(disk_cache, 'https://qutebrowser.org') preload_cache(disk_cache, 'https://qutebrowser.org')
assert disk_cache.data(QUrl('http://qutebrowser.org')) is None assert disk_cache.data(QUrl('http://qutebrowser.org')) is None
def test_cache_insert_data(config_stub, tmpdir): def test_cache_insert_data(disk_cache):
"""Test if entries inserted into the cache are actually there.""" """Test if entries inserted into the cache are actually there."""
url = 'http://qutebrowser.org' url = 'http://qutebrowser.org'
content = b'foobar' content = b'foobar'
disk_cache = cache.DiskCache(str(tmpdir))
assert disk_cache.cacheSize() == 0 assert disk_cache.cacheSize() == 0
preload_cache(disk_cache, url, content) preload_cache(disk_cache, url, content)
@ -118,10 +119,9 @@ def test_cache_insert_data(config_stub, tmpdir):
assert disk_cache.data(QUrl(url)).readAll() == content assert disk_cache.data(QUrl(url)).readAll() == content
def test_cache_remove_data(config_stub, tmpdir): def test_cache_remove_data(disk_cache):
"""Test if a previously inserted entry can be removed from the cache.""" """Test if a previously inserted entry can be removed from the cache."""
url = 'http://qutebrowser.org' url = 'http://qutebrowser.org'
disk_cache = cache.DiskCache(str(tmpdir))
preload_cache(disk_cache, url) preload_cache(disk_cache, url)
assert disk_cache.cacheSize() > 0 assert disk_cache.cacheSize() > 0
@ -129,9 +129,8 @@ def test_cache_remove_data(config_stub, tmpdir):
assert disk_cache.cacheSize() == 0 assert disk_cache.cacheSize() == 0
def test_cache_clear_activated(config_stub, tmpdir): def test_cache_clear_activated(disk_cache):
"""Test if cache is empty after clearing it.""" """Test if cache is empty after clearing it."""
disk_cache = cache.DiskCache(str(tmpdir))
assert disk_cache.cacheSize() == 0 assert disk_cache.cacheSize() == 0
preload_cache(disk_cache) preload_cache(disk_cache)
@ -141,13 +140,12 @@ def test_cache_clear_activated(config_stub, tmpdir):
assert disk_cache.cacheSize() == 0 assert disk_cache.cacheSize() == 0
def test_cache_metadata(config_stub, tmpdir): def test_cache_metadata(disk_cache):
"""Ensure that DiskCache.metaData() returns exactly what was inserted.""" """Ensure that DiskCache.metaData() returns exactly what was inserted."""
url = 'http://qutebrowser.org' url = 'http://qutebrowser.org'
metadata = QNetworkCacheMetaData() metadata = QNetworkCacheMetaData()
metadata.setUrl(QUrl(url)) metadata.setUrl(QUrl(url))
assert metadata.isValid() assert metadata.isValid()
disk_cache = cache.DiskCache(str(tmpdir))
device = disk_cache.prepare(metadata) device = disk_cache.prepare(metadata)
device.write(b'foobar') device.write(b'foobar')
disk_cache.insert(device) disk_cache.insert(device)
@ -155,10 +153,9 @@ def test_cache_metadata(config_stub, tmpdir):
assert disk_cache.metaData(QUrl(url)) == metadata assert disk_cache.metaData(QUrl(url)) == metadata
def test_cache_update_metadata(config_stub, tmpdir): def test_cache_update_metadata(disk_cache):
"""Test updating the meta data for an existing cache entry.""" """Test updating the meta data for an existing cache entry."""
url = 'http://qutebrowser.org' url = 'http://qutebrowser.org'
disk_cache = cache.DiskCache(str(tmpdir))
preload_cache(disk_cache, url, b'foo') preload_cache(disk_cache, url, b'foo')
assert disk_cache.cacheSize() > 0 assert disk_cache.cacheSize() > 0
@ -169,7 +166,7 @@ def test_cache_update_metadata(config_stub, tmpdir):
assert disk_cache.metaData(QUrl(url)) == metadata assert disk_cache.metaData(QUrl(url)) == metadata
def test_cache_full(config_stub, tmpdir): def test_cache_full(tmpdir):
"""Do a sanity test involving everything.""" """Do a sanity test involving everything."""
disk_cache = QNetworkDiskCache() disk_cache = QNetworkDiskCache()
disk_cache.setCacheDirectory(str(tmpdir)) disk_cache.setCacheDirectory(str(tmpdir))