Require only-office's document server and carry its address and secret into nextcloud's config (issue 1830)
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
// 1830/AC2 (unit: manifest checks)
|
||||
// Given the catalogue, when nextcloud's manifest is parsed, then it requires document-server,
|
||||
// binds it and receives its secret, and its config.json template carries the document server's
|
||||
// public address, bound address and port, its own route name and the shared secret.
|
||||
// Run against the manifest and its templates directly — no build needed, they are read as data.
|
||||
|
||||
import { test } from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import { readFileSync } from "node:fs";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { dirname, join } from "node:path";
|
||||
|
||||
const moduleDir = join(dirname(fileURLToPath(import.meta.url)), "..");
|
||||
|
||||
function readJson(path: string): any {
|
||||
return JSON.parse(readFileSync(join(moduleDir, path), "utf8"));
|
||||
}
|
||||
|
||||
test("the manifest requires document-server, and binds and receives its secret", () => {
|
||||
const manifest = readJson("module.json");
|
||||
assert.ok(
|
||||
Array.isArray(manifest.requires) && manifest.requires.includes("document-server"),
|
||||
"requires names document-server",
|
||||
);
|
||||
assert.equal(manifest.binds?.["document-server"], "${dir:state}/document-server.json");
|
||||
assert.equal(manifest.secrets?.["document-server"], "${dir:state}/document-server.secret");
|
||||
});
|
||||
|
||||
test("config.json carries the document server's public address, bound address, port, route name and secret", () => {
|
||||
const config = readJson("files/config.json");
|
||||
assert.equal(config.onlyofficeUrl, "${bound:document-server:public-root}");
|
||||
assert.equal(config.onlyofficeInternalUrl, "http://${bound:document-server:at}:${bound:document-server:port}/");
|
||||
assert.equal(config.onlyofficeStorageUrl, "https://${bound:route:name}/");
|
||||
assert.equal(config.onlyofficeSecret, "${secret:document-server}");
|
||||
});
|
||||
Reference in New Issue
Block a user