MessageDigestHelperTest.cc 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "MessageDigestHelper.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(testHexDigestDiskWriter);
  10. CPPUNIT_TEST(testDigest);
  11. CPPUNIT_TEST_SUITE_END();
  12. private:
  13. public:
  14. void setUp() {
  15. }
  16. void testHexDigestDiskWriter();
  17. void testDigest();
  18. };
  19. CPPUNIT_TEST_SUITE_REGISTRATION( MessageDigestHelperTest );
  20. void MessageDigestHelperTest::testHexDigestDiskWriter() {
  21. SharedHandle<DefaultDiskWriter> diskio
  22. (new DefaultDiskWriter("4096chunk.txt"));
  23. diskio->openExistingFile();
  24. CPPUNIT_ASSERT_EQUAL(std::string("608cabc0f2fa18c260cafd974516865c772363d5"),
  25. MessageDigestHelper::hexDigest
  26. (MessageDigest::sha1(), diskio, 0, 4096));
  27. CPPUNIT_ASSERT_EQUAL(std::string("7a4a9ae537ebbbb826b1060e704490ad0f365ead"),
  28. MessageDigestHelper::hexDigest
  29. (MessageDigest::sha1(), diskio, 5, 100));
  30. }
  31. void MessageDigestHelperTest::testDigest()
  32. {
  33. std::string data = "aria2";
  34. SharedHandle<MessageDigest> sha1 = MessageDigest::sha1();
  35. sha1->update(data.data(), data.size());
  36. CPPUNIT_ASSERT_EQUAL(std::string("f36003f22b462ffa184390533c500d8989e9f681"),
  37. sha1->hexDigest());
  38. }
  39. } // namespace aria2