From 01e5afbb6084096499ff03682193859e8cd49a01 Mon Sep 17 00:00:00 2001 From: ImagineHaxing Date: Wed, 5 Aug 2026 06:43:03 +0300 Subject: [PATCH] Fix tests and Add tests --- Protocol/src/include/protocol/protocol.hxx | 1 + Protocol/tests/test_protocol.cxx | 25 ++++++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Protocol/src/include/protocol/protocol.hxx b/Protocol/src/include/protocol/protocol.hxx index 07fb1ec..3df2025 100644 --- a/Protocol/src/include/protocol/protocol.hxx +++ b/Protocol/src/include/protocol/protocol.hxx @@ -19,6 +19,7 @@ struct SignedMessage { std::string plaintext); std::vector serialize(); + // bool valid(); }; } // namespace Protocol diff --git a/Protocol/tests/test_protocol.cxx b/Protocol/tests/test_protocol.cxx index 8541384..cab32d1 100644 --- a/Protocol/tests/test_protocol.cxx +++ b/Protocol/tests/test_protocol.cxx @@ -4,7 +4,7 @@ #include TEST_CASE("SignedMessage", "[protocol]") { - SECTION("sodium init") REQUIRE(sodium_init() >= 0); + REQUIRE(sodium_init() >= 0); unsigned char pub_key[crypto_sign_PUBLICKEYBYTES]; unsigned char priv_key[crypto_sign_SECRETKEYBYTES]; @@ -13,9 +13,30 @@ TEST_CASE("SignedMessage", "[protocol]") { auto msg = Protocol::SignedMessage(pub_key, priv_key, "Hello, world!"); auto to_be_signed = msg.serialize(); - SECTION("signed message") { + SECTION("valid signed message") { REQUIRE( crypto_sign_verify_detached(msg.signature, to_be_signed.data(), to_be_signed.size(), pub_key) == 0); } + + SECTION("tampered invalid signed message") { + // todo: use to msg.valid() + SECTION("plaintext") { + msg.plaintext = "Hello, world111111"; + to_be_signed = msg.serialize(); + REQUIRE_FALSE(crypto_sign_verify_detached( + msg.signature, to_be_signed.data(), + to_be_signed.size(), pub_key) == 0); + } + + SECTION("timestamp") { + msg.timestamp = std::chrono::system_clock::now() + .time_since_epoch() + .count(); + to_be_signed = msg.serialize(); + REQUIRE_FALSE(crypto_sign_verify_detached( + msg.signature, to_be_signed.data(), + to_be_signed.size(), pub_key) == 0); + } + } }