Feat v0.6.6 final hardening (#41)
All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 6s
CI/CD / test-go-pg (push) Successful in 2m47s
CI/CD / test-sqlite (push) Successful in 3m1s
CI/CD / build-and-deploy (push) Successful in 29s

Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #41.
This commit is contained in:
2026-03-31 17:40:40 +00:00
committed by xcaliber
parent 81c28a50bf
commit 7915d84c8b
19 changed files with 625 additions and 131 deletions

View File

@@ -149,5 +149,39 @@
raw: { method: 'GET', path: '/admin/projects' },
validate: function (r) { T.assert(Array.isArray(r) || (r && Array.isArray(r.data)), 'expected array'); }
});
// ── Metrics (v0.6.4+) ──
await T.test('admin', 'metrics', 'GET /admin/metrics (raw)', {
sdk: function () { return sw.api.get('/admin/metrics'); },
raw: { method: 'GET', path: '/admin/metrics' },
validate: function (r) {
T.assert(typeof r === 'object', 'expected object');
T.assertHasKey(r, 'runtime', 'metrics');
T.assertHasKey(r, 'database', 'metrics');
}
});
// ── Cluster (v0.6.0+) ──
await T.test('admin', 'cluster', 'GET /admin/cluster (raw)', {
sdk: function () { return sw.api.get('/admin/cluster'); },
raw: { method: 'GET', path: '/admin/cluster' },
validate: function (r) {
var arr = T.unwrapList(r);
T.assert(arr.length >= 0, 'expected cluster node list');
}
});
// ── Backups (v0.6.1+) ──
await T.test('admin', 'backups', 'GET /admin/backups (raw)', {
sdk: function () { return sw.api.get('/admin/backups'); },
raw: { method: 'GET', path: '/admin/backups' },
validate: function (r) {
var arr = T.unwrapList(r);
T.assert(arr.length >= 0, 'expected backup list');
}
});
});
})();