MessageDigestHelperTest.cc 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "message_digest_helper.h"
  2. #include <cppunit/extensions/HelperMacros.h>
  3. #include "util.h"
  4. #include "DefaultDiskWriter.h"
  5. #include "MessageDigest.h"
  6. namespace aria2 {
  7. class MessageDigestHelperTest : public CppUnit::TestFixture {
  8. CPPUNIT_TEST_SUITE(MessageDigestHelperTest);
  9. CPPUNIT_TEST(testDigestDiskWriter);
  10. CPPUNIT_TEST_SUITE_END();
  11. private:
  12. public:
  13. void setUp() {}
  14. void testDigestDiskWriter();
  15. };
  16. CPPUNIT_TEST_SUITE_REGISTRATION(MessageDigestHelperTest);
  17. void MessageDigestHelperTest::testDigestDiskWriter()
  18. {
  19. auto diskio =
  20. std::make_shared<DefaultDiskWriter>(A2_TEST_DIR "/4096chunk.txt");
  21. diskio->enableReadOnly();
  22. diskio->openExistingFile();
  23. CPPUNIT_ASSERT_EQUAL(std::string("608cabc0f2fa18c260cafd974516865c772363d5"),
  24. util::toHex(message_digest::digest(
  25. MessageDigest::sha1().get(), diskio, 0, 4_k)));
  26. CPPUNIT_ASSERT_EQUAL(std::string("7a4a9ae537ebbbb826b1060e704490ad0f365ead"),
  27. util::toHex(message_digest::digest(
  28. MessageDigest::sha1().get(), diskio, 5, 100)));
  29. }
  30. } // namespace aria2