samedi 6 février 2016

How do I mock a file object with a set size?

I have a function that raises an exception if the size of a file is too big (> 1MB). I would like to test this function without using a real image. I know it is possible to mock file objects with mock_open but how do I give this fake file a size?

Here is the function I want to test:

def _check_image_size(img_path):
    megabyte = 1048576

    if os.path.getsize(img_path) > megabyte:
        raise ValueError("Image must be less than or equal to 1MB in size.")

So just to reiterate the question in a different way: how to I test this function without using a real file greater than 1MB in size?

Aucun commentaire:

Enregistrer un commentaire