Files
windmill/integration_tests/test/identity_script_test.py
T
Ruben Fiszel 19246bcf3e chore: eetest (#2937)
* chore: Windmill integration tests

* Revert github workflow temp changes

* fix ee

---------

Co-authored-by: gbouv <guillaume@windmill.dev>
2023-12-30 03:29:00 +01:00

82 lines
2.0 KiB
Python

import os
import time
import unittest
from .wmill_integration_test_utils import WindmillClient
PATH_TEMPLATE = "u/admin/{lang}_identity_script"
SCRIPTS = {
"bash": """
x="$1"
echo ${x}
""",
"bun": """
export async function main(x: number) {
return x;
}
""",
"deno": """
export async function main(x: number) {
return x;
}
""",
"go": """
package inner
func main(x int) (interface{}, error) {
return x, nil
}
""",
"python3": """
def main(x: int):
return x
""",
}
class TestIdentityScript(unittest.TestCase):
_client: WindmillClient
@classmethod
def setUpClass(cls) -> None:
print("Running {}".format(cls.__name__))
cls._client = WindmillClient()
if not os.environ.get("WMILL_RUNNING_DEV", False):
for lang, script in SCRIPTS.items():
cls._client.create_script(
path=PATH_TEMPLATE.format(lang=lang),
content=script,
language=lang,
)
@classmethod
def tearDownClass(cls) -> None:
if os.environ.get("WMILL_RUNNING_DEV", False):
for lang in SCRIPTS:
cls._client.delete_script(path=PATH_TEMPLATE.format(lang=lang))
def test_bash(self):
path = PATH_TEMPLATE.format(lang="bash")
result = self._client.run_sync(path, {"x": 5})
self.assertEqual(result, "5") # bash only knows strings
def test_bun(self):
path = PATH_TEMPLATE.format(lang="bun")
result = self._client.run_sync(path, {"x": 5})
self.assertEqual(result, 5)
def test_deno(self):
path = PATH_TEMPLATE.format(lang="deno")
result = self._client.run_sync(path, {"x": 5})
self.assertEqual(result, 5)
def test_go(self):
path = PATH_TEMPLATE.format(lang="go")
result = self._client.run_sync(path, {"x": 5})
self.assertEqual(result, 5)
def test_python(self):
path = PATH_TEMPLATE.format(lang="python3")
result = self._client.run_sync(path, {"x": 5})
self.assertEqual(result, 5)