Software /
code /
prosody-modules
File
mod_pubsub_forgejo/test.lua @ 6203:131b8bfbefb4
mod_pubsub_forgejo: new module for forgejo webhooks
author | nicoco <nicoco@nicoco.fr> |
---|---|
date | Mon, 17 Feb 2025 23:28:05 +0100 |
line wrap: on
line source
-- CLI script to ease templates writing -- must be launched with `lua test.lua` after setting the following env vars, -- (assuming prosody has been clone in ../../prosody-0.12) -- LUA_CPATH=../../prosody-0.12/\?.so -- LUA_PATH=../../prosody-0.12/\?.lua\;\?.lua -- allow loading ".lib.lua" modules local function loadlib(modulename) local filename = modulename .. ".lib.lua" local file = io.open(filename, "rb") if file then return load(file:read("a")), modulename else return filename .. " not found" end end table.insert(package.searchers, loadlib) local json = require "util.json" local format = require "format" local templates = require "templates" local function read_json(fname) local f = io.open(fname) assert(f ~= nil, fname) local data = json.decode(f:read("a")) f:close() return data end local function read_payload(dirname) return read_json("./webhook-examples/" .. dirname .. "/content.json") end local function pprint(stanza) print(stanza:indent(1, " "):pretty_print()) end pprint(format(read_payload("push"), templates.push)) pprint(format(read_payload("pull_request"), templates.pull_request)) -- pprint(format(read_payload("push_tag"), templates.push)) -- this is a push with 0 commits. It's ugly! pprint(format(read_payload("release"), templates.release))