From 6462ac9968616c95fd32bf576a60e6e60d3a3ec5 Mon Sep 17 00:00:00 2001 From: Catalin Mititiuc Date: Fri, 13 Jun 2025 13:36:36 -0700 Subject: [PATCH] Assert the socket exists in reverse proxy test --- spec/routes_spec.moon | 18 +++++++++++------- spec/unixstreamsrvr.lua | 12 ------------ spec/unixstreamsrvr.moon | 19 +++++++++++++++++++ 3 files changed, 30 insertions(+), 19 deletions(-) delete mode 100644 spec/unixstreamsrvr.lua create mode 100644 spec/unixstreamsrvr.moon diff --git a/spec/routes_spec.moon b/spec/routes_spec.moon index adafba1..14b7798 100644 --- a/spec/routes_spec.moon +++ b/spec/routes_spec.moon @@ -106,18 +106,22 @@ describe "http://miti.sh/posts", -> describe "http://git.miti.sh", -> it "reverse proxies request to gitea through a unix socket", -> Path = require "sitegen.path" - filename = "unixstreamsrvr.lua" + socket_fname = "unixstreamsrvr.moon" socket_dir = "/run/gitea" - info = debug.getinfo 1 - basepath = Path.basepath info.short_src + socket_owner = "nobody" + basepath = Path.basepath debug.getinfo(1).short_src os.execute "mkdir " .. socket_dir - p = io.popen "luajit %s"\format Path.join basepath, filename - os.execute "sleep 0" - os.execute "chown -R nobody " .. socket_dir + p = io.popen "moon %s"\format Path.join(basepath, socket_fname) + os.execute "sleep 0.1" + os.execute "chown -R " .. socket_owner .. " " .. socket_dir + result = Path.read_exec "find", socket_dir, "-type", "s", "-ls" + assert.truthy result\match "nobody%s+root.+" .. Path.join(socket_dir, "gitea.socket") request = req "http://git.miti.sh" - assert.truthy p\read"*a"\match "Host: git.miti.sh" + pout = p\read"*a" + p\close! + assert.truthy pout\match "Host: git.miti.sh" describe "http://apps.miti.sh", -> it "doesn't find it", -> diff --git a/spec/unixstreamsrvr.lua b/spec/unixstreamsrvr.lua deleted file mode 100644 index 407d17d..0000000 --- a/spec/unixstreamsrvr.lua +++ /dev/null @@ -1,12 +0,0 @@ - socket = require"socket" - socket.unix = require"socket.unix" - u = assert(socket.unix.stream()) - assert(u:bind("/run/gitea/gitea.socket")) - assert(u:listen()) - c = assert(u:accept()) - - m = assert(c:receive()) - repeat - print(m) - m = assert(c:receive()) - until m == "" diff --git a/spec/unixstreamsrvr.moon b/spec/unixstreamsrvr.moon new file mode 100644 index 0000000..517fb89 --- /dev/null +++ b/spec/unixstreamsrvr.moon @@ -0,0 +1,19 @@ +-- modified from +-- https://github.com/lunarmodules/luasocket/blob/4844a48fbf76b0400fd7b7e4d15d244484019df1/test/unixstreamsrvr.lua +socket = require "socket" +socket.unix = require "socket.unix" +u = assert socket.unix.stream! +assert u\bind "/run/gitea/gitea.socket" +assert u\listen! +assert u\settimeout 1 +c = assert u\accept! +m = assert c\receive! +-- print "RECEIVED" +-- print m +while m != "" + print m + m = assert c\receive! +-- repeat +-- print m + -- m = assert c\receive! +-- until m == ""