Merge pull request #1396 from lkissin2/utilstest

Testing _utils.py
This commit is contained in:
Paul Romano 2019-12-11 10:16:31 -06:00 committed by GitHub
commit 9e636a6f07
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 3 deletions

View file

@ -60,9 +60,10 @@ def download(url, checksum=None, as_browser=False, **kwargs):
if checksum is not None:
downloadsum = hashlib.md5(open(basename, 'rb').read()).hexdigest()
if downloadsum != checksum:
raise IOError("MD5 checksum for {} does not match. If this is your first "
"time receiving this message, please re-run the script. "
"Otherwise, please contact OpenMC developers by emailing "
raise IOError("MD5 checksum for {} does not match. If this is "
"your first time receiving this message, please "
"re-run the script. Otherwise, please contact "
"OpenMC developers by emailing "
"openmc-users@googlegroups.com.".format(basename))
return basename

View file

@ -0,0 +1,26 @@
import os
import filecmp
from openmc import _utils
import pytest
@pytest.fixture()
def download_photos(run_in_tmpdir):
"""use _utils download() function to download the same picture three times,
twice to get unique names, & a third time to use the already downloaded
block of code"""
_utils.download("https://i.ibb.co/HhKFc8x/small.jpg")
_utils.download("https://tinyurl.com/y4t38ugb")
_utils.download("https://tinyurl.com/y4t38ugb", as_browser=True)
def test_checksum_error(run_in_tmpdir):
"""use download() in such a way that will test the checksum error line"""
phrase = "MD5 checksum for y4t38ugb"
with pytest.raises(OSError, match=phrase):
_utils.download("https://tinyurl.com/y4t38ugb", as_browser=True,
checksum="not none")
def test_photos(download_photos):
assert filecmp.cmp("small.jpg", "y4t38ugb")