update skills

This commit is contained in:
nessar committed 2026-09-25 10:00:00 +02:00
1 parent 9fb18f57ec
commit ff86cf48b4
82 files changed
+2156 -650

No files matched your search

+58
View File
@@ -0,0 +1,58 @@
"""Isolated Bash helper checks; only dummy values, no browsers or secret stores."""
import json
import os
from pathlib import Path
import subprocess
import tempfile
template = Path(__file__).with_name("template.sh").resolve()
with tempfile.TemporaryDirectory() as directory:
env_file = Path(directory) / ".env"
environment = {**os.environ, "ENV_FILE": str(env_file)}
def run(command, value="", input="", expected=0):
result = subprocess.run(
["bash", "-c", 'source "$1"; ' + command, "check", str(template)],
env={**environment, "DUMMY_VALUE": value},
input=input, text=True, capture_output=True,
)
assert (result.returncode == 0) == (expected == 0), result.stderr
return result
for value in ("dummy#value", " spaces ", 'a"b', r"dollar$and\backslash", "replacement"):
run('write_env DUMMY_KEY "$DUMMY_VALUE"', value)
parsed = subprocess.run(
["node", "-e", "process.stdout.write(JSON.stringify(require('node:util').parseEnv(require('node:fs').readFileSync(process.argv[1], 'utf8'))))", str(env_file)],
text=True, capture_output=True, check=True,
)
assert json.loads(parsed.stdout)["DUMMY_KEY"] == value
assert run("_existing DUMMY_KEY").stdout == value
assert env_file.stat().st_mode & 0o777 == 0o600
assert env_file.read_text().count("DUMMY_KEY=") == 1
run("write_env OTHER_KEY unchanged")
run("write_env DUMMY_KEY replacement")
assert run("_existing OTHER_KEY").stdout == "unchanged"
saved = env_file.read_bytes()
for value in ("", "can't", "two\nlines", "carriage\rreturn"):
run('write_env DUMMY_KEY "$DUMMY_VALUE"', value, expected=1)
assert env_file.read_bytes() == saved
run('write_env "BAD-KEY" value', expected=1)
run('write_env HOME value', expected=1)
for helper in ("ask", "ask_secret"):
run(f'{helper} NEW_KEY prompt', expected=1)
run(f'{helper} NEW_KEY prompt', input="\n", expected=1)
run(f'{helper} DUMMY_KEY prompt; [[ "$DUMMY_KEY" == replacement ]]', input="\n")
run(f'{helper} NEW_KEY prompt; [[ "$NEW_KEY" == captured ]]', input="captured\n")
run("pause", expected=1)
run("confirm question", expected=1)
run("confirm question", input="yesterday\n", expected=1)
run("confirm question", input="yes\n")
env_file.write_text('DUMMY_KEY="unsupported"\n')
run('write_env DUMMY_KEY replacement', expected=1)
assert env_file.read_text() == 'DUMMY_KEY="unsupported"\n'
print("Wizard helper checks passed")