created shared file for some test fucntions
This commit is contained in:
19
tests/shared.py
Normal file
19
tests/shared.py
Normal file
@ -0,0 +1,19 @@
|
||||
"""
|
||||
This file contains shared functions used within multiple tests.
|
||||
|
||||
Author(s): David Marchant
|
||||
"""
|
||||
from core.functionality import make_dir, rmtree
|
||||
from core.correctness.vars import TEST_HANDLER_BASE, TEST_JOB_OUTPUT, \
|
||||
TEST_MONITOR_BASE
|
||||
|
||||
def setup():
|
||||
make_dir(TEST_MONITOR_BASE, ensure_clean=True)
|
||||
make_dir(TEST_HANDLER_BASE, ensure_clean=True)
|
||||
make_dir(TEST_JOB_OUTPUT, ensure_clean=True)
|
||||
|
||||
def teardown():
|
||||
rmtree(TEST_MONITOR_BASE)
|
||||
rmtree(TEST_HANDLER_BASE)
|
||||
rmtree(TEST_JOB_OUTPUT)
|
||||
rmtree("first")
|
@ -13,7 +13,7 @@ cd $script_dir
|
||||
search_dir=.
|
||||
for entry in "$search_dir"/*
|
||||
do
|
||||
if [[ $entry == ./test* ]] && [[ $entry != ./$script_name ]];
|
||||
if [[ $entry == ./test* ]] && [[ $entry != ./$script_name ]] && [[ $entry != ./shared.py ]];
|
||||
then
|
||||
pytest $entry "-W ignore::DeprecationWarning"
|
||||
fi
|
||||
|
@ -7,12 +7,12 @@ from core.correctness.vars import PYTHON_TYPE, TEST_HANDLER_BASE, SHA256, \
|
||||
WATCHDOG_BASE, WATCHDOG_RULE, WATCHDOG_HASH, JOB_PARAMETERS, JOB_HASH, \
|
||||
PYTHON_FUNC, PYTHON_OUTPUT_DIR, PYTHON_EXECUTION_BASE, JOB_ID, META_FILE, \
|
||||
BASE_FILE, PARAMS_FILE, JOB_FILE, RESULT_FILE
|
||||
from core.functionality import make_dir, rmtree, get_file_hash, create_event, \
|
||||
create_job
|
||||
from core.functionality import get_file_hash, create_event, create_job
|
||||
from core.meow import create_rule
|
||||
from conductors import LocalPythonConductor
|
||||
from patterns import FileEventPattern
|
||||
from recipes.jupyter_notebook_recipe import JupyterNotebookRecipe, job_func
|
||||
from shared import setup, teardown
|
||||
|
||||
|
||||
def failing_func():
|
||||
@ -22,15 +22,11 @@ def failing_func():
|
||||
class MeowTests(unittest.TestCase):
|
||||
def setUp(self)->None:
|
||||
super().setUp()
|
||||
make_dir(TEST_MONITOR_BASE)
|
||||
make_dir(TEST_HANDLER_BASE)
|
||||
make_dir(TEST_JOB_OUTPUT)
|
||||
setup()
|
||||
|
||||
def tearDown(self)->None:
|
||||
super().tearDown()
|
||||
rmtree(TEST_MONITOR_BASE)
|
||||
rmtree(TEST_HANDLER_BASE)
|
||||
rmtree(TEST_JOB_OUTPUT)
|
||||
teardown()
|
||||
|
||||
def testLocalPythonConductorCreation(self)->None:
|
||||
lpc = LocalPythonConductor()
|
||||
|
@ -23,15 +23,16 @@ from core.functionality import generate_id, wait, get_file_hash, rmtree, \
|
||||
from core.meow import create_rule
|
||||
from patterns import FileEventPattern
|
||||
from recipes import JupyterNotebookRecipe
|
||||
from shared import setup, teardown
|
||||
|
||||
class CorrectnessTests(unittest.TestCase):
|
||||
def setUp(self)->None:
|
||||
super().setUp()
|
||||
make_dir(TEST_MONITOR_BASE, ensure_clean=True)
|
||||
setup()
|
||||
|
||||
def tearDown(self)->None:
|
||||
super().tearDown()
|
||||
rmtree(TEST_MONITOR_BASE)
|
||||
teardown()
|
||||
|
||||
def testGenerateIDWorking(self)->None:
|
||||
id = generate_id()
|
||||
|
@ -3,13 +3,12 @@ import unittest
|
||||
|
||||
from typing import Any, Union
|
||||
|
||||
from core.correctness.vars import TEST_HANDLER_BASE, TEST_JOB_OUTPUT, \
|
||||
TEST_MONITOR_BASE, BAREBONES_NOTEBOOK
|
||||
from core.functionality import make_dir, rmtree
|
||||
from core.correctness.vars import BAREBONES_NOTEBOOK
|
||||
from core.meow import BasePattern, BaseRecipe, BaseRule, BaseMonitor, \
|
||||
BaseHandler, BaseConductor, create_rules, create_rule
|
||||
from patterns import FileEventPattern
|
||||
from recipes.jupyter_notebook_recipe import JupyterNotebookRecipe
|
||||
from shared import setup, teardown
|
||||
|
||||
valid_pattern_one = FileEventPattern(
|
||||
"pattern_one", "path_one", "recipe_one", "file_one")
|
||||
@ -25,15 +24,11 @@ valid_recipe_two = JupyterNotebookRecipe(
|
||||
class MeowTests(unittest.TestCase):
|
||||
def setUp(self)->None:
|
||||
super().setUp()
|
||||
make_dir(TEST_MONITOR_BASE)
|
||||
make_dir(TEST_HANDLER_BASE)
|
||||
make_dir(TEST_JOB_OUTPUT)
|
||||
setup()
|
||||
|
||||
def tearDown(self)->None:
|
||||
super().tearDown()
|
||||
rmtree(TEST_MONITOR_BASE)
|
||||
rmtree(TEST_HANDLER_BASE)
|
||||
rmtree(TEST_JOB_OUTPUT)
|
||||
teardown()
|
||||
|
||||
def testBaseRecipe(self)->None:
|
||||
with self.assertRaises(TypeError):
|
||||
|
@ -8,10 +8,11 @@ from multiprocessing import Pipe
|
||||
from core.correctness.vars import FILE_CREATE_EVENT, BAREBONES_NOTEBOOK, \
|
||||
TEST_MONITOR_BASE, EVENT_TYPE, WATCHDOG_RULE, WATCHDOG_BASE, \
|
||||
WATCHDOG_TYPE, EVENT_PATH
|
||||
from core.functionality import rmtree, make_dir
|
||||
from core.functionality import make_dir
|
||||
from patterns.file_event_pattern import FileEventPattern, WatchdogMonitor, \
|
||||
_DEFAULT_MASK, SWEEP_START, SWEEP_STOP, SWEEP_JUMP
|
||||
from recipes import JupyterNotebookRecipe
|
||||
from shared import setup, teardown
|
||||
|
||||
|
||||
def patterns_equal(tester, pattern_one, pattern_two):
|
||||
@ -38,11 +39,11 @@ def recipes_equal(tester, recipe_one, recipe_two):
|
||||
class CorrectnessTests(unittest.TestCase):
|
||||
def setUp(self)->None:
|
||||
super().setUp()
|
||||
make_dir(TEST_MONITOR_BASE, ensure_clean=True)
|
||||
setup()
|
||||
|
||||
def tearDown(self)->None:
|
||||
super().tearDown()
|
||||
rmtree(TEST_MONITOR_BASE)
|
||||
teardown()
|
||||
|
||||
def testFileEventPatternCreationMinimum(self)->None:
|
||||
FileEventPattern("name", "path", "recipe", "file")
|
||||
|
@ -13,26 +13,22 @@ from core.correctness.vars import BAREBONES_NOTEBOOK, TEST_HANDLER_BASE, \
|
||||
APPENDING_NOTEBOOK, META_FILE, BASE_FILE, PARAMS_FILE, JOB_FILE, \
|
||||
RESULT_FILE
|
||||
from core.correctness.validation import valid_job
|
||||
from core.functionality import rmtree, make_dir, get_file_hash, create_job, \
|
||||
create_event
|
||||
from core.functionality import get_file_hash, create_job, create_event
|
||||
from core.meow import create_rules, create_rule
|
||||
from patterns.file_event_pattern import FileEventPattern
|
||||
from recipes.jupyter_notebook_recipe import JupyterNotebookRecipe, \
|
||||
PapermillHandler, job_func
|
||||
from rules.file_event_jupyter_notebook_rule import FileEventJupyterNotebookRule
|
||||
from shared import setup, teardown
|
||||
|
||||
class CorrectnessTests(unittest.TestCase):
|
||||
def setUp(self)->None:
|
||||
super().setUp()
|
||||
make_dir(TEST_MONITOR_BASE)
|
||||
make_dir(TEST_HANDLER_BASE)
|
||||
make_dir(TEST_JOB_OUTPUT)
|
||||
setup()
|
||||
|
||||
def tearDown(self)->None:
|
||||
super().tearDown()
|
||||
rmtree(TEST_MONITOR_BASE)
|
||||
rmtree(TEST_HANDLER_BASE)
|
||||
rmtree(TEST_JOB_OUTPUT)
|
||||
teardown()
|
||||
|
||||
def testJupyterNotebookRecipeCreationMinimum(self)->None:
|
||||
JupyterNotebookRecipe("test_recipe", BAREBONES_NOTEBOOK)
|
||||
|
@ -5,13 +5,16 @@ from core.correctness.vars import BAREBONES_NOTEBOOK
|
||||
from patterns.file_event_pattern import FileEventPattern
|
||||
from recipes.jupyter_notebook_recipe import JupyterNotebookRecipe
|
||||
from rules.file_event_jupyter_notebook_rule import FileEventJupyterNotebookRule
|
||||
from shared import setup, teardown
|
||||
|
||||
class CorrectnessTests(unittest.TestCase):
|
||||
def setUp(self)->None:
|
||||
return super().setUp()
|
||||
super().setUp()
|
||||
setup()
|
||||
|
||||
def tearDown(self)->None:
|
||||
return super().tearDown()
|
||||
super().tearDown()
|
||||
teardown()
|
||||
|
||||
def testFileEventJupyterNotebookRuleCreationMinimum(self)->None:
|
||||
fep = FileEventPattern("name", "path", "recipe", "file")
|
||||
|
@ -8,26 +8,23 @@ from time import sleep
|
||||
from conductors import LocalPythonConductor
|
||||
from core.correctness.vars import TEST_HANDLER_BASE, TEST_JOB_OUTPUT, \
|
||||
TEST_MONITOR_BASE, APPENDING_NOTEBOOK, RESULT_FILE
|
||||
from core.functionality import make_dir, rmtree, read_notebook
|
||||
from core.functionality import make_dir, read_notebook
|
||||
from core.meow import BaseMonitor, BaseHandler, BaseConductor
|
||||
from core.runner import MeowRunner
|
||||
from patterns import WatchdogMonitor, FileEventPattern
|
||||
from recipes.jupyter_notebook_recipe import PapermillHandler, \
|
||||
JupyterNotebookRecipe
|
||||
from shared import setup, teardown
|
||||
|
||||
|
||||
class MeowTests(unittest.TestCase):
|
||||
def setUp(self)->None:
|
||||
super().setUp()
|
||||
make_dir(TEST_MONITOR_BASE)
|
||||
make_dir(TEST_HANDLER_BASE)
|
||||
make_dir(TEST_JOB_OUTPUT)
|
||||
setup()
|
||||
|
||||
def tearDown(self)->None:
|
||||
super().tearDown()
|
||||
rmtree(TEST_MONITOR_BASE)
|
||||
rmtree(TEST_HANDLER_BASE)
|
||||
rmtree(TEST_JOB_OUTPUT)
|
||||
teardown()
|
||||
|
||||
def testMeowRunnerSetup(self)->None:
|
||||
|
||||
|
@ -13,17 +13,17 @@ from core.correctness.validation import check_type, check_implementation, \
|
||||
from core.correctness.vars import VALID_NAME_CHARS, TEST_MONITOR_BASE, \
|
||||
SHA256, EVENT_TYPE, EVENT_PATH, JOB_TYPE, JOB_EVENT, JOB_ID, JOB_PATTERN, \
|
||||
JOB_RECIPE, JOB_RULE, JOB_STATUS, JOB_CREATE_TIME
|
||||
from core.functionality import rmtree, make_dir
|
||||
from core.functionality import make_dir
|
||||
from shared import setup, teardown
|
||||
|
||||
class CorrectnessTests(unittest.TestCase):
|
||||
def setUp(self)->None:
|
||||
super().setUp()
|
||||
make_dir(TEST_MONITOR_BASE, ensure_clean=True)
|
||||
setup()
|
||||
|
||||
def tearDown(self)->None:
|
||||
super().tearDown()
|
||||
rmtree(TEST_MONITOR_BASE)
|
||||
rmtree("first")
|
||||
teardown()
|
||||
|
||||
def testCheckTypeValid(self)->None:
|
||||
check_type(1, int)
|
||||
|
Reference in New Issue
Block a user