from tests.utils import TestCaseWithDB, TestCaseWithServer
from plomtask.processes import Process, ProcessStep
from plomtask.conditions import Condition
-from plomtask.exceptions import NotFoundException, BadFormatException
+from plomtask.exceptions import NotFoundException, HandledException
class TestsSansDB(TestCase):
def test_Process_legal_ID(self) -> None:
"""Test Process cannot be instantiated with id_=0."""
- with self.assertRaises(BadFormatException):
+ with self.assertRaises(HandledException):
Process(0)
steps_proc += [step_tuple]
proc.set_steps(self.db_conn, steps_proc)
steps_proc[-1] = (expected_id, step_tuple[1], step_tuple[2])
- assert self.proc2.id_ is not None
- assert self.proc3.id_ is not None
+ assert isinstance(self.proc2.id_, int)
+ assert isinstance(self.proc3.id_, int)
steps_proc1: list[tuple[int | None, int, int | None]] = []
add_step(self.proc1, steps_proc1, (None, self.proc2.id_, None), 1)
p_1_dict: dict[int, dict[str, Any]] = {1: {
self.assertEqual(self.proc1.get_steps(self.db_conn, None), p_1_dict)
add_step(self.proc1, steps_proc1, (None, self.proc3.id_, None), 2)
step_2 = self.proc1.explicit_steps[-1]
+ assert isinstance(step_2.id_, int)
p_1_dict[2] = {
'process': self.proc3, 'parent_id': None,
'is_explicit': True, 'steps': {}, 'seen': False
for target in ('conditions', 'fulfills', 'undoes'):
c1 = Condition(None, False)
c1.save(self.db_conn)
- assert c1.id_ is not None
+ assert isinstance(c1.id_, int)
c2 = Condition(None, False)
c2.save(self.db_conn)
- assert c2.id_ is not None
+ assert isinstance(c2.id_, int)
self.proc1.set_conditions(self.db_conn, [], target)
self.assertEqual(getattr(self.proc1, target), [])
self.proc1.set_conditions(self.db_conn, [c1.id_], target)
def test_ProcessStep_singularity(self) -> None:
"""Test pointers made for single object keep pointing to it."""
- assert self.proc2.id_ is not None
+ assert isinstance(self.proc2.id_, int)
self.proc1.set_steps(self.db_conn, [(None, self.proc2.id_, None)])
step = self.proc1.explicit_steps[-1]
- assert step.id_ is not None
+ assert isinstance(step.id_, int)
step_retrieved = ProcessStep.by_id(self.db_conn, step.id_)
step.parent_step_id = 99
self.assertEqual(step.parent_step_id, step_retrieved.parent_step_id)
def test_Process_singularity(self) -> None:
"""Test pointers made for single object keep pointing to it."""
- assert self.proc2.id_ is not None
+ assert isinstance(self.proc1.id_, int)
+ assert isinstance(self.proc2.id_, int)
self.proc1.set_steps(self.db_conn, [(None, self.proc2.id_, None)])
p_retrieved = Process.by_id(self.db_conn, self.proc1.id_)
self.assertEqual(self.proc1.explicit_steps, p_retrieved.explicit_steps)
def test_Process_versioned_attributes_singularity(self) -> None:
"""Test behavior of VersionedAttributes on saving (with .title)."""
+ assert isinstance(self.proc1.id_, int)
self.proc1.title.set('named')
p_loaded = Process.by_id(self.db_conn, self.proc1.id_)
self.assertEqual(self.proc1.title.history, p_loaded.title.history)
"""Test /process and /processes response codes."""
self.check_get('/process', 200)
self.check_get('/process?id=', 200)
- self.check_get('/process?id=0', 400)
+ self.check_get('/process?id=0', 500)
self.check_get('/process?id=FOO', 400)
self.check_get('/processes', 200)