dify
This commit is contained in:
7
dify/api/tests/integration_tests/utils/child_class.py
Normal file
7
dify/api/tests/integration_tests/utils/child_class.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from tests.integration_tests.utils.parent_class import ParentClass
|
||||
|
||||
|
||||
class ChildClass(ParentClass):
|
||||
def __init__(self, name: str):
|
||||
super().__init__(name)
|
||||
self.name = name
|
||||
@@ -0,0 +1,7 @@
|
||||
from tests.integration_tests.utils.parent_class import ParentClass
|
||||
|
||||
|
||||
class LazyLoadChildClass(ParentClass):
|
||||
def __init__(self, name: str):
|
||||
super().__init__(name)
|
||||
self.name = name
|
||||
6
dify/api/tests/integration_tests/utils/parent_class.py
Normal file
6
dify/api/tests/integration_tests/utils/parent_class.py
Normal file
@@ -0,0 +1,6 @@
|
||||
class ParentClass:
|
||||
def __init__(self, name):
|
||||
self.name = name
|
||||
|
||||
def get_name(self):
|
||||
return self.name
|
||||
@@ -0,0 +1,34 @@
|
||||
import os
|
||||
|
||||
from core.helper.module_import_helper import import_module_from_source, load_single_subclass_from_source
|
||||
from tests.integration_tests.utils.parent_class import ParentClass
|
||||
|
||||
|
||||
def test_loading_subclass_from_source():
|
||||
current_path = os.getcwd()
|
||||
module = load_single_subclass_from_source(
|
||||
module_name="ChildClass", script_path=os.path.join(current_path, "child_class.py"), parent_type=ParentClass
|
||||
)
|
||||
assert module
|
||||
assert module.__name__ == "ChildClass"
|
||||
|
||||
|
||||
def test_load_import_module_from_source():
|
||||
current_path = os.getcwd()
|
||||
module = import_module_from_source(
|
||||
module_name="ChildClass", py_file_path=os.path.join(current_path, "child_class.py")
|
||||
)
|
||||
assert module
|
||||
assert module.__name__ == "ChildClass"
|
||||
|
||||
|
||||
def test_lazy_loading_subclass_from_source():
|
||||
current_path = os.getcwd()
|
||||
clz = load_single_subclass_from_source(
|
||||
module_name="LazyLoadChildClass",
|
||||
script_path=os.path.join(current_path, "lazy_load_class.py"),
|
||||
parent_type=ParentClass,
|
||||
use_lazy_loader=True,
|
||||
)
|
||||
instance = clz("dify")
|
||||
assert instance.get_name() == "dify"
|
||||
Reference in New Issue
Block a user