Blame cloudinit/config/tests/test_mounts.py
|
Packit Service |
9bfd13 |
# This file is part of cloud-init. See LICENSE file for license information.
|
|
Packit Service |
9bfd13 |
from unittest import mock
|
|
Packit Service |
9bfd13 |
|
|
Packit Service |
9bfd13 |
import pytest
|
|
Packit Service |
9bfd13 |
|
|
Packit Service |
9bfd13 |
from cloudinit.config.cc_mounts import create_swapfile
|
|
Packit Service |
9bfd13 |
|
|
Packit Service |
9bfd13 |
|
|
Packit Service |
9bfd13 |
M_PATH = 'cloudinit.config.cc_mounts.'
|
|
Packit Service |
9bfd13 |
|
|
Packit Service |
9bfd13 |
|
|
Packit Service |
9bfd13 |
class TestCreateSwapfile:
|
|
Packit Service |
9bfd13 |
|
|
Packit Service |
9bfd13 |
@pytest.mark.parametrize('fstype', ('xfs', 'btrfs', 'ext4', 'other'))
|
|
Packit Service |
9bfd13 |
@mock.patch(M_PATH + 'util.get_mount_info')
|
|
Packit Service |
9bfd13 |
@mock.patch(M_PATH + 'subp.subp')
|
|
Packit Service |
9bfd13 |
def test_happy_path(self, m_subp, m_get_mount_info, fstype, tmpdir):
|
|
Packit Service |
9bfd13 |
swap_file = tmpdir.join("swap-file")
|
|
Packit Service |
9bfd13 |
fname = str(swap_file)
|
|
Packit Service |
9bfd13 |
|
|
Packit Service |
9bfd13 |
# Some of the calls to subp.subp should create the swap file; this
|
|
Packit Service |
9bfd13 |
# roughly approximates that
|
|
Packit Service |
9bfd13 |
m_subp.side_effect = lambda *args, **kwargs: swap_file.write('')
|
|
Packit Service |
9bfd13 |
|
|
Packit Service |
9bfd13 |
m_get_mount_info.return_value = (mock.ANY, fstype)
|
|
Packit Service |
9bfd13 |
|
|
Packit Service |
9bfd13 |
create_swapfile(fname, '')
|
|
Packit Service |
9bfd13 |
assert mock.call(['mkswap', fname]) in m_subp.call_args_list
|