Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test conformance of gov API implementation to documented OpenAPI descriptions #5691

Open
eddyashton opened this issue Sep 27, 2023 · 5 comments
Assignees

Comments

@eddyashton
Copy link
Member

Hoping to do this automatically, perhaps with a generated client or OpenAPI-based fuzzer.

2 known discrepancies noted in #5660, which should be modified in the OpenAPI (TypeSpec) source:

  • previousServiceCreation in /service/info. Decide whether this is a version, TxID, or cert
  • SNP endorsements in /service/join-policy. Feed info is a known object, not a single string
@eddyashton
Copy link
Member Author

2 further discrepancies, added in #5698:

  • /members and /member/{memberId} responses include publicEncryptionKey, if present
  • /jwk response includes a keys field, describing current JWKs and not merely their issuers

@ivarprudnikov
Copy link
Member

Hoping to do this automatically, perhaps with a generated client or OpenAPI-based fuzzer.

There was an issue related to fuzzing some time ago #1199 might be helpful to link it here

@eddyashton
Copy link
Member Author

  • Acks.StateDigest response currently returns stateDigest and memberId, but spec says single field called digest

@achamayou
Copy link
Member

previousServiceCreation in /service/info. Decide whether this is a version, TxID, or cert

This is exposing previous_service_identity_version, which is set during the transition to open the service.

The last term of the previous service and the cert will both require a historical query, which will have much more of an API impact that we want to have for this iteration, so it's going to be the version.

@eddyashton
Copy link
Member Author

#6118 proposes adding 2 new endpoints, which should be added to the TypeSpec/OpenAPI:

  • GET /gov/service/users - Returns list of users
  • GET /gov/service/users/{userId} - Returns single users

Where the user schema is an object containing {userId = str, certificate = PEM str, userData = null | JSON}.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants