Files
Sheerka-Old/tests/core/test_SheerkaAdmin.py
T
2021-01-11 15:36:03 +01:00

72 lines
3.1 KiB
Python

from core.builtin_concepts_ids import BuiltinConcepts
from tests.TestUsingMemoryBasedSheerka import TestUsingMemoryBasedSheerka
class TestSheerkaAdmin(TestUsingMemoryBasedSheerka):
def test_i_can_get_concepts(self):
sheerka = self.get_sheerka(cache_only=False, singleton=False)
res = sheerka.concepts()
concepts = list(res.body)
assert sheerka.isinstance(res, BuiltinConcepts.TO_LIST)
assert concepts[0] == sheerka
assert concepts[1].id == "2"
# def test_i_can_get_last_error_ret(self):
# sheerka, context = self.init_concepts()
#
# # nothing in history
# last_error_ret = sheerka.last_error_ret(context)
# assert sheerka.isinstance(last_error_ret, BuiltinConcepts.RETURN_VALUE)
# assert not last_error_ret.status
# assert sheerka.isinstance(last_error_ret.body, BuiltinConcepts.NOT_FOUND)
#
# # only success in history
# r_success = sheerka.ret("Test", True, "success")
# sheerka.last_return_values.append([r_success])
# last_error_ret = sheerka.last_error_ret(context)
# assert sheerka.isinstance(last_error_ret, BuiltinConcepts.RETURN_VALUE)
# assert not last_error_ret.status
# assert sheerka.isinstance(last_error_ret.body, BuiltinConcepts.NOT_FOUND)
#
# # at least on error
# r_failure = sheerka.ret("Test", False, "failure")
# sheerka.last_return_values.append([r_failure])
# assert sheerka.last_error_ret(context) == r_failure
#
# # add another success and make sure we get the same error
# sheerka.last_return_values.append([r_success])
# assert sheerka.last_error_ret(context) == r_failure
#
# # and I only get the last failure
# r_failure2 = sheerka.ret("Test", False, "another failure")
# sheerka.last_return_values.append([r_failure2])
# assert sheerka.last_error_ret(context) == r_failure2
#
# # but I still can get the previous error
# assert sheerka.last_error_ret(context, -2) == r_failure
#
# def test_i_can_get_last_error_ret_when_only_one_ret_has_failed(self):
# sheerka, context = self.init_concepts()
#
# r_success = sheerka.ret("Test", True, "success")
# r_failure = sheerka.ret("Test", False, "False1")
#
# sheerka.last_return_values.append([r_success, r_failure])
# assert sheerka.last_error_ret(context) == r_failure
#
# def test_i_cannot_get_last_error_ret_when_too_many_errors(self):
# sheerka, context = self.init_concepts()
#
# r1 = sheerka.ret("Test", True, "success")
# r2 = sheerka.ret("Test", False, "False1")
# r3 = sheerka.ret("Test", False, "False2")
#
# sheerka.last_return_values.append([r1, r2, r3])
# last_error_ret = sheerka.last_error_ret(context)
# assert sheerka.isinstance(last_error_ret, BuiltinConcepts.RETURN_VALUE)
# assert not last_error_ret.status
# assert sheerka.isinstance(last_error_ret.body, BuiltinConcepts.TOO_MANY_ERRORS)
# assert last_error_ret.body.body == [r2, r3]