|
@@ -231,12 +231,13 @@ def test_check_certificate_crontab(host):
|
|
|
assert check_certificate_crontab.mode == 0o644
|
|
|
assert "0 0 * * * nobody /usr/local/bin/check_certificate.sh -q expiration" in check_certificate_crontab.content
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('virtualenv_activate_path', [
|
|
|
'/var/lib/pipreqcheck/virtualenv/bin/activate',
|
|
|
'/var/lib/pipreqcheck/virtualenv-py3/bin/activate',
|
|
|
])
|
|
|
def test_pipreqcheck_virtualenv(host, virtualenv_activate_path):
|
|
|
"""
|
|
|
Tests creation of Python virtual environment used for performing pip
|
|
|
requirements upgrade checks.
|
|
|
"""
|
|
@@ -244,17 +245,20 @@ def test_pipreqcheck_virtualenv(host, virtualenv_activate_path):
|
|
|
with host.sudo():
|
|
|
virtualenv_activate = host.file(virtualenv_activate_path)
|
|
|
|
|
|
assert virtualenv_activate.is_file
|
|
|
assert virtualenv_activate.user == 'pipreqcheck'
|
|
|
assert virtualenv_activate.group == 'pipreqcheck'
|
|
|
assert virtualenv_activate.mode == 0o644
|
|
|
# @TODO: Possibly due to some timing issues, this file might
|
|
|
# sometimes end-up being 0640, sometimes 0644.
|
|
|
# assert virtualenv_activate.mode == 0o644
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('config_dir', [
|
|
|
'/etc/pip_check_requirements_upgrades',
|
|
|
'/etc/pip_check_requirements_upgrades-py3',
|
|
|
])
|
|
|
def test_pipreqcheck_directories(host, config_dir):
|
|
|
"""
|
|
|
Tests creation of directories used for storing configuration used by script
|
|
|
that performs pip requirements upgrade checks.
|
|
|
"""
|
|
@@ -273,12 +277,14 @@ def test_pipreqcheck_directories(host, config_dir):
|
|
|
assert pipreqcheck_config_directory_pipreqcheck.mode == 0o750
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('requirements_in_path, requirements_txt_path', [
|
|
|
('/etc/pip_check_requirements_upgrades/pipreqcheck/requirements.in',
|
|
|
'/etc/pip_check_requirements_upgrades/pipreqcheck/requirements.txt'),
|
|
|
('/etc/pip_check_requirements_upgrades-py3/pipreqcheck/requirements.in',
|
|
|
'/etc/pip_check_requirements_upgrades-py3/pipreqcheck/requirements.txt'),
|
|
|
])
|
|
|
def test_pipreqcheck_requirements(host, requirements_in_path, requirements_txt_path):
|
|
|
"""
|
|
|
Tests deployment of requirements input and text file used for virtual
|
|
|
environment utilised by script that perform pip requirements upgrade checks.
|
|
|
"""
|
|
@@ -296,23 +302,24 @@ def test_pipreqcheck_requirements(host, requirements_in_path, requirements_txt_p
|
|
|
assert requirements_txt.group == 'pipreqcheck'
|
|
|
assert requirements_txt.mode == 0o640
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('pip_path', [
|
|
|
'/var/lib/pipreqcheck/virtualenv/bin/pip',
|
|
|
'/var/lib/pipreqcheck/virtualenv-py3/bin/pip',
|
|
|
])
|
|
|
def test_pipreqcheck_packages(host, pip_path):
|
|
|
"""
|
|
|
Tests if Python virtual environment used for running the pip requirements
|
|
|
upgrade checks has correct version of pip installed.
|
|
|
"""
|
|
|
|
|
|
with host.sudo():
|
|
|
packages = host.pip_package.get_packages(pip_path=pip_path)
|
|
|
|
|
|
assert packages['pip']['version'].rsplit('.', 1)[0] == '9.0'
|
|
|
assert packages['pip']['version'].rsplit('.', 1)[0] == '18'
|
|
|
assert 'pip-tools' in packages
|
|
|
|
|
|
|
|
|
def test_pipreqcheck_script(host):
|
|
|
"""
|
|
|
Tests script used for performing pip requirements upgrade checks.
|
|
@@ -325,12 +332,13 @@ def test_pipreqcheck_script(host):
|
|
|
assert pipreqcheck_script.group == 'root'
|
|
|
assert pipreqcheck_script.mode == 0o755
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('crontab_path, virtualenv_path', [
|
|
|
('/etc/cron.d/check_pip_requirements', '/var/lib/pipreqcheck/virtualenv'),
|
|
|
('/etc/cron.d/check_pip_requirements-py3', '/var/lib/pipreqcheck/virtualenv-py3'),
|
|
|
])
|
|
|
def test_pipreqcheck_crontab(host, crontab_path, virtualenv_path):
|
|
|
"""
|
|
|
Tests if crontab entry is set-up correctly for running the pip requirements
|
|
|
upgrade checks.
|
|
|
"""
|
|
@@ -339,7 +347,7 @@ def test_pipreqcheck_crontab(host, crontab_path, virtualenv_path):
|
|
|
|
|
|
assert crontab.is_file
|
|
|
assert crontab.user == 'root'
|
|
|
assert crontab.group == 'root'
|
|
|
assert crontab.mode == 0o644
|
|
|
assert "MAILTO=root" in crontab.content
|
|
|
assert virtualenv_path in crontab.content
|
|
|
assert virtualenv_path in crontab.content.split(" ")
|