mirror of https://github.com/wooey/Wooey.git
45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
__author__ = "chris"
|
|
from unittest import TestCase
|
|
import subprocess
|
|
import os
|
|
import shutil
|
|
import sys
|
|
|
|
BASE_DIR = os.path.split(__file__)[0]
|
|
WOOEY_SCRIPT_PATH = os.path.join(BASE_DIR, "..", "scripts", "wooify")
|
|
WOOEY_TEST_PROJECT_NAME = "wooey_project"
|
|
WOOEY_TEST_PROJECT_PATH = os.path.join(BASE_DIR, WOOEY_TEST_PROJECT_NAME)
|
|
WOOEY_TEST_PROJECT_MANAGE = os.path.join(WOOEY_TEST_PROJECT_PATH, "manage.py")
|
|
PYTHON_INTERPRETTER = sys.executable if sys.executable else "python"
|
|
|
|
env = os.environ
|
|
env["DJANGO_SETTINGS_MODULE"] = "{}.settings".format(WOOEY_TEST_PROJECT_NAME)
|
|
env["TESTING"] = "True"
|
|
|
|
|
|
class TestProject(TestCase):
|
|
def setUp(self):
|
|
os.chdir(BASE_DIR)
|
|
# if old stuff exists, remove it
|
|
if os.path.exists(WOOEY_TEST_PROJECT_PATH):
|
|
shutil.rmtree(WOOEY_TEST_PROJECT_PATH)
|
|
|
|
def tearDown(self):
|
|
os.chdir(BASE_DIR)
|
|
if os.path.exists(WOOEY_TEST_PROJECT_PATH):
|
|
shutil.rmtree(WOOEY_TEST_PROJECT_PATH)
|
|
|
|
def test_bootstrap(self):
|
|
from wooey.backend import command_line
|
|
|
|
sys.argv = [WOOEY_SCRIPT_PATH, "-p", WOOEY_TEST_PROJECT_NAME]
|
|
ret = command_line.bootstrap(env=env, cwd=BASE_DIR)
|
|
self.assertIsNone(ret)
|
|
# test our script is executable from the command line, it will fail with return code of 1 since
|
|
# the project already exists
|
|
proc = subprocess.Popen(
|
|
[PYTHON_INTERPRETTER, WOOEY_SCRIPT_PATH, "-p", WOOEY_TEST_PROJECT_NAME]
|
|
)
|
|
stdout, stderr = proc.communicate()
|
|
self.assertEqual(proc.returncode, 1, stderr)
|