"use strict";
const test = require("node:test");
const assert = require("node:assert/strict");
const fs = require("node:fs");
const path = require("node:path");
const ini = fs.readFileSync(path.join(__dirname, "app.ini.template"), "utf8");
const unit = fs.readFileSync(path.join(__dirname, "guanghu-forgejo.service"), "utf8");
test("native Forgejo binds only to JD loopback", () => {
  assert.match(ini, /HTTP_ADDR = 127\.0\.0\.1/);
  assert.match(ini, /HTTP_PORT = 3001/);
});
test("registration and push-create are disabled", () => {
  assert.match(ini, /DISABLE_REGISTRATION = true/);
  assert.match(ini, /ENABLE_PUSH_CREATE_USER = false/);
});
test("secrets remain server-side placeholders", () => {
  assert.equal((ini.match(/PRIVATE_SERVER_VALUE/g) || []).length, 2);
  assert.doesNotMatch(ini, /[a-f0-9]{40,}/);
  assert.match(unit, /User=git/);
});
