Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
52 lines
2.2 KiB
JavaScript
52 lines
2.2 KiB
JavaScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import { formatStatusReport, formatStatusSummary } from '../lib/format.mjs';
|
|
|
|
test('formatStatusSummary tolerates null status', () => {
|
|
const lines = formatStatusSummary(null);
|
|
assert.deepEqual(lines, [
|
|
'Site: unknown',
|
|
'Node IP: unknown',
|
|
'Connectivity: unknown',
|
|
'Selected release: unknown',
|
|
]);
|
|
});
|
|
|
|
test('formatStatusReport tolerates null status', () => {
|
|
const report = formatStatusReport(null);
|
|
assert.equal(report.summary[0], 'Site: unknown');
|
|
assert.equal(report.host[0], 'Status: unknown');
|
|
assert.equal(report.cluster[1], 'Status: unavailable');
|
|
assert.equal(report.release[0], 'Selected release: unknown');
|
|
});
|
|
|
|
test('formatStatusReport includes canonical rollup and tier readiness when available', () => {
|
|
const report = formatStatusReport({
|
|
siteId: 'appliance-single-node',
|
|
nodeIp: '10.0.0.2',
|
|
connectivityMode: 'kubernetes-available',
|
|
topBlocker: { layer: 'none', reason: 'No blocker detected', nextAction: 'No immediate action required.' },
|
|
host: { status: 'healthy', details: 'Talos API reachable' },
|
|
cluster: { apiReachable: true, status: 'healthy', nodeReadiness: [] },
|
|
flux: { status: 'healthy', helmStatus: 'healthy', sources: [], kustomizations: [], helmReleases: [] },
|
|
workloads: { status: 'degraded', components: [] },
|
|
release: { selectedReleaseVersion: '1.0.0', appUrl: 'https://psa.example.com', appVersion: '1.0.0', manifestDigest: 'sha256:release' },
|
|
configPaths: { configDir: '/tmp/site', kubeconfig: '/tmp/kubeconfig', talosconfig: '/tmp/talosconfig' },
|
|
canonical: {
|
|
rollup: { state: 'ready_with_background_issues', message: 'Background services need attention.' },
|
|
tiers: {
|
|
platform: { ready: true },
|
|
core: { ready: true },
|
|
bootstrap: { ready: true },
|
|
login: { ready: true },
|
|
background: { ready: false },
|
|
fullHealth: { ready: false },
|
|
},
|
|
},
|
|
});
|
|
|
|
assert.ok(report.summary.some((line) => line === 'Rollup: ready_with_background_issues'));
|
|
assert.ok(report.workloads.some((line) => line === 'Tier login: ready'));
|
|
assert.ok(report.workloads.some((line) => line === 'Tier background: not-ready'));
|
|
});
|