Example #1
0
def test_get_file_no_read(file_open, ZipFile):
    raw_file = mock.Mock()
    file_open.return_value = raw_file

    mocked_file = mock.Mock()
    mocked_zipfile = mock.Mock()
    mocked_zipfile.open.return_value = mocked_file
    ZipFile.return_value = mocked_zipfile

    result = mod.get_file('test/file.zip', 'file.ext', no_read=True)
    assert result is mocked_file
    assert not raw_file.close.called
    assert not mocked_file.close.called
    assert not mocked_file.read.called
Example #2
0
def test_get_file_read(file_open, ZipFile):
    raw_file = mock.Mock()
    file_open.return_value = raw_file

    mocked_file = mock.Mock()
    mocked_file.read.return_value = 'some content'
    mocked_zipfile = mock.Mock()
    mocked_zipfile.open.return_value = mocked_file
    ZipFile.return_value = mocked_zipfile

    result = mod.get_file('test/file.zip', 'file.ext', no_read=False)
    assert result == 'some content'
    assert raw_file.close.called
    assert mocked_file.close.called
    assert mocked_file.read.called
Example #3
0
def test_get_file_invalid_zip(file_open, ZipFile):
    ZipFile.side_effect = mod.zipfile.BadZipfile()
    with pytest.raises(mod.ValidationError):
        mod.get_file('test/file.zip', 'image.jpg')

    ZipFile.assert_called_once_with(file_open.return_value)
Example #4
0
def test_get_file_error_opening(file_open, ZipFile):
    file_open.side_effect = IOError()
    with pytest.raises(mod.ValidationError):
        mod.get_file('test/file.zip', 'image.jpg')

    assert not ZipFile.called