nixos/windmill: Add module test

This commit is contained in:
Bert Proesmans
2025-11-10 12:41:39 +00:00
committed by Bert Proesmans
parent 02fb5aea55
commit df1c0930f3
20 changed files with 426 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
# WARN; Cannot download dependency modules from internet during sandbox testing!
import os
# import wmill
def main(
no_default: str,
#db: postgresql,
name="my friend",
age=42,
obj: dict = {"even": "dicts"},
l: list = ["or", "lists!"],
file_: bytes = bytes(0),
):
print(f"Hello World and a warm welcome especially to {name}")
print("and its acolytes..", age, obj, l, len(file_))
# retrieve variables, resources, states using the wmill client
try:
secret = wmill.get_variable("f/examples/secret")
except:
secret = "No secret yet at f/examples/secret !"
print(f"The variable at `f/examples/secret`: {secret}")
try:
# Get last state of this script execution by the same trigger/user
last_state = wmill.get_state()
new_state = {"foo": 42} if last_state is None else last_state
new_state["foo"] += 1
wmill.set_state(new_state)
except:
new_state = {"foo": 43}
# fetch context variables
user = os.environ.get("WM_USERNAME")
# return value is converted to JSON
return {"splitted": name.split(), "user": user, "state": new_state}