mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-06-04 10:14:47 +08:00
1b08b58fcd
- verify: remove the CLI ping; cli-agent step earlier in setup already proved the round-trip works, and the test agent gets cleaned up before verify runs — so the ping was guaranteed to fail on installs that wired a messaging app instead of staying CLI-only. Status now collapses to service-running ∧ credentials ∧ ≥1 wired group. - agent-ping: catch Claude Code's "Please run /login" / "Not logged in" / "Invalid API key" banners so a successfully-spawned agent that has no credentials no longer reports as 'ok'. - auth paste: validate the full sk-ant-oat…AA shape; when the cleaned input is under 90 chars, surface a truncation-specific hint pointing at terminal wrap as the likely cause. Strip internal whitespace at both validate and assignment so multi-line pastes that survive clack also go through cleanly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
43 lines
972 B
TypeScript
43 lines
972 B
TypeScript
import { describe, expect, it } from 'vitest';
|
|
|
|
import { determineVerifyStatus } from './verify.js';
|
|
|
|
const healthyBase = {
|
|
service: 'running' as const,
|
|
credentials: 'configured',
|
|
registeredGroups: 1,
|
|
};
|
|
|
|
describe('determineVerifyStatus', () => {
|
|
it('accepts a healthy install with at least one wired agent group', () => {
|
|
expect(determineVerifyStatus(healthyBase)).toBe('success');
|
|
});
|
|
|
|
it('fails when no agent groups are registered', () => {
|
|
expect(
|
|
determineVerifyStatus({
|
|
...healthyBase,
|
|
registeredGroups: 0,
|
|
}),
|
|
).toBe('failed');
|
|
});
|
|
|
|
it('fails when the service is not running', () => {
|
|
expect(
|
|
determineVerifyStatus({
|
|
...healthyBase,
|
|
service: 'stopped',
|
|
}),
|
|
).toBe('failed');
|
|
});
|
|
|
|
it('fails when credentials are missing', () => {
|
|
expect(
|
|
determineVerifyStatus({
|
|
...healthyBase,
|
|
credentials: 'missing',
|
|
}),
|
|
).toBe('failed');
|
|
});
|
|
});
|