ApiKeyService had zero coverage despite real logic (key generation, hashing, org-scoped revoke). Also filled branch gaps in AuthService (logout with unknown token) and the auth handlers (empty header values). ApiKeyEndpoints/AuthEndpoints are marked [ExcludeFromCodeCoverage]: they're minimal-API route registration that needs a live HTTP pipeline to exercise, which CLAUDE.md disallows (no WebApplicationFactory/InMemory). Their branch logic is already covered via the underlying service unit tests. Raises the namespace from 66% to 91%. Remaining gap is plain positional records with no logic (LoginRequest, PagedResult, etc.) - left untested per CLAUDE.md's guidance against coverage-only tests.
3.1 KiB
3.1 KiB