MessageDigestHelperTest.cc 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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(A2_TEST_DIR"/4096chunk.txt"));
  23. diskio->enableReadOnly();
  24. diskio->openExistingFile();
  25. CPPUNIT_ASSERT_EQUAL(std::string("608cabc0f2fa18c260cafd974516865c772363d5"),
  26. MessageDigestHelper::hexDigest
  27. (MessageDigest::sha1(), diskio, 0, 4096));
  28. CPPUNIT_ASSERT_EQUAL(std::string("7a4a9ae537ebbbb826b1060e704490ad0f365ead"),
  29. MessageDigestHelper::hexDigest
  30. (MessageDigest::sha1(), diskio, 5, 100));
  31. }
  32. void MessageDigestHelperTest::testDigest()
  33. {
  34. std::string data = "aria2";
  35. SharedHandle<MessageDigest> sha1 = MessageDigest::sha1();
  36. sha1->update(data.data(), data.size());
  37. CPPUNIT_ASSERT_EQUAL(std::string("f36003f22b462ffa184390533c500d8989e9f681"),
  38. sha1->hexDigest());
  39. }
  40. } // namespace aria2