Skip to content

Commit e4399f8

Browse files
committed
test: add test for sign_message, 6248#
1 parent a3b985d commit e4399f8

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

testnet/stacks-node/src/operations.rs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,4 +96,45 @@ mod tests {
9696
let mut op_signer = BurnchainOpSigner::new(secp_k, false);
9797
assert_eq!(expected_hex, op_signer.get_public_key().to_hex());
9898
}
99+
100+
#[test]
101+
fn test_sign_message_ok() {
102+
let priv_key_hex = "0c28fca386c7a227600b2fe50b7cae11ec86d3bf1fbe471be89827e19d72aa1d";
103+
let message = &[0u8; 32];
104+
let expected_msg_sig = "00b911e6cf9c49b738c4a0f5e33c003fa5b74a00ddc68e574e9f1c3504f6ba7e84275fd62773978cc8165f345cc3f691cf68be274213d552e79af39998df61273f";
105+
106+
let secp_k = Secp256k1PrivateKey::from_hex(priv_key_hex).unwrap();
107+
let mut op_signer = BurnchainOpSigner::new(secp_k, false);
108+
109+
let msg_sig = op_signer.sign_message(message)
110+
.expect("Message should be signed!");
111+
112+
assert_eq!(expected_msg_sig, msg_sig.to_hex());
113+
}
114+
115+
#[test]
116+
fn test_sign_message_fails_due_to_hash_length() {
117+
let priv_key_hex = "0c28fca386c7a227600b2fe50b7cae11ec86d3bf1fbe471be89827e19d72aa1d";
118+
let message = &[0u8; 20];
119+
120+
let secp_k = Secp256k1PrivateKey::from_hex(priv_key_hex).unwrap();
121+
let mut op_signer = BurnchainOpSigner::new(secp_k, false);
122+
123+
let result = op_signer.sign_message(message);
124+
assert!(result.is_none());
125+
}
126+
127+
#[test]
128+
fn test_sign_message_fails_due_to_disposal() {
129+
let priv_key_hex = "0c28fca386c7a227600b2fe50b7cae11ec86d3bf1fbe471be89827e19d72aa1d";
130+
let message = &[0u8; 32];
131+
132+
let secp_k = Secp256k1PrivateKey::from_hex(priv_key_hex).unwrap();
133+
let mut op_signer = BurnchainOpSigner::new(secp_k, false);
134+
135+
op_signer.dispose();
136+
137+
let result = op_signer.sign_message(message);
138+
assert!(result.is_none());
139+
}
99140
}

0 commit comments

Comments
 (0)