tree 514f2413457ca7a80e417845ab762d4bbdcf9bfa
parent 46b4b4fae093d90cdf35f20fd40b6635e4d9a682
author Erick Tryzelaar <etryzelaar@google.com> 1554740160 -0700
committer Erick Tryzelaar <etryzelaar@google.com> 1555694745 -0700

Add tests to for parsing TUF transitional metadata

This adds tests to verify that we can upgrade TUF with metadata
generated with a few different stages of go-tuf:

* go-tuf-transition-M0: metadata generated with the original
  go-tuf 0.9, and is compatible with go-tuf transitional and
  python-tuf 0.9.9.

* go-tuf-transition-M1: TUF-0.9 compatible metadata that
  is still compatible with go-tuf 0.9, go-tuf transitional, and
  python-tuf 0.9.9. Changes:
  * It includes the field "spec_version"
  * there are no gaps between version numbers.

* go-tuf-transition-M2: TUF-0.9 compatible metadata that
  is no longer compatible with go-tuf 0.9, but is still compatible
  with go-tuf transitional and python-tuf 0.9.9. Changes:
  * It adds "keyid_hash_algorithms" and "scheme" to keys in the
    root metadata.
  * It contains both TUF-0.9 and TUF-1.0 compatible keyids
  * It removes leading slashes from targets.

* go-tuf-transition-M3: TUF-1.0 compatible metadata that is
  compatible with go-tuf transitional, go-tuf 1.0 and python-tuf
  0.11.1. Changes:
  * Downcases the "_type" field.

* go-tuf-transition-M4: TUF-1.0 compatible metadata that is
  compatible with go-tuf 1.0 and python-tuf. Changes:
  * Removes the TUF-0.9 compatible keyid.
  * Removes "method" from "signatures".

Each test generates a series of repos to confirm that go-tuf can:

* create an initial repo, and adds a test file "0"
* revokes and regenerates the timestamp key, adds a test file "1".
* purge the timestamp key to make sure the metadata isn't signed
  by the revoked key, and add test file "2"
* revoke and regenerates the root key, and adds a test file "3"
* purge the root key, and adds a test file "4"
* adds a test file "5" to make sure the entire pipeline works.

Finally, the tests that all files are accessible through each
step in the testing.

Change-Id: I5af1c1137e99719e3833ad694e59aa4bcad854ea
