Esempio n. 1
0
    def test_with_container(self, m_run_command, m_exit_json):
        ca_test_common.set_module_args({
            'name': fake_flag,
        })
        m_exit_json.side_effect = ca_test_common.exit_json
        stdout = ''
        stderr = '{} is set'.format(fake_flag)
        rc = 0
        m_run_command.return_value = rc, stdout, stderr

        with pytest.raises(ca_test_common.AnsibleExitJson) as result:
            ceph_osd_flag.main()

        result = result.value.args[0]
        assert result['changed']
        assert result['cmd'] == [
            fake_container_binary, 'run', '--rm', '--net=host', '-v',
            '/etc/ceph:/etc/ceph:z', '-v', '/var/lib/ceph/:/var/lib/ceph/:z',
            '-v', '/var/log/ceph/:/var/log/ceph/:z', '--entrypoint=ceph',
            fake_container_image, '-n', fake_user, '-k', fake_keyring,
            '--cluster', fake_cluster, 'osd', 'set', fake_flag
        ]
        assert result['rc'] == rc
        assert result['stderr'] == stderr
        assert result['stdout'] == stdout
Esempio n. 2
0
    def test_without_parameters(self, m_fail_json):
        ca_test_common.set_module_args({})
        m_fail_json.side_effect = ca_test_common.fail_json

        with pytest.raises(ca_test_common.AnsibleFailJson) as result:
            ceph_osd_flag.main()

        result = result.value.args[0]
        assert result['msg'] == 'missing required arguments: name'
Esempio n. 3
0
    def test_with_invalid_flag(self, m_fail_json):
        ca_test_common.set_module_args({
            'name': invalid_flag,
        })
        m_fail_json.side_effect = ca_test_common.fail_json

        with pytest.raises(ca_test_common.AnsibleFailJson) as result:
            ceph_osd_flag.main()

        result = result.value.args[0]
        assert result['msg'] == (
            'value of name must be one of: noup, nodown, '
            'noout, nobackfill, norebalance, norecover, '
            'noscrub, nodeep-scrub, got: {}'.format(invalid_flag))
Esempio n. 4
0
    def test_with_failure(self, m_run_command, m_exit_json):
        ca_test_common.set_module_args({'name': fake_flag})
        m_exit_json.side_effect = ca_test_common.exit_json
        stdout = ''
        stderr = 'Error EINVAL: invalid command'
        rc = 22
        m_run_command.return_value = rc, stdout, stderr

        with pytest.raises(ca_test_common.AnsibleExitJson) as result:
            ceph_osd_flag.main()

        result = result.value.args[0]
        assert result['changed']
        assert result['cmd'] == [
            'ceph', '-n', fake_user, '-k', fake_keyring, '--cluster',
            fake_cluster, 'osd', 'set', fake_flag
        ]
        assert result['rc'] == rc
        assert result['stderr'] == stderr
Esempio n. 5
0
    def test_with_check_mode(self, m_exit_json):
        ca_test_common.set_module_args({
            'name': fake_flag,
            '_ansible_check_mode': True
        })
        m_exit_json.side_effect = ca_test_common.exit_json

        with pytest.raises(ca_test_common.AnsibleExitJson) as result:
            ceph_osd_flag.main()

        result = result.value.args[0]
        assert not result['changed']
        assert result['cmd'] == [
            'ceph', '-n', fake_user, '-k', fake_keyring, '--cluster',
            fake_cluster, 'osd', 'set', fake_flag
        ]
        assert result['rc'] == 0
        assert not result['stdout']
        assert not result['stderr']
Esempio n. 6
0
    def test_unset_flag(self, m_run_command, m_exit_json):
        ca_test_common.set_module_args({'name': fake_flag, 'state': 'absent'})
        m_exit_json.side_effect = ca_test_common.exit_json
        stdout = ''
        stderr = '{} is unset'.format(fake_flag)
        rc = 0
        m_run_command.return_value = rc, stdout, stderr

        with pytest.raises(ca_test_common.AnsibleExitJson) as result:
            ceph_osd_flag.main()

        result = result.value.args[0]
        assert result['changed']
        assert result['cmd'] == [
            'ceph', '-n', fake_user, '-k', fake_keyring, '--cluster',
            fake_cluster, 'osd', 'unset', fake_flag
        ]
        assert result['rc'] == rc
        assert result['stderr'] == stderr
        assert result['stdout'] == stdout