File: test_mounts.py

package info (click to toggle)
cloud-init 20.2-2~deb10u2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 7,276 kB
  • sloc: python: 69,663; sh: 3,915; makefile: 105; xml: 21
file content (28 lines) | stat: -rw-r--r-- 903 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# This file is part of cloud-init. See LICENSE file for license information.
from unittest import mock

import pytest

from cloudinit.config.cc_mounts import create_swapfile


M_PATH = 'cloudinit.config.cc_mounts.'


class TestCreateSwapfile:

    @pytest.mark.parametrize('fstype', ('xfs', 'btrfs', 'ext4', 'other'))
    @mock.patch(M_PATH + 'util.get_mount_info')
    @mock.patch(M_PATH + 'util.subp')
    def test_happy_path(self, m_subp, m_get_mount_info, fstype, tmpdir):
        swap_file = tmpdir.join("swap-file")
        fname = str(swap_file)

        # Some of the calls to util.subp should create the swap file; this
        # roughly approximates that
        m_subp.side_effect = lambda *args, **kwargs: swap_file.write('')

        m_get_mount_info.return_value = (mock.ANY, fstype)

        create_swapfile(fname, '')
        assert mock.call(['mkswap', fname]) in m_subp.call_args_list