improve: exract Code Node provider for each supported scripting language (#4164)

This commit is contained in:
Bowen Liang
2024-05-17 11:58:12 +08:00
committed by GitHub
parent de3a7603ac
commit 083ef2e6fc
21 changed files with 174 additions and 97 deletions

View File

@@ -5,7 +5,7 @@ import pytest
from _pytest.monkeypatch import MonkeyPatch
from jinja2 import Template
from core.helper.code_executor.code_executor import CodeExecutor
from core.helper.code_executor.code_executor import CodeExecutor, CodeLanguage
from core.helper.code_executor.entities import CodeDependency
MOCK = os.getenv('MOCK_SWITCH', 'false') == 'true'
@@ -15,14 +15,15 @@ class MockedCodeExecutor:
def invoke(cls, language: Literal['python3', 'javascript', 'jinja2'],
code: str, inputs: dict, dependencies: Optional[list[CodeDependency]] = None) -> dict:
# invoke directly
if language == 'python3':
return {
"result": 3
}
elif language == 'jinja2':
return {
"result": Template(code).render(inputs)
}
match language:
case CodeLanguage.PYTHON3:
return {
"result": 3
}
case CodeLanguage.JINJA2:
return {
"result": Template(code).render(inputs)
}
@pytest.fixture
def setup_code_executor_mock(request, monkeypatch: MonkeyPatch):