summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-11-11 02:56:24 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-11-11 02:56:24 +0000
commit89f997ec0d93345fa3134d1c906bf16246a51fc1 (patch)
treed9a190441b4edd3ced4ff69989fe8d95d99d89a6 /test
parent513e8a7917a48e891ef1c4e2b005b862b3a06ac7 (diff)
2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced MessageDigestContext with MessageDigest. Cleaned up unnecessary functions in MessageDigestHelper. * src/BtPieceMessage.cc * src/Checksum.h * src/DHTTokenTracker.cc * src/DownloadCommand.cc * src/DownloadCommand.h * src/HashFuncEntry.h * src/IteratableChecksumValidator.cc * src/IteratableChecksumValidator.h * src/IteratableChunkChecksumValidator.cc * src/IteratableChunkChecksumValidator.h * src/LibgcryptMessageDigestImpl.cc * src/LibgcryptMessageDigestImpl.h * src/LibsslMessageDigestImpl.cc * src/LibsslMessageDigestImpl.h * src/MSEHandshake.cc * src/MSEHandshake.h * src/Makefile.am * src/MessageDigest.cc * src/MessageDigest.h * src/MessageDigestHelper.cc * src/MessageDigestHelper.h * src/MessageDigestImpl.h * src/MetalinkParserController.cc * src/Piece.cc * src/Piece.h * src/UTMetadataDataExtensionMessage.cc * src/bittorrent_helper.cc * src/messageDigest.cc: Removed * src/messageDigest.h: Removed * src/util.cc * src/version_usage.cc * test/BittorrentHelperTest.cc * test/GZipDecoderTest.cc * test/GZipDecodingStreamFilterTest.cc * test/IteratableChecksumValidatorTest.cc * test/IteratableChunkChecksumValidatorTest.cc * test/Makefile.am * test/MessageDigestHelperTest.cc * test/MessageDigestTest.cc * test/Metalink2RequestGroupTest.cc * test/MetalinkProcessorTest.cc * test/PieceTest.cc * test/TestUtil.cc * test/TestUtil.h * test/UTMetadataDataExtensionMessageTest.cc * test/UTMetadataPostDownloadHandlerTest.cc
Diffstat (limited to 'test')
-rw-r--r--test/BittorrentHelperTest.cc3
-rw-r--r--test/GZipDecoderTest.cc14
-rw-r--r--test/GZipDecodingStreamFilterTest.cc7
-rw-r--r--test/IteratableChecksumValidatorTest.cc5
-rw-r--r--test/IteratableChunkChecksumValidatorTest.cc5
-rw-r--r--test/Makefile.am3
-rw-r--r--test/Makefile.in29
-rw-r--r--test/MessageDigestHelperTest.cc36
-rw-r--r--test/MessageDigestTest.cc84
-rw-r--r--test/Metalink2RequestGroupTest.cc11
-rw-r--r--test/MetalinkProcessorTest.cc32
-rw-r--r--test/PieceTest.cc7
-rw-r--r--test/TestUtil.cc14
-rw-r--r--test/TestUtil.h9
-rw-r--r--test/UTMetadataDataExtensionMessageTest.cc3
-rw-r--r--test/UTMetadataPostDownloadHandlerTest.cc4
16 files changed, 182 insertions, 84 deletions
diff --git a/test/BittorrentHelperTest.cc b/test/BittorrentHelperTest.cc
index af1c703d..7b8ebb56 100644
--- a/test/BittorrentHelperTest.cc
+++ b/test/BittorrentHelperTest.cc
@@ -12,7 +12,6 @@
#include "FixedNumberRandomizer.h"
#include "FileEntry.h"
#include "array_fun.h"
-#include "messageDigest.h"
#include "a2netcompat.h"
#include "bencode2.h"
#include "TestUtil.h"
@@ -153,7 +152,7 @@ void BittorrentHelperTest::testGetPieceHash() {
CPPUNIT_ASSERT_EQUAL(std::string(""),
dctx->getPieceHash(3));
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1, dctx->getPieceHashAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), dctx->getPieceHashAlgo());
}
void BittorrentHelperTest::testGetFileEntries() {
diff --git a/test/GZipDecoderTest.cc b/test/GZipDecoderTest.cc
index d0fc95fb..98a10342 100644
--- a/test/GZipDecoderTest.cc
+++ b/test/GZipDecoderTest.cc
@@ -1,12 +1,17 @@
#include "GZipDecoder.h"
+
+#include <iostream>
+#include <fstream>
+
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "TestUtil.h"
#include "Exception.h"
#include "util.h"
#ifdef ENABLE_MESSAGE_DIGEST
+# include "MessageDigest.h"
# include "MessageDigestHelper.h"
#endif // ENABLE_MESSAGE_DIGEST
-#include <iostream>
-#include <fstream>
-#include <cppunit/extensions/HelperMacros.h>
namespace aria2 {
@@ -51,8 +56,7 @@ void GZipDecoderTest::testDecode()
#ifdef ENABLE_MESSAGE_DIGEST
CPPUNIT_ASSERT_EQUAL(std::string("8b577b33c0411b2be9d4fa74c7402d54a8d21f96"),
- MessageDigestHelper::digest(MessageDigestContext::SHA1,
- outfile));
+ fileHexDigest(MessageDigest::sha1(), outfile));
#endif // ENABLE_MESSAGE_DIGEST
}
diff --git a/test/GZipDecodingStreamFilterTest.cc b/test/GZipDecodingStreamFilterTest.cc
index 250f410e..57f46da3 100644
--- a/test/GZipDecodingStreamFilterTest.cc
+++ b/test/GZipDecodingStreamFilterTest.cc
@@ -13,6 +13,7 @@
#include "SinkStreamFilter.h"
#include "MockSegment.h"
#ifdef ENABLE_MESSAGE_DIGEST
+# include "MessageDigest.h"
# include "MessageDigestHelper.h"
#endif // ENABLE_MESSAGE_DIGEST
@@ -72,9 +73,11 @@ void GZipDecodingStreamFilterTest::testTransform()
}
CPPUNIT_ASSERT(filter_->finished());
#ifdef ENABLE_MESSAGE_DIGEST
+ std::string data = writer_->getString();
+ SharedHandle<MessageDigest> sha1(MessageDigest::sha1());
+ sha1->update(data.data(), data.size());
CPPUNIT_ASSERT_EQUAL(std::string("8b577b33c0411b2be9d4fa74c7402d54a8d21f96"),
- MessageDigestHelper::digestString
- (MessageDigestContext::SHA1, writer_->getString()));
+ sha1->hexDigest());
#endif // ENABLE_MESSAGE_DIGEST
}
diff --git a/test/IteratableChecksumValidatorTest.cc b/test/IteratableChecksumValidatorTest.cc
index 57ee51e9..ea235c68 100644
--- a/test/IteratableChecksumValidatorTest.cc
+++ b/test/IteratableChecksumValidatorTest.cc
@@ -8,7 +8,6 @@
#include "DiskAdaptor.h"
#include "FileEntry.h"
#include "PieceSelector.h"
-#include "messageDigest.h"
namespace aria2 {
@@ -36,7 +35,7 @@ void IteratableChecksumValidatorTest::testValidate() {
SharedHandle<DownloadContext> dctx
(new DownloadContext(100, 250, "chunkChecksumTestFile250.txt"));
dctx->setChecksum("898a81b8e0181280ae2ee1b81e269196d91e869a");
- dctx->setChecksumHashAlgo(MessageDigestContext::SHA1);
+ dctx->setChecksumHashAlgo("sha-1");
SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &option));
ps->initStorage();
ps->getDiskAdaptor()->openFile();
@@ -55,7 +54,7 @@ void IteratableChecksumValidatorTest::testValidate_fail() {
SharedHandle<DownloadContext> dctx
(new DownloadContext(100, 250, "chunkChecksumTestFile250.txt"));
dctx->setChecksum(std::string(40, '0')); // set wrong checksum
- dctx->setChecksumHashAlgo(MessageDigestContext::SHA1);
+ dctx->setChecksumHashAlgo("sha-1");
SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &option));
ps->initStorage();
ps->getDiskAdaptor()->openFile();
diff --git a/test/IteratableChunkChecksumValidatorTest.cc b/test/IteratableChunkChecksumValidatorTest.cc
index 9fa2543d..3b91dd35 100644
--- a/test/IteratableChunkChecksumValidatorTest.cc
+++ b/test/IteratableChunkChecksumValidatorTest.cc
@@ -8,7 +8,6 @@
#include "DiskAdaptor.h"
#include "FileEntry.h"
#include "PieceSelector.h"
-#include "messageDigest.h"
namespace aria2 {
@@ -41,7 +40,7 @@ void IteratableChunkChecksumValidatorTest::testValidate() {
SharedHandle<DownloadContext> dctx
(new DownloadContext(100, 250, "chunkChecksumTestFile250.txt"));
dctx->setPieceHashes(&csArray[0], &csArray[3]);
- dctx->setPieceHashAlgo(MessageDigestContext::SHA1);
+ dctx->setPieceHashAlgo("sha-1");
SharedHandle<DefaultPieceStorage> ps
(new DefaultPieceStorage(dctx, &option));
ps->initStorage();
@@ -81,7 +80,7 @@ void IteratableChunkChecksumValidatorTest::testValidate_readError() {
hashes.push_back("ffffffffffffffffffffffffffffffffffffffff");
hashes.push_back("ffffffffffffffffffffffffffffffffffffffff");
dctx->setPieceHashes(hashes.begin(), hashes.end());
- dctx->setPieceHashAlgo(MessageDigestContext::SHA1);
+ dctx->setPieceHashAlgo("sha-1");
SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &option));
ps->initStorage();
ps->getDiskAdaptor()->openFile();
diff --git a/test/Makefile.am b/test/Makefile.am
index a5548914..e29602e9 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -100,7 +100,8 @@ endif # HAVE_SQLITE3
if ENABLE_MESSAGE_DIGEST
aria2c_SOURCES += MessageDigestHelperTest.cc\
IteratableChunkChecksumValidatorTest.cc\
- IteratableChecksumValidatorTest.cc
+ IteratableChecksumValidatorTest.cc\
+ MessageDigestTest.cc
endif # ENABLE_MESSAGE_DIGEST
if ENABLE_BITTORRENT
diff --git a/test/Makefile.in b/test/Makefile.in
index b25b8310..2907ac30 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -48,7 +48,8 @@ check_PROGRAMS = $(am__EXEEXT_1)
@HAVE_SQLITE3_TRUE@am__append_4 = Sqlite3CookieParserTest.cc
@ENABLE_MESSAGE_DIGEST_TRUE@am__append_5 = MessageDigestHelperTest.cc\
@ENABLE_MESSAGE_DIGEST_TRUE@ IteratableChunkChecksumValidatorTest.cc\
-@ENABLE_MESSAGE_DIGEST_TRUE@ IteratableChecksumValidatorTest.cc
+@ENABLE_MESSAGE_DIGEST_TRUE@ IteratableChecksumValidatorTest.cc\
+@ENABLE_MESSAGE_DIGEST_TRUE@ MessageDigestTest.cc
@ENABLE_BITTORRENT_TRUE@am__append_6 = BtAllowedFastMessageTest.cc\
@ENABLE_BITTORRENT_TRUE@ BtBitfieldMessageTest.cc\
@@ -222,17 +223,17 @@ am__aria2c_SOURCES_DIST = AllTest.cc TestUtil.cc TestUtil.h \
GZipEncoderTest.cc GZipDecodingStreamFilterTest.cc \
Sqlite3CookieParserTest.cc MessageDigestHelperTest.cc \
IteratableChunkChecksumValidatorTest.cc \
- IteratableChecksumValidatorTest.cc BtAllowedFastMessageTest.cc \
- BtBitfieldMessageTest.cc BtCancelMessageTest.cc \
- BtChokeMessageTest.cc BtHandshakeMessageTest.cc \
- BtHaveAllMessageTest.cc BtHaveMessageTest.cc \
- BtHaveNoneMessageTest.cc BtInterestedMessageTest.cc \
- BtKeepAliveMessageTest.cc BtNotInterestedMessageTest.cc \
- BtPieceMessageTest.cc BtPortMessageTest.cc \
- BtRejectMessageTest.cc BtRequestMessageTest.cc \
- BtSuggestPieceMessageTest.cc BtUnchokeMessageTest.cc \
- DefaultPieceStorageTest.cc DefaultBtAnnounceTest.cc \
- DefaultBtMessageDispatcherTest.cc \
+ IteratableChecksumValidatorTest.cc MessageDigestTest.cc \
+ BtAllowedFastMessageTest.cc BtBitfieldMessageTest.cc \
+ BtCancelMessageTest.cc BtChokeMessageTest.cc \
+ BtHandshakeMessageTest.cc BtHaveAllMessageTest.cc \
+ BtHaveMessageTest.cc BtHaveNoneMessageTest.cc \
+ BtInterestedMessageTest.cc BtKeepAliveMessageTest.cc \
+ BtNotInterestedMessageTest.cc BtPieceMessageTest.cc \
+ BtPortMessageTest.cc BtRejectMessageTest.cc \
+ BtRequestMessageTest.cc BtSuggestPieceMessageTest.cc \
+ BtUnchokeMessageTest.cc DefaultPieceStorageTest.cc \
+ DefaultBtAnnounceTest.cc DefaultBtMessageDispatcherTest.cc \
DefaultBtRequestFactoryTest.cc MockBtMessage.h \
MockBtMessageDispatcher.h MockBtMessageFactory.h \
AnnounceListTest.cc DefaultPeerStorageTest.cc \
@@ -287,7 +288,8 @@ am__aria2c_SOURCES_DIST = AllTest.cc TestUtil.cc TestUtil.h \
@ENABLE_MESSAGE_DIGEST_TRUE@am__objects_5 = \
@ENABLE_MESSAGE_DIGEST_TRUE@ MessageDigestHelperTest.$(OBJEXT) \
@ENABLE_MESSAGE_DIGEST_TRUE@ IteratableChunkChecksumValidatorTest.$(OBJEXT) \
-@ENABLE_MESSAGE_DIGEST_TRUE@ IteratableChecksumValidatorTest.$(OBJEXT)
+@ENABLE_MESSAGE_DIGEST_TRUE@ IteratableChecksumValidatorTest.$(OBJEXT) \
+@ENABLE_MESSAGE_DIGEST_TRUE@ MessageDigestTest.$(OBJEXT)
@ENABLE_BITTORRENT_TRUE@am__objects_6 = \
@ENABLE_BITTORRENT_TRUE@ BtAllowedFastMessageTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtBitfieldMessageTest.$(OBJEXT) \
@@ -850,6 +852,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MSEHandshakeTest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MagnetTest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MessageDigestHelperTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MessageDigestTest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Metalink2RequestGroupTest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkEntryTest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkHelperTest.Po@am__quote@
diff --git a/test/MessageDigestHelperTest.cc b/test/MessageDigestHelperTest.cc
index faa7abd1..8bc781e0 100644
--- a/test/MessageDigestHelperTest.cc
+++ b/test/MessageDigestHelperTest.cc
@@ -4,16 +4,15 @@
#include "util.h"
#include "DefaultDiskWriter.h"
-#include "messageDigest.h"
+#include "MessageDigest.h"
namespace aria2 {
class MessageDigestHelperTest:public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(MessageDigestHelperTest);
- CPPUNIT_TEST(testDigestDiskWriter);
- CPPUNIT_TEST(testDigestFilename);
- CPPUNIT_TEST(testDigestData);
+ CPPUNIT_TEST(testHexDigestDiskWriter);
+ CPPUNIT_TEST(testDigest);
CPPUNIT_TEST_SUITE_END();
private:
@@ -21,40 +20,33 @@ public:
void setUp() {
}
- void testDigestDiskWriter();
- void testDigestFilename();
- void testDigestData();
+ void testHexDigestDiskWriter();
+ void testDigest();
};
CPPUNIT_TEST_SUITE_REGISTRATION( MessageDigestHelperTest );
-void MessageDigestHelperTest::testDigestDiskWriter() {
+void MessageDigestHelperTest::testHexDigestDiskWriter() {
SharedHandle<DefaultDiskWriter> diskio
(new DefaultDiskWriter("4096chunk.txt"));
diskio->openExistingFile();
CPPUNIT_ASSERT_EQUAL(std::string("608cabc0f2fa18c260cafd974516865c772363d5"),
- MessageDigestHelper::digest
- (MessageDigestContext::SHA1, diskio, 0, 4096));
+ MessageDigestHelper::hexDigest
+ (MessageDigest::sha1(), diskio, 0, 4096));
CPPUNIT_ASSERT_EQUAL(std::string("7a4a9ae537ebbbb826b1060e704490ad0f365ead"),
- MessageDigestHelper::digest
- (MessageDigestContext::SHA1, diskio, 5, 100));
+ MessageDigestHelper::hexDigest
+ (MessageDigest::sha1(), diskio, 5, 100));
}
-void MessageDigestHelperTest::testDigestFilename()
-{
- CPPUNIT_ASSERT_EQUAL(std::string("608cabc0f2fa18c260cafd974516865c772363d5"),
- MessageDigestHelper::digest
- (MessageDigestContext::SHA1, "4096chunk.txt"));
-}
-
-void MessageDigestHelperTest::testDigestData()
+void MessageDigestHelperTest::testDigest()
{
std::string data = "aria2";
+ SharedHandle<MessageDigest> sha1 = MessageDigest::sha1();
+ sha1->update(data.data(), data.size());
CPPUNIT_ASSERT_EQUAL(std::string("f36003f22b462ffa184390533c500d8989e9f681"),
- MessageDigestHelper::digest
- (MessageDigestContext::SHA1, data.c_str(), data.size()));
+ sha1->hexDigest());
}
} // namespace aria2
diff --git a/test/MessageDigestTest.cc b/test/MessageDigestTest.cc
new file mode 100644
index 00000000..627597da
--- /dev/null
+++ b/test/MessageDigestTest.cc
@@ -0,0 +1,84 @@
+#include "MessageDigest.h"
+
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "util.h"
+
+namespace aria2 {
+
+class MessageDigestTest:public CppUnit::TestFixture {
+
+ CPPUNIT_TEST_SUITE(MessageDigestTest);
+ CPPUNIT_TEST(testHexDigest);
+ CPPUNIT_TEST(testSupports);
+ CPPUNIT_TEST(testGetDigestLength);
+ CPPUNIT_TEST(testIsStronger);
+ CPPUNIT_TEST(testIsValidHash);
+ CPPUNIT_TEST(testGetCanonicalHashType);
+ CPPUNIT_TEST_SUITE_END();
+
+ SharedHandle<MessageDigest> sha1_;
+public:
+ void setUp()
+ {
+ sha1_ = MessageDigest::sha1();
+ }
+
+ void testHexDigest();
+ void testSupports();
+ void testGetDigestLength();
+ void testIsStronger();
+ void testIsValidHash();
+ void testGetCanonicalHashType();
+};
+
+
+CPPUNIT_TEST_SUITE_REGISTRATION( MessageDigestTest );
+
+void MessageDigestTest::testHexDigest()
+{
+ sha1_->update("aria2", 5);
+ CPPUNIT_ASSERT_EQUAL(std::string("f36003f22b462ffa184390533c500d8989e9f681"),
+ sha1_->hexDigest());
+}
+
+void MessageDigestTest::testSupports()
+{
+ CPPUNIT_ASSERT(MessageDigest::supports("sha-1"));
+ // Fails because sha1 is not valid name.
+ CPPUNIT_ASSERT(!MessageDigest::supports("sha1"));
+}
+
+void MessageDigestTest::testGetDigestLength()
+{
+ CPPUNIT_ASSERT_EQUAL((size_t)20, MessageDigest::getDigestLength("sha-1"));
+ CPPUNIT_ASSERT_EQUAL((size_t)20, sha1_->getDigestLength());
+}
+
+void MessageDigestTest::testIsStronger()
+{
+ CPPUNIT_ASSERT(MessageDigest::isStronger("sha-1", "md5"));
+ CPPUNIT_ASSERT(!MessageDigest::isStronger("md5", "sha-1"));
+ CPPUNIT_ASSERT(!MessageDigest::isStronger("unknown", "sha-1"));
+ CPPUNIT_ASSERT(!MessageDigest::isStronger("sha-1", "unknown"));
+}
+
+void MessageDigestTest::testIsValidHash()
+{
+ CPPUNIT_ASSERT(MessageDigest::isValidHash
+ ("sha-1", "f36003f22b462ffa184390533c500d8989e9f681"));
+ CPPUNIT_ASSERT(!MessageDigest::isValidHash
+ ("sha-1", "f36003f22b462ffa184390533c500d89"));
+}
+
+void MessageDigestTest::testGetCanonicalHashType()
+{
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"),
+ MessageDigest::getCanonicalHashType("sha1"));
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-256"),
+ MessageDigest::getCanonicalHashType("sha256"));
+ CPPUNIT_ASSERT_EQUAL(std::string("unknown"),
+ MessageDigest::getCanonicalHashType("unknown"));
+}
+
+} // namespace aria2
diff --git a/test/Metalink2RequestGroupTest.cc b/test/Metalink2RequestGroupTest.cc
index 920a15be..ea70d7c7 100644
--- a/test/Metalink2RequestGroupTest.cc
+++ b/test/Metalink2RequestGroupTest.cc
@@ -9,9 +9,6 @@
#include "Option.h"
#include "RequestGroup.h"
#include "FileEntry.h"
-#ifdef ENABLE_MESSAGE_DIGEST
-# include "messageDigest.h"
-#endif // ENABLE_MESSAGE_DIGEST
namespace aria2 {
@@ -63,8 +60,7 @@ void Metalink2RequestGroupTest::testGenerate()
CPPUNIT_ASSERT_EQUAL((uint64_t)0ULL, dctx->getTotalLength());
CPPUNIT_ASSERT_EQUAL(std::string("/tmp"), dctx->getDir());
#ifdef ENABLE_MESSAGE_DIGEST
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1,
- dctx->getChecksumHashAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), dctx->getChecksumHashAlgo());
CPPUNIT_ASSERT_EQUAL
(std::string("a96cf3f0266b91d87d5124cf94326422800b627d"),
dctx->getChecksum());
@@ -84,11 +80,10 @@ void Metalink2RequestGroupTest::testGenerate()
CPPUNIT_ASSERT(!dctx.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("/tmp"), dctx->getDir());
#ifdef ENABLE_MESSAGE_DIGEST
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1, dctx->getPieceHashAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), dctx->getPieceHashAlgo());
CPPUNIT_ASSERT_EQUAL((size_t)2, dctx->getPieceHashes().size());
CPPUNIT_ASSERT_EQUAL((size_t)262144, dctx->getPieceLength());
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1,
- dctx->getChecksumHashAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), dctx->getChecksumHashAlgo());
CPPUNIT_ASSERT_EQUAL
(std::string("4c255b0ed130f5ea880f0aa061c3da0487e251cc"),
dctx->getChecksum());
diff --git a/test/MetalinkProcessorTest.cc b/test/MetalinkProcessorTest.cc
index 1da48b47..ae3fa496 100644
--- a/test/MetalinkProcessorTest.cc
+++ b/test/MetalinkProcessorTest.cc
@@ -13,7 +13,7 @@
#include "MetalinkResource.h"
#include "MetalinkMetaurl.h"
#ifdef ENABLE_MESSAGE_DIGEST
-# include "messageDigest.h"
+# include "MessageDigest.h"
# include "ChunkChecksum.h"
# include "Checksum.h"
#endif // ENABLE_MESSAGE_DIGEST
@@ -95,11 +95,10 @@ void MetalinkProcessorTest::testParseFileV4()
CPPUNIT_ASSERT_EQUAL(std::string("0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33"),
e->checksum->getMessageDigest());
CPPUNIT_ASSERT(!e->checksum.isNull());
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1, e->checksum->getAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), e->checksum->getAlgo());
CPPUNIT_ASSERT(!e->chunkChecksum.isNull());
- if(MessageDigestContext::supports(MessageDigestContext::SHA256)) {
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA256,
- e->chunkChecksum->getAlgo());
+ if(MessageDigest::supports("sha-256")) {
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-256"), e->chunkChecksum->getAlgo());
CPPUNIT_ASSERT_EQUAL((size_t)262144, e->chunkChecksum->getChecksumLength());
CPPUNIT_ASSERT_EQUAL((size_t)3, e->chunkChecksum->countChecksum());
CPPUNIT_ASSERT_EQUAL(std::string("0245178074fd042e19b7c3885b360fc21064b30e73f5626c7e3b005d048069c5"),
@@ -109,8 +108,7 @@ void MetalinkProcessorTest::testParseFileV4()
CPPUNIT_ASSERT_EQUAL(std::string("37290d74ac4d186e3a8e5785d259d2ec04fac91ae28092e7620ec8bc99e830aa"),
e->chunkChecksum->getChecksum(2));
} else {
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1,
- e->chunkChecksum->getAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), e->chunkChecksum->getAlgo());
CPPUNIT_ASSERT_EQUAL((size_t)262144, e->chunkChecksum->getChecksumLength());
CPPUNIT_ASSERT_EQUAL((size_t)3, e->chunkChecksum->countChecksum());
CPPUNIT_ASSERT_EQUAL
@@ -511,8 +509,7 @@ void MetalinkProcessorTest::testParseFile()
#ifdef ENABLE_MESSAGE_DIGEST
CPPUNIT_ASSERT_EQUAL(std::string("a96cf3f0266b91d87d5124cf94326422800b627d"),
entry1->checksum->getMessageDigest());
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1,
- entry1->checksum->getAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), entry1->checksum->getAlgo());
#endif // ENABLE_MESSAGE_DIGEST
CPPUNIT_ASSERT(!entry1->getSignature().isNull());
CPPUNIT_ASSERT_EQUAL(std::string("pgp"), entry1->getSignature()->getType());
@@ -567,8 +564,7 @@ void MetalinkProcessorTest::testParseFile()
entry2->chunkChecksum->getChecksum(0));
CPPUNIT_ASSERT_EQUAL(std::string("fecf8bc9a1647505fe16746f94e97a477597dbf3"),
entry2->chunkChecksum->getChecksum(1));
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1,
- entry2->checksum->getAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), entry2->checksum->getAlgo());
#endif // ENABLE_MESSAGE_DIGEST
// See that signature is null
CPPUNIT_ASSERT(entry2->getSignature().isNull());
@@ -589,12 +585,10 @@ void MetalinkProcessorTest::testParseFile()
SharedHandle<MetalinkEntry> entry4 = *entryItr;
CPPUNIT_ASSERT_EQUAL(std::string("UnsupportedVerificationHashTypeIncluded"), entry4->getPath());
#ifdef ENABLE_MESSAGE_DIGEST
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1,
- entry4->checksum->getAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), entry4->checksum->getAlgo());
CPPUNIT_ASSERT_EQUAL(std::string("4c255b0ed130f5ea880f0aa061c3da0487e251cc"),
entry4->checksum->getMessageDigest());
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1,
- entry4->chunkChecksum->getAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"),entry4->chunkChecksum->getAlgo());
#endif // ENABLE_MESSAGE_DIGEST
@@ -903,7 +897,7 @@ void MetalinkProcessorTest::testMultiplePieces()
SharedHandle<MetalinkEntry> e = m->getEntries()[0];
SharedHandle<ChunkChecksum> c = e->chunkChecksum;
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1, c->getAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getAlgo());
CPPUNIT_ASSERT_EQUAL((size_t)1024, c->getChecksumLength());
} catch(Exception& e) {
CPPUNIT_FAIL(e.stackTrace());
@@ -938,7 +932,7 @@ void MetalinkProcessorTest::testBadPieceNo()
CPPUNIT_ASSERT(!c.isNull());
CPPUNIT_ASSERT_EQUAL((size_t)1024, c->getChecksumLength());
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1, c->getAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getAlgo());
} catch(Exception& e) {
CPPUNIT_FAIL(e.stackTrace());
}
@@ -971,7 +965,7 @@ void MetalinkProcessorTest::testBadPieceLength()
SharedHandle<ChunkChecksum> c = e->chunkChecksum;
CPPUNIT_ASSERT(!c.isNull());
CPPUNIT_ASSERT_EQUAL((size_t)1024, c->getChecksumLength());
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1, c->getAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getAlgo());
} catch(Exception& e) {
CPPUNIT_FAIL(e.stackTrace());
}
@@ -1004,7 +998,7 @@ void MetalinkProcessorTest::testUnsupportedType_piece()
CPPUNIT_ASSERT(!c.isNull());
CPPUNIT_ASSERT_EQUAL((size_t)1024, c->getChecksumLength());
- CPPUNIT_ASSERT_EQUAL(MessageDigestContext::SHA1, c->getAlgo());
+ CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getAlgo());
} catch(Exception& e) {
CPPUNIT_FAIL(e.stackTrace());
}
diff --git a/test/PieceTest.cc b/test/PieceTest.cc
index f30b9784..d0cea08a 100644
--- a/test/PieceTest.cc
+++ b/test/PieceTest.cc
@@ -1,8 +1,7 @@
#include "Piece.h"
-#ifdef ENABLE_MESSAGE_DIGEST
-# include "messageDigest.h"
-#endif // ENABLE_MESSAGE_DIGEST
+
#include <string>
+
#include <cppunit/extensions/HelperMacros.h>
namespace aria2 {
@@ -66,7 +65,7 @@ void PieceTest::testGetCompletedLength()
void PieceTest::testUpdateHash()
{
Piece p(0, 16, 2*1024*1024);
- p.setHashAlgo(MessageDigestContext::SHA1);
+ p.setHashAlgo("sha-1");
std::string spam("SPAM!");
CPPUNIT_ASSERT(p.updateHash
diff --git a/test/TestUtil.cc b/test/TestUtil.cc
index a8c476eb..493ac80f 100644
--- a/test/TestUtil.cc
+++ b/test/TestUtil.cc
@@ -13,6 +13,10 @@
#include "StringFormat.h"
#include "FatalException.h"
#include "Cookie.h"
+#include "DefaultDiskWriter.h"
+#ifdef ENABLE_MESSAGE_DIGEST
+# include "MessageDigestHelper.h"
+#endif // ENABLE_MESSAGE_DIGEST
namespace aria2 {
@@ -71,4 +75,14 @@ Cookie createCookie
(name, value, expiryTime, true, domain, hostOnly, path, secure, false, 0);
}
+#ifdef ENABLE_MESSAGE_DIGEST
+std::string fileHexDigest
+(const SharedHandle<MessageDigest>& ctx, const std::string& filename)
+{
+ SharedHandle<DiskWriter> writer(new DefaultDiskWriter(filename));
+ writer->openExistingFile();
+ return MessageDigestHelper::hexDigest(ctx, writer, 0, writer->size());
+}
+#endif // ENABLE_MESSAGE_DIGEST
+
} // namespace aria2
diff --git a/test/TestUtil.h b/test/TestUtil.h
index 3ac0ec9e..1dd010ee 100644
--- a/test/TestUtil.h
+++ b/test/TestUtil.h
@@ -2,10 +2,13 @@
#include <string>
+#include "SharedHandle.h"
#include "Cookie.h"
namespace aria2 {
+class MessageDigest;
+
void createFile(const std::string& filename, size_t length);
std::string readFile(const std::string& path);
@@ -39,4 +42,10 @@ Cookie createCookie
const std::string& path,
bool secure);
+#ifdef ENABLE_MESSAGE_DIGEST
+// Returns hex digest of contents of file denoted by filename.
+std::string fileHexDigest
+(const SharedHandle<MessageDigest>& ctx, const std::string& filename);
+#endif // ENABLE_MESSAGE_DIGEST
+
} // namespace aria2
diff --git a/test/UTMetadataDataExtensionMessageTest.cc b/test/UTMetadataDataExtensionMessageTest.cc
index d80bfc7f..b8aaca27 100644
--- a/test/UTMetadataDataExtensionMessageTest.cc
+++ b/test/UTMetadataDataExtensionMessageTest.cc
@@ -13,6 +13,7 @@
#include "MockPieceStorage.h"
#include "UTMetadataRequestTracker.h"
#include "bittorrent_helper.h"
+#include "MessageDigest.h"
#include "MessageDigestHelper.h"
namespace aria2 {
@@ -80,7 +81,7 @@ void UTMetadataDataExtensionMessageTest::testDoReceivedAction()
unsigned char infoHash[INFO_HASH_LENGTH];
MessageDigestHelper::digest(infoHash, INFO_HASH_LENGTH,
- MessageDigestContext::SHA1,
+ MessageDigest::sha1(),
metadata.data(), metadata.size());
attrs->infoHash = std::string(&infoHash[0], &infoHash[20]);
dctx->setAttribute(bittorrent::BITTORRENT, attrs);
diff --git a/test/UTMetadataPostDownloadHandlerTest.cc b/test/UTMetadataPostDownloadHandlerTest.cc
index 0b5239a9..b1f4641a 100644
--- a/test/UTMetadataPostDownloadHandlerTest.cc
+++ b/test/UTMetadataPostDownloadHandlerTest.cc
@@ -12,8 +12,10 @@
#include "PieceStorage.h"
#include "DiskAdaptor.h"
#include "util.h"
+#include "MessageDigest.h"
#include "MessageDigestHelper.h"
#include "prefs.h"
+#include "RecoverableException.h"
namespace aria2 {
@@ -73,7 +75,7 @@ void UTMetadataPostDownloadHandlerTest::testGetNextRequestGroups()
"6:pieces60:AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCe";
unsigned char infoHash[20];
MessageDigestHelper::digest
- (infoHash, sizeof(infoHash), MessageDigestContext::SHA1,
+ (infoHash, sizeof(infoHash), MessageDigest::sha1(),
reinterpret_cast<const unsigned char*>(metadata.data()), metadata.size());
dctx_->getFirstFileEntry()->setLength(metadata.size());
SharedHandle<TorrentAttribute> attrs(new TorrentAttribute());