Skip to content

auth/oauth and internal/keymanager sit under the coverage gate, hidden by the aggregate #218

Description

@Jaro-c

The go-ci gate is 90 and the aggregate passes, but it is carrying two packages that do not. Measured on develop at v1.11.4, go1.26.4, go test -coverprofile:

Package Coverage
internal/clock 100.0%
authcore (root) 98.1%
auth/username 97.5%
auth/password 95.8%
auth/apikey 94.6%
auth/jwt 94.4%
auth/email 90.9%
auth/oauth 87.7%
internal/keymanager 85.7%
total 91.0%

The two under the bar are the two I would least like to be thin: the OIDC client, which parses JWKS, validates ID tokens and talks to remote endpoints, and the package that generates and persists the Ed25519 keys. A 100% internal/clock is what is paying for them.

Worth deciding as part of this: whether the gate should be per-package rather than aggregate. An aggregate gate on a library whose packages differ this much in risk rewards covering the easy ones.

I am not proposing a coverage-chasing sweep. The useful version of this is to look at what is actually uncovered in those two packages — my expectation is that it is mostly error paths, which for a security library is the half that matters.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions