Skip to content

Commit b849730

Browse files
committed
refactor(common): 'test_setups' sub-module in 'kes' module
1 parent a57318a commit b849730

File tree

6 files changed

+61
-35
lines changed

6 files changed

+61
-35
lines changed

mithril-common/src/crypto_helper/cardano/kes/mod.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ mod error;
22
mod interface;
33
mod signer_fake;
44
mod signer_with_key;
5-
#[cfg(test)]
6-
pub(crate) mod tests_setup;
7-
5+
pub mod tests_setup;
86
mod verifier_standard;
97

108
pub use error::*;
119
pub use interface::*;
1210
pub use signer_fake::*;
1311
pub use signer_with_key::*;
12+
pub use tests_setup::*;
1413
pub use verifier_standard::*;

mithril-common/src/crypto_helper/cardano/kes/signer_fake.rs

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@ use std::sync::Mutex;
55

66
use crate::{
77
crypto_helper::{
8-
cardano::{create_kes_cryptographic_material, KesSignerStandard},
9-
KESPeriod, KesSigner, OpCert,
8+
cardano::{
9+
create_kes_cryptographic_material, KesCryptographicMaterialForTest,
10+
KesPartyIndexForTest, KesSignerStandard,
11+
},
12+
KesPeriod, KesSigner, OpCert,
1013
},
1114
StdResult,
1215
};
@@ -28,12 +31,15 @@ impl KesSignerFake {
2831

2932
/// Returns a dummy signature result that is always successful.
3033
pub fn dummy_signature() -> (Sum6KesSig, OpCert) {
31-
let (_party_id, operational_certificate_file, kes_secret_key_file) =
32-
create_kes_cryptographic_material(
33-
1,
34-
0 as KESPeriod,
35-
"fake_kes_signer_returns_signature_batches_in_expected_order",
36-
);
34+
let KesCryptographicMaterialForTest {
35+
party_id: _,
36+
operational_certificate_file,
37+
kes_secret_key_file,
38+
} = create_kes_cryptographic_material(
39+
1 as KesPartyIndexForTest,
40+
0 as KesPeriod,
41+
"fake_kes_signer_returns_signature_batches_in_expected_order",
42+
);
3743
let message = b"Test message for KES signing";
3844
let kes_signer = KesSignerStandard::new(kes_secret_key_file, operational_certificate_file);
3945
let kes_signing_period = 1;
@@ -51,7 +57,7 @@ impl KesSignerFake {
5157
}
5258

5359
impl KesSigner for KesSignerFake {
54-
fn sign(&self, _message: &[u8], _kes_period: KESPeriod) -> KesSignatureResult {
60+
fn sign(&self, _message: &[u8], _kes_period: KesPeriod) -> KesSignatureResult {
5561
let mut results = self.results.lock().unwrap();
5662

5763
results.pop_front().unwrap()
@@ -64,12 +70,15 @@ mod tests {
6470

6571
#[test]
6672
fn fake_kes_signer_returns_signature_batches_in_expected_order() {
67-
let (_party_id, operational_certificate_file, kes_secret_key_file) =
68-
create_kes_cryptographic_material(
69-
1,
70-
0 as KESPeriod,
71-
"fake_kes_signer_returns_signature_batches_in_expected_order",
72-
);
73+
let KesCryptographicMaterialForTest {
74+
party_id: _,
75+
operational_certificate_file,
76+
kes_secret_key_file,
77+
} = create_kes_cryptographic_material(
78+
1 as KesPartyIndexForTest,
79+
0 as KesPeriod,
80+
"fake_kes_signer_returns_signature_batches_in_expected_order",
81+
);
7382
let message = b"Test message for KES signing";
7483
let kes_signer = KesSignerStandard::new(kes_secret_key_file, operational_certificate_file);
7584
let kes_signing_period = 1;

mithril-common/src/crypto_helper/cardano/kes/signer_with_key.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,18 @@ mod tests {
6666
use super::*;
6767

6868
use crate::crypto_helper::cardano::{
69-
kes::tests_setup::create_kes_cryptographic_material,
70-
tests_setup::KesCryptographicMaterialForTest, KesVerifier, KesVerifierStandard,
69+
kes::tests_setup::{create_kes_cryptographic_material, KesCryptographicMaterialForTest},
70+
KesPartyIndexForTest, KesVerifier, KesVerifierStandard,
7171
};
7272

73-
type PartyIndex = u64;
74-
7573
#[test]
7674
fn create_valid_signature_for_message() {
7775
let KesCryptographicMaterialForTest {
7876
party_id: _,
7977
operational_certificate_file,
8078
kes_secret_key_file,
8179
} = create_kes_cryptographic_material(
82-
1 as PartyIndex,
80+
1 as KesPartyIndexForTest,
8381
0 as KesPeriod,
8482
"create_valid_signature_for_message",
8583
);
@@ -103,7 +101,7 @@ mod tests {
103101
operational_certificate_file,
104102
kes_secret_key_file,
105103
} = create_kes_cryptographic_material(
106-
1 as PartyIndex,
104+
1 as KesPartyIndexForTest,
107105
0 as KesPeriod,
108106
"create_invalid_signature_for_different_message",
109107
);
@@ -133,7 +131,7 @@ mod tests {
133131
operational_certificate_file,
134132
kes_secret_key_file,
135133
} = create_kes_cryptographic_material(
136-
1 as PartyIndex,
134+
1 as KesPartyIndexForTest,
137135
kes_period_start,
138136
"create_invalid_signature_for_invalid_kes_period",
139137
);

mithril-common/src/crypto_helper/cardano/kes/tests_setup.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,20 @@ use kes_summed_ed25519::traits::KesSk;
66
use crate::crypto_helper::{cardano::ColdKeyGenerator, OpCert};
77
use crate::crypto_helper::{KesPeriod, ProtocolPartyId, SerDeShelleyFileFormat, Sum6KesBytes};
88

9+
/// A type alias for the party index used in KES cryptographic material.
10+
pub type KesPartyIndexForTest = u64;
11+
912
/// A struct to hold KES cryptographic material for testing purposes.
1013
pub(crate) struct KesCryptographicMaterialForTest {
14+
#[allow(dead_code)]
1115
pub party_id: ProtocolPartyId,
1216
pub operational_certificate_file: PathBuf,
1317
pub kes_secret_key_file: PathBuf,
1418
}
1519

1620
/// Create KES cryptographic material for testing purposes.
17-
pub(crate) fn create_kes_cryptographic_material(
18-
party_idx: u64,
21+
pub fn create_kes_cryptographic_material(
22+
party_idx: KesPartyIndexForTest,
1923
kes_period: KesPeriod,
2024
test_directory: &str,
2125
) -> KesCryptographicMaterialForTest {

mithril-common/src/crypto_helper/cardano/kes/verifier_standard.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ impl KesVerifier for KesVerifierStandard {
4848
#[cfg(test)]
4949
mod tests {
5050
use crate::crypto_helper::cardano::{
51-
kes::tests_setup::create_kes_cryptographic_material,
52-
tests_setup::KesCryptographicMaterialForTest, KesSigner, KesSignerStandard,
51+
kes::tests_setup::{create_kes_cryptographic_material, KesCryptographicMaterialForTest},
52+
KesPartyIndexForTest, KesSigner, KesSignerStandard,
5353
};
5454

5555
use super::*;
@@ -60,7 +60,11 @@ mod tests {
6060
party_id: _,
6161
operational_certificate_file,
6262
kes_secret_key_file,
63-
} = create_kes_cryptographic_material(1, 0 as KesPeriod, "verify_valid_signature_succeeds");
63+
} = create_kes_cryptographic_material(
64+
1 as KesPartyIndexForTest,
65+
0 as KesPeriod,
66+
"verify_valid_signature_succeeds",
67+
);
6468
let message = b"Test message for KES signing";
6569
let kes_signer = KesSignerStandard::new(kes_secret_key_file, operational_certificate_file);
6670
let kes_signing_period = 1;
@@ -79,7 +83,11 @@ mod tests {
7983
party_id: _,
8084
operational_certificate_file,
8185
kes_secret_key_file,
82-
} = create_kes_cryptographic_material(1, 0 as KesPeriod, "verify_invalid_signature_fails");
86+
} = create_kes_cryptographic_material(
87+
1 as KesPartyIndexForTest,
88+
0 as KesPeriod,
89+
"verify_invalid_signature_fails",
90+
);
8391
let message = b"Test message for KES signing";
8492
let kes_signer = KesSignerStandard::new(kes_secret_key_file, operational_certificate_file);
8593
let kes_signing_period = 1;

mithril-common/src/crypto_helper/cardano/key_certification.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -300,9 +300,9 @@ impl KeyRegWrapper {
300300
#[cfg(test)]
301301
mod test {
302302
use super::*;
303-
use crate::crypto_helper::cardano::tests_setup::KesCryptographicMaterialForTest;
304303
use crate::crypto_helper::cardano::{
305-
tests_setup::create_kes_cryptographic_material, KesSignerStandard,
304+
kes::tests_setup::{create_kes_cryptographic_material, KesCryptographicMaterialForTest},
305+
KesPartyIndexForTest, KesSignerStandard,
306306
};
307307
use crate::crypto_helper::{OpCert, SerDeShelleyFileFormat};
308308

@@ -321,12 +321,20 @@ mod test {
321321
party_id: party_id_1,
322322
operational_certificate_file: operational_certificate_file_1,
323323
kes_secret_key_file: kes_secret_key_file_1,
324-
} = create_kes_cryptographic_material(1, 0 as KesPeriod, "test_vector_key_reg");
324+
} = create_kes_cryptographic_material(
325+
1 as KesPartyIndexForTest,
326+
0 as KesPeriod,
327+
"test_vector_key_reg",
328+
);
325329
let KesCryptographicMaterialForTest {
326330
party_id: party_id_2,
327331
operational_certificate_file: operational_certificate_file_2,
328332
kes_secret_key_file: kes_secret_key_file_2,
329-
} = create_kes_cryptographic_material(2, 0 as KesPeriod, "test_vector_key_reg");
333+
} = create_kes_cryptographic_material(
334+
2 as KesPartyIndexForTest,
335+
0 as KesPeriod,
336+
"test_vector_key_reg",
337+
);
330338

331339
let mut key_reg = KeyRegWrapper::init(&vec![(party_id_1, 10), (party_id_2, 3)]);
332340

0 commit comments

Comments
 (0)