示例#1
0
def test_positive_fm_packages_update(ansible_module, setup_packages_update):
    """Verify whether packages check-update and update work as expected.

    :id: 354d9940-10f1-4244-9079-fdbd24be49b3

    :setup:
        1. foreman-maintain should be installed.

    :steps:
        1. Run foreman-maintain packages check-update
        2. Run foreman-maintain packages update to update the walrus package.
        3. Verify walrus package is updated.

    :BZ: 1803975

    :expectedresults: foreman-maintain packages check-update should list walrus package for update
                      and foreman-maintain packages update should update the walrus package.

    :CaseImportance: Critical
    """
    # Run foreman-maintain packages check update and verify walrus package is available for update.
    contacted = ansible_module.command(Packages.check_update())
    for result in contacted.values():
        logger.info(result["stdout"])
        assert "FAIL" not in result["stdout"]
        assert result["rc"] == 0
        assert "walrus" in result["stdout"]
    # Run foreman-maintain packages update
    contacted = ansible_module.raw(Packages.update(["--assumeyes", "walrus"]))
    for result in contacted.values():
        logger.info(result["stdout"])
        assert "FAIL" not in result["stdout"]
        assert result["rc"] == 0
    # Verify walrus package is updated.
    contacted = ansible_module.command("rpm -qa walrus")
    for result in contacted.values():
        logger.info(result["stdout"])
        assert result["rc"] == 0
        assert "walrus-5.21-1" in result["stdout"]
示例#2
0
def test_positive_fm_packages_install(ansible_module,
                                      setup_packages_lock_tests):
    """Verify whether packages install/update work as expected.

    :id: 645a3d84-34cb-469c-8b79-105b889aac78

    :setup:
        1. foreman-maintain should be installed.

    :steps:
        1. Run satellite-installer --lock-package-versions
        2. Run foreman-maintain packages status
        3. Run foreman-maintain packages is-locked
        4. Try to install/update package using FM packages install/update command.
        5. Run satellite-installer --no-lock-package-versions
        6. Run foreman-maintain packages status
        7. Run foreman-maintain packages is-locked
        8. Try to install package in unlocked state.
        9. Teardown (Run satellite-installer --lock-package-versions)


    :expectedresults: expected packages get locked and unlocked.

    :CaseImportance: Critical
    """
    contacted = ansible_module.command("yum install -y zsh")
    for result in contacted.values():
        assert result["rc"] == 1
        assert "Use foreman-maintain packages install/update <package>" in result[
            "stdout"]
    # Test whether FM packages install/ update command works as expected.
    contacted = ansible_module.raw(
        Packages.install(["--assumeyes", "zsh-5.0.2-31.el7.x86_64 elinks"]))
    for result in contacted.values():
        logger.info(result["stdout"])
        assert "FAIL" not in result["stdout"]
        assert "Nothing to do" not in result["stdout"]
        assert "Packages are locked." in result["stdout"]
        assert "Automatic locking of package versions is enabled in installer." in result[
            "stdout"]
    contacted = ansible_module.raw(Packages.update(["--assumeyes", "zsh"]))
    for result in contacted.values():
        logger.info(result["stdout"])
        assert "FAIL" not in result["stdout"]
        assert "Nothing to do" not in result["stdout"]
        assert "Packages are locked." in result["stdout"]
        assert "Automatic locking of package versions is enabled in installer." in result[
            "stdout"]
    # Test whether packages are unlocked or not
    contacted = ansible_module.command(
        "satellite-installer --no-lock-package-versions")
    for result in contacted.values():
        logger.info(result["stdout"])
        assert result["rc"] == 0
    contacted = ansible_module.command(Packages.status())
    for result in contacted.values():
        logger.info(result["stdout"])
        assert "FAIL" not in result["stdout"]
        assert "Packages are not locked." in result["stdout"]
        assert "Automatic locking of package versions is disabled in installer." in result[
            "stdout"]
        assert result["rc"] == 0
    contacted = ansible_module.command(Packages.is_locked())
    for result in contacted.values():
        logger.info(result["stdout"])
        assert "Packages are not locked" in result["stdout"]
        assert result["rc"] == 1
    contacted = ansible_module.yum(name="zsh", state="absent")
    for result in contacted.values():
        assert result["rc"] == 0
    contacted = ansible_module.command("yum install -y zsh")
    for result in contacted.values():
        assert result["rc"] == 0
        assert "Use foreman-maintain packages install/update <package>" not in result[
            "stdout"]