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

ngclient: Test against other implementations #1756

Open
jku opened this issue Jan 5, 2022 · 2 comments
Open

ngclient: Test against other implementations #1756

jku opened this issue Jan 5, 2022 · 2 comments

Comments

@jku
Copy link
Member

jku commented Jan 5, 2022

It would be good to have some client testing against repositories produced with other tuf implementations.

I think there are two options in general (could choose one or both):

  • copy a snapshot of a public production repository, store contents in python-tuf git with the tests
  • test against a public production repository

The former would be an additional regression test -- get it working once and then it might prevent code regressions in future. Latter would be more interesting in that the metadata may change over time (as the metadata just has different variations but also as the other implementation changes), but ultimately it is an unreliable test for multiple reasons so couldn't be a blocking test in CI. I'm not sure yet which makes most sense.

Some possible repos to test against (I have not spoken to the maintainers of any of these repositories about this):

As for what to test, a client refresh from initial root.json certainly makes sense. But if we test against a live repo we could also:

  • test target download
  • test incremental refresh (as in, local metadata is cached and used during next test)
@jku
Copy link
Member Author

jku commented Jan 7, 2022

copy a snapshot of a public production repository, store contents in python-tuf git with the tests

I forgot to mention: testing like this would require mocking the current time to roughly the time the snapshot was made. Otherwise the metadata will start expiring sooner or later.

@jku
Copy link
Member Author

jku commented Feb 11, 2022

Current state based on manually running python-tuf ngclient against some repositories:

both might have more issues, this is just what they fail on now.

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

1 participant