view spec/util_envload_spec.lua @ 12658:7ca5645f46cd

usermanager: Remove concept of global authz provider Rationale: - Removes a bunch of code! - We don't have many cases where an actor is not bound to one of our hosts - A notable exception is the admin shell, but if we ever attempt to lock those sessions down, there is a load of other work that also has to be done. And it's not clear if we would need a global authz provider for that anyway. - Removes an extra edge case from the necessary mental model for operators - Sessions that aren't bound to a host generally are anonymous or have an alternative auth model (such as by IP addres). - With the encapsulation now provided by util.roles, ad-hoc "detached roles" can still be created anyway by code that needs them.
author Matthew Wild <mwild1@gmail.com>
date Fri, 12 Aug 2022 16:21:57 +0100
parents 37f49d0ad22c
children
line wrap: on
line source

describe("util.envload", function()
	local envload = require "util.envload";
	describe("envload()", function()
		it("works", function()
			local f, err = envload.envload("return 'hello'", "@test", {});
			assert.is_function(f, err);
			local ok, ret = pcall(f);
			assert.truthy(ok);
			assert.equal("hello", ret);
		end);
		it("lets you pass values in and out", function ()
			local f, err = envload.envload("return thisglobal", "@test", { thisglobal = "yes, this one" });
			assert.is_function(f, err);
			local ok, ret = pcall(f);
			assert.truthy(ok);
			assert.equal("yes, this one", ret);

		end);

	end)
	-- TODO envloadfile()
end)