paritytech / secret-store

Parity Secret Store implementation
GNU General Public License v3.0
23 stars 11 forks source link

Key-server integration tests #22

Closed svyatonik closed 4 years ago

svyatonik commented 4 years ago

closes #21

This PR introduces integration_test_with_manual_servers_set_change_session test, which is #[ignored] by default (because it deals with network connections => better to run it only in isolated container on build machine). There's no similar test for case when auto-migration is enabled, because it only makes sense to use auto-migration feature with on-chain key server sets => it should be a part of ethereum/substrate integration tests.

The scenario is: 1) spin up network of 5 key servers; 2) generate server key#1; 3) retrieve server key#1; 4) generate server+document key#2; 5) store document key associated with server key#1; 6) retrieve document key#2; 7) retrieve shadow of document key#1; 8) generate Schnorr signature using key#1; 9) generate ECDSA signature using key#1; 10) add 6th key server; 11) run servers set change session that will add missing shares to 6th key server; 12) ensure that all key servers have required key shares; 13) run steps [6..9] on updated key servers set.