/****************************************************************************** __ ____ __ / / ___ ____ _/ __/_____________ _/ /__ / / / _ \/ __ `/ /_/ ___/ ___/ __ `/ / _ \ / /___/ __/ /_/ / __(__ ) /__/ /_/ / / __/ /_____/\___/\__,_/_/ /____/\___/\__,_/_/\___/ (C)opyright 2026, Leafscale, LLC - https://www.leafscale.com Project: repoman Filename: tests/test_config_serialize.reef Authors: Chris Tusa License: Description: Tests: registry TOML serialization ******************************************************************************/ import config import test.framework proc main() let runner = new framework.TestRunner() let defaults: config.Defaults = config.Defaults { repos_root: "/home/u/repos", backup_root: "/nfs/repos", logdir: "/home/u/.local/state/repoman", incus_project: "repoman", default_image: "images:ubuntu/26.04/cloud", profiles: ["default", "claude-share"] } mut projects: [config.Project] = new [config.Project](1) projects[0] = config.Project { name: "isurus", repo: "isurus-project", image: "images:ubuntu/26.04/cloud", profiles: ["default"], created: "2026-04-28T15:00:00Z", last_sync: "", backup: true } let reg: config.Registry = config.Registry { schema: 1, host: config.Host { lan_ip: "" }, output: "quiet", defaults: defaults, projects: projects } let out: string = config.serialize_registry(reg) runner.assert_contains_string(out, "[repoman]", "has [repoman] header") runner.assert_contains_string(out, "schema = 1", "has schema field") runner.assert_contains_string(out, "[defaults]", "has [defaults] header") runner.assert_contains_string(out, "repos_root = \"/home/u/repos\"", "has repos_root field") runner.assert_contains_string(out, "[[project]]", "has [[project]] header") runner.assert_contains_string(out, "name = \"isurus\"", "has project.name") runner.assert_contains_string(out, "backup = true", "has backup = true") runner.assert_contains_string(out, "profiles = [\"default\", \"claude-share\"]", "defaults.profiles array") runner.report() end main