|
@@ -16,9 +16,9 @@ using namespace std;
|
|
|
class DefaultBtAnnounceTest:public CppUnit::TestFixture {
|
|
|
|
|
|
CPPUNIT_TEST_SUITE(DefaultBtAnnounceTest);
|
|
|
- CPPUNIT_TEST(testIsDefaultAnnounceReady);
|
|
|
CPPUNIT_TEST(testGetAnnounceUrl);
|
|
|
CPPUNIT_TEST(testNoMoreAnnounce);
|
|
|
+ CPPUNIT_TEST(testIsAllAnnounceFailed);
|
|
|
CPPUNIT_TEST_SUITE_END();
|
|
|
private:
|
|
|
MockBtContextHandle _btContext;
|
|
@@ -71,20 +71,14 @@ public:
|
|
|
delete _option;
|
|
|
}
|
|
|
|
|
|
- void testIsDefaultAnnounceReady();
|
|
|
void testGetAnnounceUrl();
|
|
|
void testNoMoreAnnounce();
|
|
|
+ void testIsAllAnnounceFailed();
|
|
|
};
|
|
|
|
|
|
|
|
|
CPPUNIT_TEST_SUITE_REGISTRATION(DefaultBtAnnounceTest);
|
|
|
|
|
|
-void DefaultBtAnnounceTest::testIsDefaultAnnounceReady() {
|
|
|
- DefaultBtAnnounce btAnnounce(_btContext, _option);
|
|
|
-
|
|
|
- CPPUNIT_ASSERT(btAnnounce.isDefaultAnnounceReady());
|
|
|
-}
|
|
|
-
|
|
|
void DefaultBtAnnounceTest::testNoMoreAnnounce()
|
|
|
{
|
|
|
string trackerURI1 = "http://localhost/announce";
|
|
@@ -139,6 +133,8 @@ void DefaultBtAnnounceTest::testNoMoreAnnounce()
|
|
|
CPPUNIT_ASSERT_EQUAL(string("http://backup/announce?info_hash=%01%23Eg%89%ab%cd%ef%01%23Eg%89%ab%cd%ef%01%23Eg&peer_id=%2daria2%2dultrafastdltl&uploaded=1572864&downloaded=1310720&left=1572864&compact=1&key=AAAAAAAA&numwant=0&no_peer_id=1&port=6989&event=stopped"), btAnnounce.getAnnounceUrl());
|
|
|
|
|
|
btAnnounce.announceSuccess();
|
|
|
+
|
|
|
+ CPPUNIT_ASSERT(btAnnounce.noMoreAnnounce());
|
|
|
}
|
|
|
|
|
|
void DefaultBtAnnounceTest::testGetAnnounceUrl()
|
|
@@ -175,3 +171,43 @@ void DefaultBtAnnounceTest::testGetAnnounceUrl()
|
|
|
|
|
|
CPPUNIT_ASSERT_EQUAL(string("http://localhost/announce?info_hash=%01%23Eg%89%ab%cd%ef%01%23Eg%89%ab%cd%ef%01%23Eg&peer_id=%2daria2%2dultrafastdltl&uploaded=1572864&downloaded=1310720&left=1572864&compact=1&key=AAAAAAAA&numwant=0&no_peer_id=1&port=6989&event=stopped"), btAnnounce.getAnnounceUrl());
|
|
|
}
|
|
|
+
|
|
|
+void DefaultBtAnnounceTest::testIsAllAnnounceFailed()
|
|
|
+{
|
|
|
+ string trackerURI1 = "http://localhost/announce";
|
|
|
+ Strings uris1;
|
|
|
+ uris1.push_back(trackerURI1);
|
|
|
+ AnnounceTierHandle announceTier1 = new AnnounceTier(uris1);
|
|
|
+
|
|
|
+ string trackerURI2 = "http://backup/announce";
|
|
|
+ Strings uris2;
|
|
|
+ uris2.push_back(trackerURI2);
|
|
|
+ AnnounceTierHandle announceTier2 = new AnnounceTier(uris2);
|
|
|
+
|
|
|
+
|
|
|
+ _btContext->addAnnounceTier(announceTier1);
|
|
|
+ _btContext->addAnnounceTier(announceTier2);
|
|
|
+
|
|
|
+ DefaultBtAnnounce btAnnounce(_btContext, _option);
|
|
|
+ btAnnounce.setPieceStorage(_pieceStorage);
|
|
|
+ btAnnounce.setPeerStorage(_peerStorage);
|
|
|
+ btAnnounce.setBtRuntime(_btRuntime);
|
|
|
+ btAnnounce.setRandomizer(new FixedNumberRandomizer());
|
|
|
+ btAnnounce.generateKey();
|
|
|
+
|
|
|
+ CPPUNIT_ASSERT_EQUAL(string("http://localhost/announce?info_hash=%01%23Eg%89%ab%cd%ef%01%23Eg%89%ab%cd%ef%01%23Eg&peer_id=%2daria2%2dultrafastdltl&uploaded=1572864&downloaded=1310720&left=1572864&compact=1&key=AAAAAAAA&numwant=50&no_peer_id=1&port=6989&event=started"), btAnnounce.getAnnounceUrl());
|
|
|
+
|
|
|
+ btAnnounce.announceFailure();
|
|
|
+
|
|
|
+ CPPUNIT_ASSERT_EQUAL(string("http://backup/announce?info_hash=%01%23Eg%89%ab%cd%ef%01%23Eg%89%ab%cd%ef%01%23Eg&peer_id=%2daria2%2dultrafastdltl&uploaded=1572864&downloaded=1310720&left=1572864&compact=1&key=AAAAAAAA&numwant=50&no_peer_id=1&port=6989&event=started"), btAnnounce.getAnnounceUrl());
|
|
|
+
|
|
|
+ btAnnounce.announceFailure();
|
|
|
+
|
|
|
+ CPPUNIT_ASSERT(!btAnnounce.isAnnounceReady());
|
|
|
+ CPPUNIT_ASSERT_EQUAL(string(""), btAnnounce.getAnnounceUrl());
|
|
|
+ CPPUNIT_ASSERT(btAnnounce.isAllAnnounceFailed());
|
|
|
+
|
|
|
+ btAnnounce.resetAnnounce();
|
|
|
+
|
|
|
+ CPPUNIT_ASSERT(!btAnnounce.isAllAnnounceFailed());
|
|
|
+}
|