commit
b142435abd
@ -0,0 +1,45 @@ |
||||
#!/usr/bin/env python3 |
||||
# -*- coding: utf-8 -*- |
||||
# |
||||
# 2011 Nico Schottelius (nico-cdist at schottelius.org) |
||||
# |
||||
# This file is part of cdist. |
||||
# |
||||
# cdist is free software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# cdist is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>. |
||||
# |
||||
# |
||||
|
||||
|
||||
import os |
||||
import subprocess |
||||
import unittest |
||||
|
||||
cdist_commands=["banner", "config", "install"] |
||||
|
||||
cdist_exec_path = os.path.abspath( |
||||
os.path.join(os.path.dirname(os.path.realpath(__file__)), "../bin/cdist")) |
||||
|
||||
class UI(unittest.TestCase): |
||||
def test_banner(self): |
||||
self.assertEqual(subprocess.call([cdist_exec_path, "banner"]), 0) |
||||
|
||||
def test_help(self): |
||||
for cmd in cdist_commands: |
||||
self.assertEqual(subprocess.call([cdist_exec_path, cmd, "-h"]), 0) |
||||
|
||||
# FIXME: mockup needed |
||||
def test_config_localhost(self): |
||||
for cmd in cdist_commands: |
||||
self.assertEqual(subprocess.call([cdist_exec_path, "config", "localhost"]), 0) |
||||
|
@ -0,0 +1,80 @@ |
||||
#!/usr/bin/env python3 |
||||
# -*- coding: utf-8 -*- |
||||
# |
||||
# 2011 Nico Schottelius (nico-cdist at schottelius.org) |
||||
# |
||||
# This file is part of cdist. |
||||
# |
||||
# cdist is free software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# cdist is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>. |
||||
# |
||||
# |
||||
|
||||
|
||||
import os |
||||
import sys |
||||
import shutil |
||||
import subprocess |
||||
import tempfile |
||||
import unittest |
||||
|
||||
sys.path.insert(0, os.path.abspath( |
||||
os.path.join(os.path.dirname(os.path.realpath(__file__)), '../lib'))) |
||||
|
||||
import cdist.exec |
||||
|
||||
class Exec(unittest.TestCase): |
||||
def setUp(self): |
||||
"""Create shell code and co.""" |
||||
|
||||
self.temp_dir = tempfile.mkdtemp() |
||||
self.shell_false = os.path.join(self.temp_dir, "shell_false") |
||||
self.shell_true = os.path.join(self.temp_dir, "shell_true") |
||||
|
||||
true_fd = open(self.shell_true, "w") |
||||
true_fd.writelines(["#!/bin/sh\n", "/bin/true"]) |
||||
true_fd.close() |
||||
|
||||
false_fd = open(self.shell_false, "w") |
||||
false_fd.writelines(["#!/bin/sh\n", "/bin/false"]) |
||||
false_fd.close() |
||||
|
||||
def tearDown(self): |
||||
shutil.rmtree(self.temp_dir) |
||||
|
||||
def test_local_success_shell(self): |
||||
try: |
||||
cdist.exec.shell_run_or_debug_fail(self.shell_true, [self.shell_true]) |
||||
except cdist.Error: |
||||
failed = True |
||||
else: |
||||
failed = False |
||||
|
||||
self.assertFalse(failed) |
||||
|
||||
def test_local_fail_shell(self): |
||||
self.assertRaises(cdist.Error, cdist.exec.shell_run_or_debug_fail, |
||||
self.shell_false, [self.shell_false]) |
||||
|
||||
def test_local_success(self): |
||||
try: |
||||
cdist.exec.run_or_fail(["/bin/true"]) |
||||
except cdist.Error: |
||||
failed = True |
||||
else: |
||||
failed = False |
||||
|
||||
self.assertFalse(failed) |
||||
|
||||
def test_local_fail(self): |
||||
self.assertRaises(cdist.Error, cdist.exec.run_or_fail, ["/bin/false"]) |
Loading…
Reference in new issue